5 ms·
I find this incredibly sad. Plenty great products/languages have died because of poor documentation, poor respect for beginners. Yet... here the Scala communit
by pm24601 10y ago
I find this incredibly sad. Plenty great products/languages have died because of poor documentation, poor respect for beginners.
Yet... here the Scala community is... repeating the past and justifying with the same reasons.
I personally only spend time learning a new language when:
1. I can get employed because I know it. (example: python)
2. It is easy to pick up and learn. (example: arduino )
3. It solves a problem I must solve ( perl/bash scripting )
Scala doesn't meet any of the above criteria.
- dudul 10y agoThere are a lot of Scala jobs. And they usually pay much better than Python jobs. Not discussing your 2 other points since they are pretty subjective.
- tormeh 10y agoIf you can program Java you can program Scala. You can't write good Scala code, but that (hopefully) comes with time. Scala solves the same problems Java does, just better. And there are lots of jobs for Scala. Not as many as there are for Java or Python, but maybe as many as for Ruby? I'm not sure exactly.
- bsder 10y ago> If you can program Java you can program Scala. Clojure would probably be my choice nowadays rather than Scala. Clojure has a great community and is a good counter example to the Lisper's whining that the syntax is what keeps people away. If I truly needed Actor stuff for performance, I'm probably going leave the JVM and reach for Erlang anyway.
- the_af 10y agoClojure is great, but the more natural progression is from Java to Scala, not to Clojure, if only because you can program in Scala as if it were Java++. You won't write the best Scala, but it will work and you can look at it as "Java with weird syntax". Going from Java to Clojure requires a major mental shift :)
- pjmlp 10y agoThat depends a lot on the background of each developer. My introduction to FP was via Caml Light, SML and Lisp, so either Scala or Clojure are approachable to me. I don't use any professionally, as our customers only do standard Java and C# projects, but among the programming languages I dabble when travelling, I tend to play more with Clojure than Scala.
- the_af 10y agoSure, but it goes without saying that Caml/SML/Lisp -> Clojure is more straightforward. This is Java to Scala, which is relatively painless and doesn't require a major mental shift early on (though of course you'll need it eventually). Any Lisp variant does require a mental shift, unless of course you already knew a Lisp! Which, in my experience, is not the case with most Java programmers.
- pjmlp 10y agoDepends where people learned Java I guess. Since I have always worked in companies where you don't get through HR without a degree in computing related areas, I always ended up working with Java developers that do know multiple programming languages. But I guess it is indeed a problem for those that are self taught.
- bsder 10y ago> Clojure is great, but the more natural progression is from Java to Scala, not to Clojure, if only because you can program in Scala as if it were Java++. The problem is that I can program Java as Java++. Java 1.8 still has its warts, but are they worth the shift to Scala? Maybe? But it would really have to be a compelling reason. For example, people still often don't know about java.util.concurrent. 99% of their concurrency problems could be solved simply by grabbing the correct data structure out of there. If they can't be bother to know something as easy as that, what real hope do I have of them really using Scala well?
- the_af 10y ago
- tormeh 10y ago>If I truly needed Actor stuff for performance, I'm probably going leave the JVM and reach for Erlang anyway. Erlang has a kind of narrow use case though. It's pretty much only useful if you really need the low-latency high-availability actor model. It's amazing for that but not for much else. Elixir fixes some of the warts, though. Scala is a truly versatile language, being able to replace Python, Java and Erlang, and inheriting most of the strengths of those. Btw, Scala has all of the major concurrency primitives (STM, futures, actors, mutex etc.) and doesn't dictate you use any of those.
- pm24601 10y ago... except that Scala devs have made the learning curve steep.
- cutler 10y agoLots of jobs for Scala? I'm not sure about that. Scala is a bit like Rails, at least here in the UK, where about 80% of the available jobs are in London. Step outside the capital and it's almost non-existent. Search Indeed.co.uk by job title and you'll find Java:Scala is 5:1 in London and 24:1 in the rest of the UK. Java:Scala job ratios in other countries are even worse: USA 29:1, Netherlands 19:1, Canada 33:1, Germany 46:1, France: 93:1, India 113:1, China 1639:1, So I think it's fair to say that, with the exception of the London financial sector, Scala hasn't really made a difference to the dominance of Java in industry.
- allengeorge 10y agoI think those jobs are concentrated in the financial sector and in big-data processing (almost completely due to Spark).