EDIT: well, at least the author states it is an "100% Opinionated View". And I finally read it all, but still not very convincing.
And this comment is also an "100% Opinionated View" of course :)
EDIT: well, at least the author states it is an "100% Opinionated View". And I finally read it all, but still not very convincing.
And this comment is also an "100% Opinionated View" of course :)
Well, it is my opinion in fact, and that's why it says a "%100 opinionated view" in the subtitle.
There are many other persons with the same opinion: http://stackoverflow.com/a/43072/731933 http://blog.jooq.org/2014/12/11/the-inconvenient-truth-about... http://www.teamten.com/lawrence/writings/java-for-everything...
If we were to discuss everything in this article, starting with dynamic vs static typing, we'd still be here 3 months from now :). Which is why it is opinionated.
At the very least you should address the implications of strong vs. weak typing, and you should probably address the strength and nature of the type systems, also. After all, saying that both C and Haskell are statically largely misses the point.
I was weary when I saw the headline but clicked it to see if I could learn something new.
The article seems written for newbie programmers (HTML/CSS in a programming language list? seriously? And who is, nowadays,seriously considering fortran for a new project?) and have them believe a series of opinions.
Like the cartoon at the beginning, it seems like the author is just another lemming calling for other lemmings to follow him.
[EDIT] Finished the article. It is a blatant advertisement for Scala. The support for Java sounds so false that, if Scala didn't use the JVM is would be discarded like the other languages.
To choose a language you need to make a decision based on the project first, not the language's features. The language should match the project. How big is the project? Where/how will it be deployed/run? Is performance a concern? How long should the development take? Does it have special needs? (concurrency, parallelism, 3D grphics, real-time, etc...).
I just googled "programming languages you should learn" - 3rd result: http://www.sitepoint.com/whats-best-programming-language-lea... ("What’s the Best Programming Language to Learn in 2015?") 4th "Programming Language" is...: CSS! You know that's nonsense, but a newbie doesn't
I like Scala, but the features I like in it, eg pattern matching or tail recursion, these things don't even exist in this article.
So I'm not sure it's advertisement, it feels more like it's an anti-ad, actually. If the argument for me to use a language is that it is statically typed, man, that language must not be good at all! Static or dynamic typing is part of language philosophy, it makes sense to have dynamic typing in Python, as it makes sense not having it in Java. Python philosophy is pretty coherent, productive and fun, and dynamic typing is a part of that. It just doesn't feel like a reasonable argument.
Only in situations where other effects outweigh the fact that compile-time errors are much less bad than run-time errors.