3 ms·
Ugh, I'm tired of mandatory "OOP for dummies" a la Java (and C# to a lesser degree). I've been programming since the early 80s, and I have been exposed to more
by Roboprog 10y ago
Ugh, I'm tired of mandatory "OOP for dummies" a la Java (and C# to a lesser degree). I've been programming since the early 80s, and I have been exposed to more than just Javascript, or Java/C# for that matter. (BASIC, Fortran, Pascal, Lisp, some assembler, xBASE, C, some C++, Shell, Perl, Java, C#, Ruby, Javascript, some Python, some Objective C, some Scala, Groovy and smatterings of other proprietary / DSLs)
My first job in the mid 80s was in a language with runtime typing. My experience is that "strong" (compile/parse time) typing is not the panacea that many say it is. I've seen far more damage caused by C style "operator precedence stew" issues (vs Lisp style all funcs w/ parens). It's like the Type Police have to punish us for the dark era of C/++ Play-dough Pumper byte molding the industry had to put itself through in the 90s.
In fact, I would much rather see a language that forced modules/data/functions to be flagged which were not immutable/idempotent (which should be an enforced default), rather than an even-trade-at-best static type feature. Yes, that means your "main" would be flagged as "dirty", so it could do I/O, but your library modules (lang; 3rd party; app) would mostly be pure functions.
Anyway, I much prefer dynamic (runtime) types and FP with an occasional dash of OOP style Javascript to the "Let's be like Java!" cult. As Douglas Crockford likes to say "Those people will go to their graves, never knowing how miserable they are". Ironic, considering how the coming holy grail of ADTs/Objects was beaten into us in Uni in the 80s, and FP all but ignored.
- Roboprog 10y agoAs long as I'm peeving at length about the Java meme plague, I wish the whole MashedUpCamelCraps identifier style would just die, already, vs you_can_skim_this style.