[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LFM + LFSP = LFE?





On Thu, 12 Jun 2003, Neil W. Van Dyke wrote:

> But, now that OOP is thoroughly mainstream, does anyone have anecdotal
> experience with, say, Java programmers being exposed to the Smalltalk-80
> language and browser-based environment?

Well, I recently came across this quote from Martin Fowler:

"But the advantage of a scripting language is that it's something that a
professional programmer will use regularly, while even a Smalltalk-lover
like me hasn't cranked up an image in years."
   -- http://martinfowler.com/bliki/LanguageForLearningObjects.html

I wrote to ask him why, as a self-confessed Smalltalk lover, he didn't
think it was something a professional programmer would use, and what could
be done to make Smalltalk as accessible that way as Ruby.

He wrote back to say this:

"I can easily edit a ruby program in a text editor and run it from the
command line."

Never mind that you *could* trivially set up, say, a Squeak image so that
you could edit source in a file and run it from the shell - that would be
completely missing the point, and you might as well be using Ruby.  This
isn't something that would even occur to a non-programmer ("yeah, Excel
is nice, but I'd rather edit my spreadsheet with a text editor..."), and I
find it ludicrous that it's considered a requirement for "professional"
work.  To be able to import/export a plaintext format, so that you can
store your code in CVS and so on - that, there's real value in.  But to
insist on that being the primary way of interacting with source?  I don't
get it.  The only halfway convincing argument I've heard is from Brian
Marick, who claims that the order of method definitions in his source
files is carefully chosen to help a reader understand the code, and that a
browser environment subverts this.  I admit that I do the same thing when
writing Java, but only because navigating the code is so difficult
compared to Smalltalk that I need to give the reader some other crutch to
rely on.

Now, any time I've actually sat down with a Java programmer and taken them
through using a Smalltalk environment, the experience has been quite
positive.  The problem is convincing them to get past their assumptions
and prejudices for long enough to actually give it a fair shot.  That's
the main barrier, IMO, that keeps Smalltalk (and probably many other
worthy languages) from being truly Masses-friendly.

</rant>
Avi

"Source code in files - how quaint."  -- Kent Beck