3 ms·
I'm learning Scala for the following three reasons (in increasing order of importance.) These just reflect my current needs, not a prescription for other peopl
by dkarl 17y ago
I'm learning Scala for the following three reasons (in increasing order of importance.) These just reflect my current needs, not a prescription for other people, and all three revolve around my need to add a practical language to my repertoire to reduce my usage of C++ and Java.
3. I decided to learn a language I could use on the Java platform using Java APIs, rather than on the _nix C platform using C APIs. Partly this is a matter of wanting to escape C's shortcomings; partly it's because I have my eye on a couple of upcoming projects at my company for which the Java libraries will be extremely helpful.
2. I want to learn a language that will allow me to use functional idioms and help me learn a more functional style, yet allow me to get the job done even when my functional-fu falls short. I don't want to learn a language that expands my mind but then becomes a fond memory. I hope that for many years to come Scala will be the first language I reach for when I need to get something done on the Java platform.
1. I want to master a modern yet practical language with a strong static type system. I don't do much programming that calls for a dynamic language, and I'm pretty satisfied with Python. I write a lot of code in C++; C++ and Java are the only statically typed languages that I have really mastered, and I'm dissatisfied with both of them.
Runners-up:
Clojure: not statically typed. Maybe my next language after Scala -- I really enjoyed using Common Lisp but hated the library situation.
O'Caml: great for the _nix C platform, but not for Java. Also possibly too pure to be a "go-to" language (heh.)
- jongraehl 17y agoOcaml isn't too pure. It's just weaker in libraries (and has no threading). It's faster than Scala in my experience, but not by more than 50%. I like Scala quite a lot so far. The main pleasure of Haskell or Ocaml over Scala is that they can deduce all your types (even function arguments), whereas Scala supports overloading and can't.
- vikas5678 17y agoI'm learning Scala for the same reasons. I'm also working with my professor on building a scala web framework to do stuff for which Jave EE is usually used. Whatever little I know about Scala, I love.