Scala Will Do
January 2nd, 2008
When the only problems left are the really hard ones…there is only one thing left to do…

I give this fad 3 weeks.
When the only problems left are the really hard ones…there is only one thing left to do…

I give this fad 3 weeks.
Sorry mate but Ruby’s not going anywhere.
At least in the heads of the thought leaders (gurus, specialists, etc) there could be a shift. This is the irony of the comic strip. Eric is not saying that the Ruby community will abandon its language, but that there are “experts” ready to jump out of the wagon as soon as a new hype shows up. The story repeats itself and, by the way, pretty funny this comic!
No room for Ruby in the dumpster. It’s already full of COBOL, C++ and Java.
very good comic. sorry touchy ruby people, there are already cracks in your boat. many people will leave ruby, or will never use it. two years later they will leave Scala.. smart ones will keep coding, stick with whatever makes money.
Golly said “Ruby’s not going anywhere”. Ok, out of context, but maybe true.
If the thought leaders are jumping onto a new shiny language, that language has a chance of becoming more than a fad. Smart coders, who don’t want to be bored programming java-cobol, will jump to what will make them money. I think Scala may be in the right place at the right time.
Ick. A few Ruby programmers take interest and suddenly Scala is a “fad” floating on a bunch of buzzwords. Although, if this means that a bitter and partisan chunk of the Ruby crew will stay put drawing stick figures and thinking about solving the rather hard problem of writing a VM tailored for Ruby that isn’t many times slower than the JVM running statically typed code, that would be cool.
Hey, the figure standing on the yellow scala blob, looks just like Bill Venners – cool!
> “stick with whatever makes money.”
lol and that is the reason why Java is …. SO LOVED, huh???
Gosh, if we all stick with money than I am not surprised there is no evolution in programming languages…
Meanwhile Lua waits quietly for the Ruby and Scala fads to wear off
she, in fact i do like Java.
Ruby is down the drain. The surest sign? Bruce Eckel recommends Scala. The one who recommends the next big thing more often than people change their underware.
He wrote yesterday: “On my radar, the current best exit strategy for Java is Scala. I have even heard some fairly leading-edge programmers say that at this point they didn’t care what happens to Java because they were just going to move on to Scala.”
Sure sign for the next hype.
The second surest sign that Ruby is so-2007? People discussing playing Werewolf at Ruby conferences because they are “more interested in people” than Ruby. How pathetic.
Peace
-stephan
Bruce Eckel… nothing more than a mouthpiece for hire. A lot of what he says these days is paid for by Adobe. Of course Java sucks. Because people need to write apps for Adobe’s new “platform” in Action/ECMA/Java/Rhino-script A while back, flush with Adobe cash, Javascript was Bruce’s Java killer.
Of course Bruce realized that books for Adobe’s fauxpen framework are probably not going to sell all that well… and there are already tons of Javascript books out there. Too much noise, too much competition.
So Bruce thinks to himself… “well ‘Thinking in Java’ did make a lot of money for me back in the day… and maybe there should be something else that runs on the JVM that might sell really well… especially if I tell enough people that Java is a dead-end. Yeah. Sounds like a plan.”
And that brings us to Bruce’s new book, “Manifesting Your Destiny in Scala”.
Because Bruce has big plans. Big big plans. And it all starts with “Java is Dead! (long live the JVM)”
Honestly, any language that can replace and/or supplement [the current] “corporate crud” and provides a positive step towards improving programming languages outside of a mostly academic setting…
Java and C# are only being evolved because of outside influences [read: better designs].
I’m not claiming specific pressure via Scala or Ruby or XYZ but, rather, a subtle pressure created when people use other tools and discover “there is a better way to do this”.
Now, the JVM might not be best–particularly for every language, but it is the best (only?) “step forward” that Java brought: a widely-distributed runtime platform. (Even though huge parts of the Java API is crum, being constrained in many ways by the Java language itself, it deserves some kudos.) I hope that languages (Scala, Nice–now dead?, [J]Ruby, Scheme implementations, Pizza, etc.) continue to help evolve the JVM (or other runtime environments) to take advantage of TCO, continuations, and other “forgotten” features… it’s not just the hype that’s cyclic.
so, uhm, Parrot anyone?
its surprising that java is more and more becoming the cobol of our generation
I’m not buying that Bruce Eckel is a “mouthpiece for hire” or that he (or other authors) are primarily motivated by money to write books. Speaking to the first point, I’ve had in-person conversations with Bruce and found him to be thoughtful and balanced in both his criticisms and accolades. His concerns about languages stem from an intellectual curiosity and interest in them, I believe, rather than the riches that can be obtained from making claims about them. Furthermore, writing books is not really a profit-making venture, even for accomplished authors like Bruce. The time that goes into writing a book is significant, and the time that authors spend writing is time that could have been spent pursuing consulting or training at a much higher per hourly rate.
And … having spent a significant amount of time researching Scala BEFORE the “Programming in Scala” (Odersky, Spoon, Venners) book came out a few weeks ago, I have to say I’m REALLY glad that people take the time to write books.
I enjoyed the comic. It’s fair to ask if Scala (and Ruby and anything else) are fads. It’s inappropriate to make unsubstantiated claims such as Shaking Your Moneymaker made above.
Right on Dianne! Bruce’s is a brilliant man and certainly could make a lot more money doing almost anything else but writing books. Both Bruce and Bill Venners do a great job of explaining complicated issues to people like me who wouldn’t otherwise get them. I think in all my life I may have sent a hundred dollars Bruce’s way and yet, for that little amount of money, I’ve gained a deep understanding of Java, C++, and even Python because of his efforts.
keep on jumping around grasshoppers.
i’m making a killing cleaning up your messes with yesterday’s language. oh, and i do keep my eyes on the bleeding edge. i just don’t bleed from it, personally, i prefer traveling, working from home, relaxing on my big ass balcony 500 meters from the sea.
carry on
Java is dead. Long live Java!
ERLANG!
Yeah, Erlang’s been getting more buzz lately, probably because of Amazon SimpleDB and Twitter’s use of ejabberd.
Why IS it that new languages get more press than new approaches to hard problems? Is it just that it’s easier to build a new sandcastle?
My rails app just comfortably handled 550,000 pageviews in a day on boxes costing less than $400 / month.
Of course ruby + rails is here to stay. The haters dream that they will somehow “disappear” off the face of the planet is redonkulous.
My clients want results. They could give two shits whether it was coded in Scala, Ruby, or LOLCode.
Why the fuck are Ruby coders so sensitive?! God, Ruby’s gonna die get over yourself. You don’t need Rails to implement MVC. I could care less about Ruby cause the moment I heard about it I knew it was just a stupid fad and ignored it.
“My rails app just comfortably handled 550,000 pageviews in a day on boxes costing less than $400 / month.”
That’s incredibly bad. My ocaml app handles a little more than that every day, and its on a single 300MHz sun t1, with 512MB of RAM that is also running the postgresql database for the site as well as the app. The server is 80%+ idle even at peak loads. And my site doesn’t have a 1-2 second response time like your shitty rails app, its consistantly less than 100ms.
May be you two are not at all making the same applications, so only comparing the benchmarks is not very productive…
“And my site doesn’t have a 1-2 second response time like your shitty rails app, its consistantly less than 100ms.”
If you think that all rails apps have a 1-2 second response time or that <100ms response time on rails isn’t possible then ur a truly ignorant individual.
I don’t think anyone in the comments got what the comic was actually saying. It was not a dig at Ruby or saying “Scala is the next best thing”.
Its how the “Thought leaders” get distracted by something new and shiny (and a brand new ego trip) but NEVER actually solve any real problems.
James Dumay writes, “I don’t think anyone in the comments got what the comic was actually saying. It was not a dig at Ruby or saying “Scala is the next best thing”.”
Indeed, as you then write (more or less indirectly), it’s how various influential figures with a history of technology hype (I’d point more at people like Martin Fowler than Bruce Eckel) lead people onto the next big thing before discovering something even more shiny. Where this might affect Ruby is in the influx of Java people who “discovered” Ruby on the say-so of such figures who might be led on to greener pastures as those figures change their minds again.
So here’s my two cents. I’m wondering if it is just too easy to make new computer languages. I’m pretty sure that spinning up on the new language, is akin to having a dance class while the Titanic sinks. Probably fun, but not too productive. When the going gets tough, let’s find a new way to waste CPU cycles, that’ll fix it. Oh course that’s just my opinion, I could be wrong…
As Always…
I think that casting off the differences between languages as purely personal taste or bikeshedding is a bit naïve.
Scala AIUI brings strict typing to dynamic languages, something that many languages have been struggling to do for years. So you can compile parts and keep the dynamic parts dynamic, and the compiler can help catch programming errors. Type constraints are a good thing, and Scala is a fantastic step away from the B&D levels required in Java or Haskell. And unlike Perl 6 – another language adding this crucial feature – it’s stable today.
Erlang’s state change model – basically requiring all programs to change state by returning the new state – along with the extensive network node architecture allows for a practical level of fault tolerance previously unheard of. No other language makes “9 9’s”. You just couldn’t do it in anything else without reimplementing the entire Erlang library stack.
You could make a similar case for Smalltalk, which is seeing many RoR “expats” due to its continuation passing style web framework, Seaside – again, a new fundamental language feature (serializable continuations) offering a real benefit.
These differences aren’t just window dressing; just because you don’t understand them doesn’t mean they’re fads.
The test of how useful a language is how quickly you can do useful things. Scala does things so fundamentally different from they way Java/C++/C# does things that the learning curve is steep. It’s like using Apache Cocoon to develop web applications. You can do a lot of really cool things (and despite all the transformations your server time to generate a page from scratch is only tens of milliseconds). The problem is that it takes so long to get proficient with it. If it takes longer than a week to get _something_ useful, that’s too long. Managers just aren’t going to pay for the training–oh yeah, there isn’t any.
Scala’s downfall if it is to displace C/C++/C#/Java is that it is a fundamentally different programming methodology. Functional Programming is much more different from Object Oriented Programming (OOP) than OOP is from Procedural Programming. It’ll take more than the three weeks the fad will last than it will to understand what is happening in Scala. Feel free to prove me wrong.
Berin Loritch said: “Scala’s downfall if it is to displace C/C++/C#/Java is that it is a fundamentally different programming methodology.”
Nonsense. Scala is object oriented. In fact it’s very like C++, C#, and Java: it is a single dispatch, statically typed, parametric polymorphic, OO language. In fact, it is more OO than any of those languages as it doesn’t have a primitive/object dichotomy. The functional aspects are implemented as syntatic sugar on perfectly ordinary OO concepts.
Then he said: “Functional Programming is much more different from Object Oriented Programming (OOP) than OOP is from Procedural Programming.”
More nonsense. Both are forms of what can be called higher order programming. In functional programming, functions can be objects. In single dispatch OO, functions (called methods) must be attached to objects. That’s the difference. When you look at it that way it’s easy to see how Scala can unify both worlds – just turn first class functions into OO objects that implement a common interface.
Well, anything is “a fundamentally different programming methodology” compared to a procedural in OO clothing commercial programming landscape … As far as I have seen, Scala is Java without the rush to market …
@Joe – it wasn’t a benchmark. I’ll take 1% server costs for a startup any day of the week. (possible I’ve found, for the kind of apps I write, with Ruby on Rails)
The comic does have ruby going into the 2007 dumpster =) But it’s still funny nonetheless.
@owen – Maybe you were trolling, maybe not. If you compare the initial 1.1 release of Java with the first ANSI standard COBOL of 1968, you find they are diferent in syntax, semantics, and vastly different in capability. Objects? Nowhere in sight. GUI… what are they? Networking… hasn’t been invented yet! Not to mention Java’s reason for existence, the magic of RMI. The only thing COBOL and Java have in common is that they’re 3rd generation imperative languages.
If you meant that Java is like COBOL because 80% of the world’s businesses rely on it… then fine!
@Everyone
Take heed Java-haters; Due to the efforts of James Gosling, Patrick Naughton, and Mike Sheridan, the final crushing ascendency of the evil Microsoft global empire was delayed by at least a decade, and for that last gasp of software freedom in the datacentre we should all be truly thankful.
“Take heed Java-haters; Due to the efforts of James Gosling …”
Thanks to the Sun attempt to bury Objective C and OpenStep, we were left with Java which has struggled with anything out of enterprise development.
Scala may or may not turn out to be the new new thing, but the ideas in Scala can be validated even if only a few “thought leaders” use it. The way it re-defines modules for instance, native XML support and domain-specific-language support to name a few.
Not a supporter of Scala (yet), BTW, just intrigued and would like to see how these concepts play out.
My Software Director is an impossible man when it comes to knowing things.
Phone rings…..: Hey segun is that you….yes its me….look lately I’ve been looking around scala, I will send some docs to you now, go thru them and by monday, I want you to start converting XXXXXX to scala…..but today is friday, I was hoping to rest this weekend….(laughs)my bad, see you on monday
So begins my journey with scala. This friday makes it a week. You will darn say its too early for me to start commenting right? well I will comment anyway.
When I picked Ruby up 2 years ago(I dumped it after a month), I have the same feelings I am having with scala now. These languages should just stop comparing themselves to java. What are your strengths, not what are the things you do better than java.
That I think is their problem. For me(I can code in FP) scala is a badly formed erlang, I will rather code in erlang or haskell than scala (same as I will rather code in php than ruby)
What da heck, I learned VB.NET in one week and say 2 days. After then I was able to write a Remote Webcam Manager with it.
C# even took me less
In one week with erlang, I was able to write a client-server chat application
They say scala is close to java. One of the things I do often is this
while((ch = is.read() != -1) {
sb.append((char) ch);
}
I hope scalac should just compile this code(I actually have it in like a zillion files)
But No it doesnt
simple cast like that is done like this in scala
ch.asInstanceOf[char].
that alone, I mean that alone made my Software Director give another call
Phone rings……hey segun is that you….yes…..I think we shud just pipe low on scala,at least for now, what do you think?…I am totally with you sir.
ciao
Can you use your power to tell me the lottery numbers?
As an old fart, I have been following this argument for 25 years now. I have learned that programming is like surfing. You paddle out to the deep water and wait for a good wave that will hopefully give you a good ride all the way in. The problem is, you really can’t tell how good the wave is going to be by the way it looks in the deep water.
Programming languages are a lot like waves. There have been some really great looking waves that never went anywhere. The best example I have seen in my 25 years is Smalltalk. If Smalltalk had come along about 7 years later, no one would be talking about Java. Java became the big wave that it is not because it’s such a great language but because it became the hot new language just as everyone on earth was looking to convert their applications to web applications.
The big waves only happen when there is a big change in computing technology. There have been only a few big waves.
Scientific computation = FORTRAN
Main Frames / corporate data processing = COBOL
Microcomputers / Desktop application = C/C++
Internet applications = Java
Every wave had other languages that were great but never succeeded. Lisp, Forth, Smalltalk, just to name a few.
Ruby is cool but a search for “Ruby” on dice returns about 500 jobs. In the Spring of 2007 that number was over 800. Java has returned between 7000 and 10000 jobs since I started tracking it 6 years ago. Ruby will never exceed Java in popularity. The same is true for Scala.
If you want to make a living writing software, you better catch your wave before age 40. No one is going to pay an old fart like me the salary I demand to sit in a cube and learn Scala. Especially when there are plenty of 20 somethings out there who are dieing to learn the latest/greatest language for half the price. But then, a dice search for “Scala” return 4 so I guess no one is going to pay someone to learn Scala.
If you know Java, there will someone who is willing to pay you good money make their tens of thousands of lines of poorly written java do what they want it to do. At least for the next 20 years.
If you don’t believe me just do a dice search on “COBOL”.
OldFart speaks the most practical truth of anyone here. I’m going to check out Scala because it looks cool, but don’t expect it to replace Java as the bread-and-butter any time soon. I assume that we’ll have a Next Big Thing within 10 or 20 years, but Java’s exit strategy will be very much like COBOLs.