For truly widespread adoption, I'm talking PHP or Java levels, you need to have a totally different mindset. I don't think Scala is that language.
For truly widespread adoption, I'm talking PHP or Java levels, you need to have a totally different mindset. I don't think Scala is that language.
I'm not sure if that's Scala's fault or Scalatra or SBT, but no matter how I sliced it, as of 9 months ago or so, Scala didn't feel amazing to develop code in. Everything felt a bit clunky. The code itself I loved, but the way I got there felt worse.
Surprisingly when I tried Go, it was a much better developer experience in terms of the near instant compile, refresh, see change loop and also running tests was nearly instant. The "instant" feeling I get in PHP and Ruby was there, but in a compiled language. However, in Go, I don't have some of the functional and immutable concepts that I have in Scala, which sort of sucks.
At the end of the day I'm making tradeoffs somewhere and it doesn't feel awesome anywhere. I might check out Facebook's Hack simply because it offers type checking, performance, and fast refresh. Also maybe the latest .NET stuff announced with continuous compile might bridge the gap for C#. I really don't know.
I have yet to find the language that really feels amazing as a developer in sort of all areas. Every language seems to have baked in tradeoffs.
Also I love IntelliJ or Netbeans both a lot more than Eclipse.
I'm sure there is a Java dev experience that is pretty great, especially if you can pull in some of the functional things from Java 8 and maybe immutable things from guava. I haven't tried that.
I have tried Kotlin and I enjoyed playing with it in IntelliJ, though I haven't done anything beyond project euler problems and some JUnit testing.
- how easy is it to understand this language
- how quickly can i do something useful in it?
PHP -> It made it trivial to make active webpages, something that was a disaster in other languages until recently. Do you even remember perl cgi-bin?
Java -> provided a realistic replacement for C++.
BASIC -> People go could from 0 to program nearly instantly.
The "good vs bad" you hint at just doesn't really register on this scale.
I started out with ASP2 BTW so I managed to skip cgi.
I wouldn't argue that Scala is going to be The Next Big Thing. I think the industry is large enough that there isn't going to be one. At least not for web development. Everyone prioritizes something different.
I find Scala a really consistent language though. Which fits my own personal definition of "simple" well enough. Much more so than say, Ruby. Where even "truthiness" is somehow a vague concept.
The underscore in Scala for example is, when you grok it, actually a really simple concept. So is map/flatMap/filter. So for-comprehensions. And Extractors/Pattern-Matching. It's all a bunch of orthogonal, simple features that together are greater than the sum of their parts.
IMO.
Depending on if you've run into the issues Paul Phillips highlights in scala.collections you might find some fault there. I haven't personally beyond the fact that for me, CBF might as well imply a sealed class and custom collections are something I tend to avoid (that wasn't true of c#).
That's a tangent though I suppose. Just the same, the argument was features as a prerequisite for timing. And while there's some obvious truth in that, considering previous examples, just about any modern language would meet that challenge.
I know it's a common complaint, it's just one that's never impacted me in the real world. Never comes up.
Anyway,it's great Scala choosed the JVM because it can be part of the stack of any business that already relies on it.That's what matters IHMO.If it is not fit,one can still switch back to java and still use the jar developped in scala or exploit java libs.
Mass market programming languages are built on the back of "non serious engineers" as you call it. PHP is big because it is legible and works for literally 10 million "not serious PHP engineers".
Ridiculing the funnel of people into engineering is insane. This comment alone is the reason why 50 women didn't go into CS this week.
It has been proven that anxiety about not "knowing enough" or being "good enough" at programming is keeping women out of CS. By segregating students into ability levels, one college was able to get enrollment up to 42% in CS:
http://www.bloomberg.com/video/76028566-harvey-mudd-presiden...
Considering how important programming is becoming, how many aspects of our lives are ALREADY controlled by code, your "suited for another field of endeavor" comment just makes no sense.