Over in cls, Lance Parkington weighs in with more on Smalltalk, .NET, and Java:
- Please note that Smalltalk (VisualWorks) does NOT wreck development machine a major saver of developers time! dotNET makes a complete mess and trashes the Windows Installer so VisualAge 3.5.x/4.x cannot be installed and probably little else can be installed successfully (ie anything using the Windows Installer) without manually editing tables in the .msi files. Also Sun's JDK's will then no longer work regardless when installed so pure Java cannot be used/tested after dotNET installed. To test dotNET applications really needs machine not installed with the development environment! This is considerable overhead.
- Java Bean development (public serializable classes) probably best carried out using VisualAge since generated code can be pushed through the Sun JDKs (pure Java). Generally Java takes 3-7 times as long to program same application as Smalltalk. This is partly due to need to define TYPE of variables before use requiring more thought, difficulties processing collections (no SortedCollections in Java out of the box), and general syntax issues (eg semi-colon, bracket emplacement). There is also more code in Java required to represent same functionality as in Smalltalk and this has knock on effect on productivity ie number of correct lines of code produced per day. Complex mathematical or logical classes will take long time to write and debug. It is also possible to save classes that have failed to compile in Java causing problems when applications cannot run! J2EE is generally too complicated and unreliable for everyday use and standards do not appear consistent in the major implementations!
- Smalltalk is generally the most productive language of all but suffers since expensive for academic/commercial use and poor support is available on the web for some of the more complex applications. There are very large gaps of information between introductory concepts (eg the Manchester archives) and advanced capabilities of current software vendors offerings (hidden in huge PDF files) that hardly see the light of day. Java support is generally better and if programmer is stuck it is generally quite easy in Java or C++ to find out quickly how to do something. Time and money are everything and gold plated solutions cannot be afforded when quick results are required by yesterday!
Things are better on the Smalltalk code front - for VW, check the VW Wiki and the public store. There are a fair number of Open Source projects going on in VW, being tracked in the public store. As to PDF files, Google indexes those - try a search.