5 ms·
I like compile time / IDE type checking, so I'm a Scala user. But Rich Hickey is such an amazing guy, steering Clojure, with pragmatic solutions catering to de
by Uchikoma 13y ago
I like compile time / IDE type checking, so I'm a Scala user.
But Rich Hickey is such an amazing guy, steering Clojure, with pragmatic solutions catering to developers while Scala often feels like an exercise in academic language development.
- seanmcdirmid 13y agoAs long as you are hero worshiping, Martin Odersky is an amazing guy also who is quite focused on pragmatic Scala. Ya, scala has lots of features and it does attract more academics, but there is nothing really flimsy ivory tower about it.
- vorg 13y agoIt's important for a programming language to have a technical person leading it. If the language development is managed by a business person without any academic IT background, you end up with smoke and mirrors.
- Uchikoma 13y agoAfter 5yrs of Scala usage, I'm sorry to disagree. Martin might be a very clever guy, but Scala is not catered towards developers but language enthusiasts. From my personal point of view, and everyone else might disagree, it's very slow to compile, has complicated error messages, the API is implemented to be powerful not towards easiness of use etc.
- happy_dino 13y agoI'd love to see a code example!
- seanmcdirmid 13y agoI know Martin, I worked for him 5 years ago. He is like a "hacker's hacker" who deeply understands "programming." Perhaps this doesn't translate very well into "developing," and Scala is a great language for "programmers." We can argue about the trade offs he made, I think Scala represents a reasonable point in the language design space: its not for everyone, but a lot of people like it a lot; it is probably more popular than Clojure (though LISP'ers tend to be more vocal in general). It is definitely not a programming language for language enthusiasts, who tend to be more picky than programmers and developers and usually have their personal esoteric favorites.
- Uchikoma 13y agoHe might be understanding programming, but from an academic background not from managing large business development projects with issues like compilers, tool chains, on-boarding of new team members, turn over, business pressure to cut corners etc. Scala has very different priorities. The top priority of Scala is "power", language features and the holy grail of marrying FP and OO. The priority of Clojure is solve problems. Case in point: The lacking Scala API with a high percentage of method calls not described, not explained and rarely any descriptions of classes. Second case in point: In 2013 Scala is still abysmal slow (several seconds for some classes) when compiling (with SBT compile/JRebel reload or with Play compile/reload). PS: Side note: Not to sound arrogant, but for the perception and spread of the language it is not important what Martin thinks, but in customer development style what my perception as the CTO of a company thinks that might decide between Scala and Clojure.
- happy_dino 13y agoI see that you have made up your mind, but I'd still be very happy to see an actual code example, as mentioned earlier (or even better, a link to a bug ticket :-D).
- seanmcdirmid 13y agoAnd you think Eich, Matz, Guido, Gosling, Pike, Ritchie, Wall, Kay, Wadler, Steele, Gabriel, Anders, Syme, Roberto, Stroustrup all understood the role of programming language in business development projects, whereas Martin didn't? All successful programming languages are designed by people passionate about programming, not software development! The people passionate about software development give us crap like UML. Maybe there is something special and different about Rich Hickey's background that he gave you a language that you prefer, but I'm guess its just a different background driving him to make different trade offs that suit you better than other trade offs that could have been made. Part of the problem you are probably hitting is Scala's attempt to be statically typed while also being flexible, not really its attempt at marrying OO and FP; this tends to require lots of advanced typing concepts that many people are not yet comfortable with, and perhaps they never will be. Dynamic languages save a lot by pooing away the static type system; but of course there is then a lot they can't provide. I am a big critique of this also, we've had our disagreements, but really...at the end of the day it was a design decision made that is no less valid than other design decisions that could have been made. So don't use Scala if it doesn't suit you, this is reasonable, your criticisms are reasonable, but I don't think it is fair at all to say that the designer was stupid or somehow misguided. There are more CTOs who are misguided than successful language designers.