Re:Using Scala to handle exponential growth at a startup
by jbooth on Tuesday December 18, 2012 @01:58PM
(#4938924)
Scala has much worse tooling (SBT is an oxymoron), and it's much harder to read than Java.
Conceding that it's more fun to write, I think 'harder to read' is more important. Scaling refers to team size and amount of functionality in addition to requests per second.
Re:Using Scala to handle exponential growth at a startup
by felipehummel on Tuesday December 18, 2012 @04:41PM
(#4939744)
The "much harder to read" varies greatly between codebases. Most "sane" codebases are 90% (random percentage) as easy to read as Java. Just collection initialization, transformations, simple pattern-matching, method invocations...
Some times there is an ugly nested flatMaps/maps/filters. But in my experience, in general, they're more the exception than the rule.
Re:Using Scala to handle exponential growth at a startup
by jspthrowaway2 on Tuesday December 18, 2012 @02:08PM
(#4938990)
It's also the slowest compilation I've ever seen, even with really clever custom tooling.
Re:Using Scala to handle exponential growth at a startup
by felipehummel on Tuesday December 18, 2012 @04:45PM
(#4939764)
Scala compilation is indeed slow (although I think C++ is worse). But I always have a "sbt ~compile" running, compiling every file as they change. So the compilation time is pretty much irrelevant to me. While using eclipse, I guess, you'd get the same speed too.
That's one of the things that Scala gives you: the functional features are there now and have been for almost ten years.
Still, I know where you're coming from. I was a die-hard Java guy until I gave Scala a shot. I'm not looking back, though I do think that Java's tooling is much more mature than Scala's.