# HG changeset patch # User Christian Urban # Date 1409154023 -3600 # Node ID 47bcc2178f4ed2424b5b47d20b91ce56e1856c23 # Parent 0fd668d7b6191f0cb649dd23248350b39569be28 updated diff -r 0fd668d7b619 -r 47bcc2178f4e handouts/scala-ho.pdf Binary file handouts/scala-ho.pdf has changed diff -r 0fd668d7b619 -r 47bcc2178f4e handouts/scala-ho.tex --- a/handouts/scala-ho.tex Wed Aug 27 16:11:32 2014 +0100 +++ b/handouts/scala-ho.tex Wed Aug 27 16:40:23 2014 +0100 @@ -898,7 +898,41 @@ \subsection*{More Info} +There is much more to Scala, then I can possibly describe +here. There are a number of free books about Scala and of +course lots of help online. +While I am quite enthusiastic about Scala, I am happy to admit +that it has more than a fair share of faults. The problem of +having to give an explicit type to {\tt toSet}, but not {\tt +toList} is one of them. There are also many ``deep'' things +about types in Scala, which even to me seasoned functional +programmer are puzzling. While implicits are great, they +can also be a source of great head-aches, for example + +\begin{quote} +\begin{alltt} +scala> List (1, 2, 3) contains "your mom" +res1: Boolean = false +\end{alltt} +\end{quote} + +\noindent This should raise a typing-error, but it does not. + +While Scala has been a success in several high-profile +companies, there is also a company, Yammer, which first used +Scala in their production code but then moved away from it. +According to Wikipedia, they did not like steep learning curve +of Scala and also that new versions of Scala often introduced +incompatibilities. + +So all in all, Scala might not be a great teaching +language, but I hope this is mitigated by the fact that I +never require from you to write any Scala code. You only +need to be able to read it. In the coursework you can use +any programming language you like. If you want to use +Scala for this, be my guest; if you do not, stick with the +language you are most familiar with. \end{document}