handouts/scala-ho.tex
changeset 231 47bcc2178f4e
parent 230 0fd668d7b619
child 232 2c512713f08a
--- 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}