3 ms·
I'd like to add one to the "Cons" list. This language is even bigger and more complicated than C++. If that doesn't scare you, I don't know what will.
by jamesaguilar 16y ago
I'd like to add one to the "Cons" list. This language is even bigger and more complicated than C++. If that doesn't scare you, I don't know what will.
- samstokes 16y agoThis is sort of true in theory, but not in practice. Scala is actually a pretty pragmatic and - for what you actually need in practice - conceptually simple language. In many ways it's simpler than Java. It does have a powerful type system, and people do bizarre and unnatural things with it, but unless you're trying to do those things the complexity doesn't come into play. (That's an interesting contrast with C++, where in theory all its features were designed to be orthogonal so that you don't need to know about exceptions or templates unless you're using them, but in practice in any nontrivial codebase you'll spend days staring at screenfuls of incomprehensible STL errors.)
- hvs 16y agoIt's not even remotely close to as complicated as C++.
- henning 16y agoIt's actually smaller and simpler than Java or C++ as far as I know. It's designed to have fewer edge cases and employ a smaller number of powerful features instead of many less-expressive ones. It's interesting that you use the word "scare." It's a computer language. What's there to be afraid of?
- nimrody 16y agoWith great power and complexity comes great responsibility. Not many people can write decent C++ programs given the complexity of the language. It's pretty easy to abuse the power and write horrible code. Currently Scala is less affected, since there are not many users at this pont. I'd say this group consists of more sophisticated users, too.
- jamesaguilar 16y ago> It's interesting that you use the word "scare." It's a computer language. What's there to be afraid of? I guess you haven't read very much C++ code. :P With respect to the intent of its design versus the outcome, I can think of a few things that have been difficult for me in my playing with Scala. Implicit parameters, type parameters in general, especially the <: and >: operators, and some things like :/ and Ordering.by have confounded me quite a bit. The limited nature of its point-free style is also kind of difficult to get in -- IMO, they should have left that out entirely because two ways to do something is often worse than one. The distinction between = and = { at the end of method declarations, when you do and don't have to put parens on a no-arg method, and various other little quirks of the syntax are also a little annoying. Don't get me wrong. I'd far rather program in Scala than C++ on a day to day basis. But, it seems quite large to me. It's a subjective measure, but that's my assessment as a professional C++ programmer and a beginner Scala programmer.
- harryh 16y agoAs the guy who decided to use scala @ foursquare I am admittedly biased, but I very strongly disagree with this statement. I find scala to be on par w/ Java in terms of complexity (more complex in some areas, more consistent in others).