The Decline? of Dynamic Typing
The other Tiobe identified trend is the relative decline of dynamically typed languages.
Where does this trend leave the dynamically typed Ruby? From the O'Reilly conference and amongst my peers, there is quite a lot of interest in Ruby. However its popularity in the Tiobe index is only 22, though it is increasing in popularity at the expense of Perl. So, perhaps the book series should be called "Beyond Perl", rather than "Beyond Java".
Dynamic vs Static Typing is a subject of programming language textbooks. Which is why I am reading one. Some good stuff on this topic is available here. Robert W. Sebesta, in his Concepts of Programming Languages has this to say:
Dynamic type binding causes programs to be less reliable, because the error detection capability of the compiler is diminished...
... languages with dynamic type binding... must be implemented with interpreters rather than compilers.
Perhaps the greatest disadvantage of dynamic type binding is cost. The cost of implementing dynamic type binding is considerable.
And this on page 223:
"The penalty for static checking is reduced programmer flexibility. Fewer shortcuts and tricks are possible. Such techniques, though, are now generally held in low esteem".
In his view, Java and C# are on the ascendancy partly because they make the right set of tradeoffs in language features. They combine the right mix of readability, writability and reliability. I have been tinkering with Ruby since the O'Reilly conference last year, when I attended a half day session with Dave Thomas. I am hoping to get the time to do a full comparison of Java and Ruby in those terms.