Thursday, March 02, 2006

A Futurist's answer to the question "Future of Smalltalk?"

Answering the initial question on the comp.lang.smalltalk newsgroup list ... "Future of Smalltalk?" (rather than the assumed question others are answering: "Is there a Future for Smalltalk?" My prediction is that Croquet will make Smalltalk take a sudden evolutionary jump for seven reasons, including it supports the new mash-up and social network culture in its core technology around loosely coupled, late-bound, system and social connectivity and due to it's creating its own niche.


I believe that Croquet will bring mind share to Smalltalk in significant numbers and that those minds will push the language itself into unanticipated directions much as Alan Kay said Smalltalk should.


How?


First, it creates new interface genera, or a market, rather than mimic what other languages do (websites, menus, forms, etc.). Hence, it treats itself as a framework for niche applications -- but what a visually appealing niche that is!


Second, social connectivity and system connectivity are built into its foundation. Social connectivity and the "mash-up" culture will change the nature of application development and Croquet is already built for it.


Third, as the discussion on "method comments" has underlined, comments (or determined lack thereof) reflect our understanding of our code audience, the code readers young and old (not the running hardware). In Croquet, the whole world is your pair-programming partner. As such, the world will be you best friend and harshest critic. In Croquet, annotations of all kinds are built into its very foundation. At every moment one assumes that everything one does in Croquet will be visible to an audience that is larger, diverse, and more varied in knowledge and experience. 3D annotation, audio annotation, animated annotation, nested annotation is built into all visual artifacts (hence, text is annotate-able too) in Croquet and built into its foundation for user interface and IDE .


Fourth, it doesn't completely shut out the others applications to be a platform island unto itself. It leverages Smalltalk's past API's into databases, DLL libraries, web protocols, VNC controls, e-mail protocols, instant messaging protocols, .NET interfaces, and even running some other languages in its own incremental compiler.


Fifth, (I hope this will soon be possible) to reduce code breakage, beyond "incremental compilation" and "check-in" "check-out" code text for logic changes, think in terms of "instant, incremental, code update integration testing". Like RSS, one "subscribes to the other developer's or vendor's Unit Tests". When their tests go green, your system has a separate image with your latest changes, imports their green light code, and runs your tests. You automatically self-publish your results back to the other developer/vendor who, in turn, subscribes to your results. Remember, code integration is a social network built on social trust and deep, frequent communication.


Sixth, since communication is its underlying premise, it is naturally targeting the learning and education sectors of our society (at eventually all age levels). This should boot strap improved ways of learning Croquet development as well.

Seventh, due to the Smalltalk technology underlying Croquet, it runs on all major OS platforms, is latebound, and is loosely coupled.


The natural conclusion we can draw from these possibilities will be that the ad hoc groups developing in Croquet will end up "paving the footpaths" and consequently more quickly change the language and the supporting VM.

0 Comments:

Post a Comment

<< Home