3 ms·
He might be understanding programming, but from an academic background not from managing large business development projects with issues like compilers, tool ch
by Uchikoma 13y ago
He 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.