4 ms·
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
by meddlepal 11y ago
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.
- noelwelsh 11y agoWhen 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/ http://underscore.io/training/courses/essential-scala/). I also strongly believe Scala has been held back by poor teaching.
- pjmlp 11y agoIt 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.