diff -r b37052895281 -r 37b1bfcdba79 handouts/scala-ho.tex --- a/handouts/scala-ho.tex Fri Jan 19 14:09:08 2018 +0000 +++ b/handouts/scala-ho.tex Fri Feb 23 22:26:42 2018 +0000 @@ -15,21 +15,23 @@ \section*{A Crash-Course on Scala} Scala is a programming language that combines functional and -object-oriented programming-styles. It has received quite a -bit of attention in the last five years or so. One reason for -this attention is that, like the Java programming language, -Scala compiles to the Java Virtual Machine (JVM) and therefore -Scala programs can run under MacOSX, Linux and -Windows.\footnote{There are also experimental backends for -Android and JavaScript; and also work is under way to have a -native compiler, see \url{https://github.com/scala-native/scala-native}.} Unlike Java, however, Scala often -allows programmers to write very concise and elegant code. -Some therefore say: Scala is the much better Java. A number of -companies, The Guardian, Twitter, Coursera, FourSquare, -LinkedIn to name a few, either use Scala exclusively in -production code, or at least to some substantial degree. It -also seems to be useful in job-interviews (in Data Science) -according to this annectotical report +object-oriented programming-styles. It has received quite a bit of +attention in the last five or so years. One reason for this attention +is that, like the Java programming language, Scala compiles to the +Java Virtual Machine (JVM) and therefore Scala programs can run under +MacOSX, Linux and Windows.\footnote{There are also experimental + backends for Android and JavaScript; and also work is under way to + have a native compiler, see + \url{https://github.com/scala-native/scala-native}.} Unlike Java, +however, Scala often allows programmers to write very concise and +elegant code. Some therefore say: ``Scala is the better +Java''.\footnote{\url{https://www.slideshare.net/maximnovak/joy-of-scala}} +Also a number of companies (the Guardian, Twitter, Coursera, +FourSquare, LinkedIn to name a few) either use Scala exclusively in +production code, or at least to some substantial degree. Scala seems +also to be useful in job-interviews (in Data Science) according to +this anecdotal report + \begin{quote} \url{https://techcrunch.com/2016/06/14/scala-is-the-new-golden-child/} @@ -50,6 +52,18 @@ \url{http://scala-ide.org/download/sdk.html} \end{quote} +\noindent +When developing Scala programs, I personally prefer to use Emacs +or Sublime as my environment, since they provide an easy access +to the Scala REPL (see below). But it is also possible to work +completely on the command line and also with heavy-duty IDEs +like Eclipse of IntelliJ. There is even an online editor and +environment for developing Scala programs called ScalaFiddle + +\begin{quote} +\url{https://scalafiddle.io} +\end{quote} + Why do I use Scala in the AFL module? Actually, you can do \emph{any} part of the coursework in \emph{any} programming language you like. I use Scala for showing you code during the