diff -r 45557ad18ea6 -r b6cb302633eb slides/slides01.tex --- a/slides/slides01.tex Thu Nov 10 04:02:45 2016 +0000 +++ b/slides/slides01.tex Thu Nov 10 10:40:05 2016 +0000 @@ -79,11 +79,14 @@ \frametitle{Why Scala?} \begin{itemize} -\item compiles to the JVM (also JavaScript, X86)\medskip +\item compiles to the JVM\\ (also JavaScript, native X86 in the works)\medskip \item integrates seamlessly with Java\medskip -\item combines {\bf functional} and {\bf object-oriented} programming\medskip -\item allows often to write more elegant code -\end{itemize} +\item combines \underline{\bf functional} and {\bf object-oriented} programming\bigskip +\item often one can write very concise and elegant code +\end{itemize}\bigskip\medskip + +\small +alternatives: Elm, Haskell, Ocaml, ML, Lisp (Racket), \ldots \end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -95,31 +98,45 @@ {\lstset{language=java}\fontsize{12}{12}\selectfont \texttt{\lstinputlisting{Point.java}}} +\rule{11cm}{0.3mm}\\[-2mm] + {\lstset{language=scala}\fontsize{12}{12}\selectfont \texttt{\lstinputlisting{Point.scala}}} \begin{textblock}{6}(13,3) \textbf{\large Java} -\end{textblock} +\end{textblock} + -\begin{textblock}{6}(13,13.2) + +\begin{textblock}{6}(13,13.4) \textbf{\large Scala} \end{textblock} \end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{frame}[c] +\frametitle{Scala Tools} +\begin{itemize} +\item there is a plugin for Eclipse (called Scala IDE)\medskip +\item there is also a plugin for IntelliJ\bigskip +\item I use the venerable Emacs ;o) +\end{itemize} + +\end{frame} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{frame}[c] \frametitle{Types} \begin{itemize} -\item Base types +\item Base types\smallskip - \begin{center} - \begin{tabular}{l} + \begin{tabular}{@{}l@{}} \textcolor{codegreen}{\texttt{Int}}, \textcolor{codegreen}{\texttt{Long}}, \textcolor{codegreen}{\texttt{BigInt}}, @@ -129,12 +146,10 @@ \textcolor{codegreen}{\texttt{Char}}\\ \textcolor{codegreen}{\texttt{Boolean}} \end{tabular} - \end{center} -\item Compound types +\item Compound types \smallskip - \begin{center} - \begin{tabular}{ll} + \begin{tabular}{@{}ll@{}} \textcolor{codegreen}{\texttt{List[Int]}} & lists of Int's \\ \textcolor{codegreen}{\texttt{Set[Double]}} & sets of Double's \\ \textcolor{codegreen}{\texttt{(Int, String)}} & Int-String pair\\ @@ -143,7 +158,6 @@ & pairs\\ \textcolor{codegreen}{\texttt{List[List[Int]]}} & list of lists of Int's\\ \end{tabular} - \end{center} \end{itemize} @@ -188,9 +202,6 @@ \end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{frame}[c] @@ -204,6 +215,29 @@ \end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{frame}[c] +\frametitle{Conclusion} + +\begin{itemize} +\item Scala is still under heavy development\\ (the compiler is terribly slow)\medskip +\item {\bf\url{http://www.scala-lang.org/}}\bigskip +\item it is a rather \textbf{\alert{deep}} language\ldots i.e.~gives you a lot of + rope to shoot yourself\bigskip\bigskip + +\item hope you have fun with the coursework +\end{itemize} +\end{frame} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{frame}[c] +\frametitle{\begin{tabular}{c}\\[3cm]\alert{Questions?}\end{tabular}} + +\mbox{} +\end{frame} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\end{document} \end{document}