4 ms·
Scala is the best language out there today for general purpose programming, FULLSTOP. Many people complain about the complexity of Scala, or how many features
by auggierose 13y ago
Scala is the best language out there today for general purpose programming, FULLSTOP.
Many people complain about the complexity of Scala, or how many features it has, etc. Yes, there are some odd features (I am looking at you, native XML support), but these are features I NEVER use. Just learn the fucking type system (it's not that hard, all you need to understand for most of your coding is [A], [+A] and [A <: B] and you are set) and stick to the features you like / understand.
To those who praise the purity of Clojure: That is nice, but comes with a high prize. For example that you have to wait for something like Clojure.Typed, which is already a non-issue with Scala, because Scala comes with BATTERIES INCLUDED. Complaining that Scala has too many features is like complaining that Clojure has too many libraries.
- lawn 13y agoUsing capslock will surely make your point come across better, or not. Complaining that Scala has too many features is like complaining that C++ has too many features, which is a valid complaint.
- auggierose 13y agoC++ is a dangerous and unsafe language, so you need to be aware of every little detail. That's why many features in C++ are a problem. Scala runs on the JVM. That and the saner design of Scala makes it much safer to code in Scala than in C++, and what you don't know in Scala, usually doesn't hurt you. By the way, I didn't use capslock, I used shift.
- icebraining 13y agostick to the features you like / understand. Doesn't that only work if you're coding in isolation from bottom up? As soon as you include some library or start collaborating with someone who likes a different subset, you can't simply stick to what you know.
- auggierose 13y agoThat might be a good point. You should come to an understanding with your collaborators on the subset you code in. That may be more difficult in an open-source setting. BUT: This is even exaggerated in Clojure, where you are forced to learn all the little libraries your collaborators use...
- laureny 13y ago> Scala is the best language out there today for general purpose programming, FULLSTOP. You have a very narrow view of what makes a good general purpose programming, it's not just about its syntax and its type system. Scala suffers from a lot of hurdles that make it awkward to use in production and which lessen its productivity: - IDE support, still very shaky, each new version of the plugin adding new features and breaking old ones, and the plugins randomly refusing to work now and then - Tool support in general (it's sad that the best build tool is sbt, I was hoping we had learned from ant and maven that we can build better build tools) - Slow compilation and getting slower at every release (memories of C++ and template linking) - Backward compatibility still a problem. The compiler is a bit better now but the library story is simply a non starter for most production work - And overall, the overwhelming impression that Scala is to Java what C++ is to C. It's a very big language that keeps getting bigger at each release, despite Typesafe promising they are working to fix that. They also promised that Scala development would no longer be driven by papers published at conferences, but that's a lie as well. Also, some influential Scala people have been leaving Typesafe recently, and not in very good terms (e.g. Paul Philips, who was the guy keeping the releases together). I just have a bad feeling overall about the future of such a language.
- auggierose 13y agoThe IDE support is pretty good, I don't have problems with it. Ask the Clojure people how THEIR IDE support is ... sbt is a great build tool, better than ant or maven, pretty much the best I am aware of for any relevant language. The compilation speed is good enough for me, maybe you should upgrade your hardware. If you have compatibiliy problems, don't move to the new version. Wait until you have your issues fixed. You don't need to upgrade your Scala version immediately just because there is a new one. As to Paul Philips leaving, what was he responsible for, and what were the "bad terms"? I have a really great feeling overall about the future of Scala. This feeling is based on my 20 years programming experience with all sorts of languages, and Scala is the best one out there right now. The IDE support and tooling is far greater than for any other language that comes close to Scala. (When you code in Java, even the greatest tooling in the world will not help your productivity).
- 13y ago
- cgh 13y agoI guess "general purpose" doesn't include embedded (robotics, medical devices, etc.), games, systems programming, telecoms, scientific computing and various other disciplines, FULLSTOP.
- lmm 13y agoNo. Duh. Those are indeed not general purpose programming fields, more or less by definition.