Crossing the Chasm: Programming Languages Edition

::: {.Section1} [Geoffrey Moore's Crossing the Chasm is the best explanatory text of why tools succeed in the software development world (its scope is broader than SD, but SD is smack in the middle of its explanatory power). The basic idea is that dividing the world into a bell curve of innovators, early adopters, early majority, late majority, and laggards is useful, but misses a crucial "chasm" that exists between early adopters and early majority:]{style="font-size:10.0pt;font-family:Verdana;color:#003300"}

The gap exists for many reasons, but the major one is that what innovators and early adopters value and expect (with development tools, such things as expressiveness and high productivity but at the cost of learning something new) differs from what the majority values and expects (ease of use, integration). Java crossed the chasm, Smalltalk didn’t.

Will Ruby? Well, it’s going to be a challenge. If my theory is right, the “rapid inflation” that Ruby is currently undergoing is indicative that it’s broken out of “innovators” and is in the “early adopters” phase. So “the chasm” is looming. Right now, Ruby doesn’t have the toolset to appeal to early majority and, equally importantly, the Ruby community does not currently “speak to” the concerns of the majority (“Who else is using this?” “What about my existing investments?” “You mean, I have to train everyone in a new language and standard library?”).  A huge problem in terms of “the chasm” is that Ruby interoperability with the CLR and the JVM is “early adopter”-style via bridges/interop. That’s not going to cut it with the majority – if it’s not integrated into Visual Studio or Eclipse, with full Intellisense, it’s not going to make it across the chasm.

This is one reason why I think there’s such a golden opportunty for “DevCo” – the ex-Borland languages division -- with Ruby. “DevCo” has expertise with “majority” issues: IDEs, integration, support, databases, etc. :::