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.
This is more of a rant than a thought, and much substance is left out where it would be important to provide. It's obvious for which language the author is rooting, while largely dismissing the rest.
Not recommended.
I understand the article comes from scala-academy, but I think by offering a more objective viewpoint of different languages and the standards they impose, scala can show what niche they provide. I don't believe it is the niche of "Everyone is hiring a Scala programmer", but it should be (quoted from the article) "...implicits, underscore notation, flexible imports, multiple classes per file, multi-line strings, pattern matching, traits with variables, etc." If this article was about these points, with relations to other languages, that could be some quality content!
For everything else, either the article misrepresented other languages, or simply remained apathetic to their application.
"Is that supposed to convince me to use this in the industry, and apply my time?" I say in the article: «- Does this mean that I should use Scala? Can you get a job you like programming Scala? If so, then: yes! (Otherwise, unless you're rich, you need to pay your bills...)» If don't think you can get a job programming Scala (because of where you live, or another reason) I explicitly say you shouldn't learn it! :)
But the rate at which Scala jobs are becoming available is relevant: I don't care if there are 200 Java jobs near me, as long as there are 3 or 4 Scala ones. As long as I have a Scala job, I don't care if the other companies are programming something else. If you can't get a Scala job - again: it's probably best to not even to take the time to learn it.
As an engineer, I have to say I don't like what is going on here, what's the point in tossing academics, mathematicians and engineers aside? Many software fields, such as artificial intelligence or machine learning, benefit from the use of Matlab or R language. And of course, these are for Math stuff - I usually come to HN to read less obvious things.
Using R to build an accounting system wouldn't be that silly if there are heavy statistics to tackle. You can do mixed Java/R, R can be used in its domain. And BTW, it'd be much simpler to use Java for an accounting system than using Scala.
There are excellent reasons for rejecting FORTRAN, maybe Delphi too, but dynamic typing isn't one of them.
EDIT for afterthought (sorry):
I also don't see the basis for rejecting Go as "low-level like C" while singing the praises of Java - Go is not far, conceptually, from Java without generics, i.e. maybe Java 6, with a few useful new ideas, like the channel-based concurrency model and interface embedding instead of class inheritance thrown in.
I respect that you have an opinion, but your reasoning is disingenuous at best and idiotic at worst.
Some languages are worth knowing even if you mostly use other languages, because of the way they change your way of thinking.
Also, this article sounds like it's not entirely serious?
And I agree, it is not that simple, but only if you take other factors into account.