The Artima Developer Community
Sponsored Link

Computing Thoughts
Ruby and Scala
by Bruce Eckel
September 8, 2006
I've decided to just bite the bullet, get the pickaxe book, and slowly work through it during morning coffee breaks at Camp4 Coffee (a venerated Crested Butte establishment that is one of the centers of social discourse -- those of you who have come here for workshops know of which I speak).


(Camp4 seems to be the only place where I can actually get through technical books). One of the big reasons for my renewed interest in Ruby (besides the features it has that seem to make it a bit easier to create domain-specific languages) is because of Matz's decision to remove the Perlisms in Ruby. Any language (Python is the only other one I know of) that's willing to REMOVE warts (Java just seems to keep adding warts on existing warts) immediately becomes much more interesting in my perception. I also think that I may learn some concepts in Ruby that I can apply in Python even if I don't end up using Ruby. For example, I'm interested in the differences in Ruby continuations vs. the coroutines supported by Python 2.5's modified yield statement, and in understanding why Guido decided that full continuations were problematic.

Yesterday I spent about 1/2 hour looking at the Scala programming language with Bill Venners (who recently wrote a weblog entry on Artima about how the joy had gone out of Java programming for him -- a big admission from such a dedicated Java programmer). This is specifically designed to work on top of the JVM, but with much higher-level concepts and more succinct coding (type inference, for example). The most interesting thing to me about Scala is the built-in support for agent-based programming (although the last time I looked, that part of the tutorial hadn't been written yet). But other parts of the language, in particular its support for functional programming, is also quite interesting. Bill especially liked the idea that he could use standard Java components (or pay for standard Java programmers to build such components), but consume them with a more productive language like Scala, which still has static type checking and so fit his needs better.

Talk Back!

Have an opinion? Readers have already posted 17 comments about this weblog entry. Why not add yours?

RSS Feed

If you'd like to be notified whenever Bruce Eckel adds a new entry to his weblog, subscribe to his RSS feed.

About the Blogger

Bruce Eckel ( provides development assistance in Python with user interfaces in Flex. He is the author of Thinking in Java (Prentice-Hall, 1998, 2nd Edition, 2000, 3rd Edition, 2003, 4th Edition, 2005), the Hands-On Java Seminar CD ROM (available on the Web site), Thinking in C++ (PH 1995; 2nd edition 2000, Volume 2 with Chuck Allison, 2003), C++ Inside & Out (Osborne/McGraw-Hill 1993), among others. He's given hundreds of presentations throughout the world, published over 150 articles in numerous magazines, was a founding member of the ANSI/ISO C++ committee and speaks regularly at conferences.

This weblog entry is Copyright © 2006 Bruce Eckel. All rights reserved.

Sponsored Links


Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use