News for hackers. Stuff that matters.
Re:Scala: The Industrial Parts [pdf] by noelwelsh on Monday June 15, 2015 @01:15AM (#9717631)
To be honest I was a bit disappointed by this presentation. I think Scala can be very simple -- at least 95% of the abstractions I use are just algebraic data types and type classes -- but this presentation didn't provide much clarity on "good" Scala beyond the usual pithy statements (e.g. "prefer composition over inheritance.") Beginners need very clear guidelines as they don't have the experience to make nuanced decisions.

Furthermore I found "Effective Scala" to be rather random in its presentation. I've found it much more effective to concentrate on the core Scala patterns (i.e. algebraic data types, type classes) and present language features in the context of the patterns they support.

Re:Scala: The Industrial Parts [pdf] by meddlepal on Monday June 15, 2015 @01:56AM (#9717736)
I think you've already lost most programmers when you even mention the words 'alegbraic data types' or 'type classes'. Devs on HN and /r/programming know those words (or many do), but in industry... good luck.

I get blank stares and even hostility sometimes from very competent engineers when I try to explain the Java type system is not the end-all be-all of type systems and that it is in fact... not all that powerful or particularly safe either.

Re:Scala: The Industrial Parts [pdf] by noelwelsh on Monday June 15, 2015 @02:08AM (#9717761)
When teaching Scala I wouldn't start with the jargon first -- start from the problem, show the solution, then name the patterns used. When teaching algebraic data types, for example, we start with more familiar OO terminology like "is-a" and "has-a", and then say we have this other name for these patterns.

To be clear, I have a horse in this race: I teach Scala (and have written a book on it, which you can find here: http://underscore.io/training/courses/essential-scala/). I also strongly believe Scala has been held back by poor teaching.

Re:Scala: The Industrial Parts [pdf] by pjmlp on Monday June 15, 2015 @04:10AM (#9718088)
It depends on the country.

For example, in Portugal many companies do require a CS or EE degree, which means everyone has been exposed to those terms, at least if they enjoyed a degree in universities like IST, UNL/FCT, UC and similar.

Just as an example, back on my day, the Prolog and LP classes were shared between CS and EE degrees.