I would add a few points to those already discussed:

1. I would not posit that Smalltalk "didn't take off" or in anyway
"failed."  Not many programming languages introduced circa late 70's /
early 80's still garner as much attention or hold sway in shaping our
current language efforts.  One can argue that current OO languages are
still catching up to Smalltalk.  Obviously, ST never became a
mainstream language in the software development community, but it has
held a powerful role since its introduction.

2. True, when ST was introduced, C was the primary franca lingua of
the developer community.  Note that it represented not only an
entirely new language (syntactically), but the OO paradigm was foreign
to most of the folks in the programming trenches.  C++ came along as a
way to write code in a familiar language while adopting some of these
new-fangled OO design concepts.  And even given it's C heritage, it
took several years before C++ was accepted by management as a suitable
production language, because of skepticism about the whole OO
approach.  It is due to the historical context which gave rise to C++
that Java adopted a similar syntax and general design principles.
While C++ allows one to write OO code, it is far too easy to 'slip
back' to plain old procedural approaches when OO design gets in the
way (so to speak).  Java is an improvement in that it enforces the OO
paradigm in a strict way, something C++ can never do (it takes
discipline and management oversight which is impossible in large team
projects).

3. ST was originally (nearly) inseparable from its IDE (and thanks for
introducing the IDE approach to development).  This made deployment
difficult.  However, once PARC freed the language for commercial
development, any number of companies built products for programming
and deploying applicaitons on the language (IBM, Digitalk, Gemstone,
etc.).  The combination of IDE and OO design delivered on the promises
we keep hearing about:  code resuse, agile programming abilities,
higher quality code, and the list goes on.  A number of commercial ST
distributions are still around, and a number of enterprises still
employ internal applications written in Smalltalk.  The original issue
with deployment, along with a lack of native libraries (Windows, Mac,
*nix), certainly hindered early adoption for anything outside of
teaching and experimentation.  Digitalk had a great Windows/Mac
product that was quite popular, but given my earlier comment, received
little to no traction in among corporate ISV's due to the "everyone
uses C | C++" mentality (now replaced with "everyone uses C | C++ |
Java").

4. It only takes a small amount of Googling to see that ST has a
large, vibrant, and active user community.  There are still a fair
number of people paid to write in ST.  There is active development of
ST VMs, some new, some improvements on existing engines.  Seaside is
gaining popularity as a server solution for web applications.  The
language is not dead or dying, and given the grass roots support, it
may have more vitality than the Java or C communities (given that
there is a commercial aspect to those languages, not so much for ST).

5. Objective-C is another take on blending the C dialect with ST -
same pitfalls, but much closer adherence to the principle ideas
promoted by the ST language (IMHO).  Just to clear up the record:
Mac's original language was Pascal, then C, then C++.  I would also
mention that someone wrote an incredible Object Assembler (for 68K) at
Apple - I used it extensively in the early days and I would say that
folks could still learn a great deal from the approach used in that
language (as opposed to C++).  Windows originally languages were
Basic, Pascal, and C.  TurboPascal gave C a good run for the money,
but the overwhelming number of C and later C++ savvy engineers did in
Pascal.  With the advent of the web and OSS, the freedom to use any
language you choose has returned (somewhat) to the hands of developers
and the dictates of corporate ISV management.  That said, try floating
a 'different' language for project even now - if it is not PHP/Perl/JS
or Java/C (even C++ has taken some lumps although seems to be having a
resurgence), you are going to get some amount of pushback on your
proposal.

6. Lastly, I have this theory:  Every 10 or so years another
programming language comes out of the starting block and gains
mainstream traction - at the same time a number of equally qualified
(or better) languages come along that fall by the wayside.  In the
latter half of the 80's it was C++, in the latter half of the 90's it
was Java.  Once again we are seeing a resurgence of new languages and
ideas.  I guess the value of a language is how much it influences each
succeeding 'crop' of new entrants.  ST is having an influence many of
these newly minted languages, as it had on Java and C++ before it.
Sorry for the Stars Wars allusion, but the "if you strike me down, I
will become more powerful than you can possibly imagine" line may
applicable.  ST was never actually struck down, but it remains a
powerful foundation for programming languages today and probably into
the future.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to