human readable? (was: Scripting syntax: all expressions or declarations?)

Jecel Assumpcao Jr jecel at merlintec.com
Wed Aug 23 21:34:52 UTC 2006


I have argued this with several people before, so feel free to skip this
email if you are tired of hearing me always say the same thing.

Damien Pollet wrote:
> On 8/23/06, tim Rowledge wrote:
> > Why on earth does it need to be human readable?
> 
> Hmm, because we're humans?

Exactly! We can decode dots on a display or on paper if a set of
hardware and software modules all do their job but we are helpless to
see bits on magnetic disks or on a CD-ROM, for example. So if we are
being picky it doesn't make sense to ever talk about "human readable"
files. They simply don't exist (at least not since punched cards).

But if we are being reasonable instead of picky we could define as
"human readable" any file that I can read with the help of software and
hardware that I already happen to have on hand and weren't specially
created for this particular file. Of course, this is very much like
defining Philips screws as "human removable" and Torx screws as not due
to the tools that you can reasonably expect a person to have around the
house. Note that this is actually a pretty reasonable definition and was
how Apple was able to get a far lesser percentage of early Mac users to
take their machines apart than was usual at the time.

> > We can read it into a 'script runner' image.
> 
> How do you run a particular script from command line or another script
> in bash/ruby/perl ?

As Tim already pointed out, there is no difficulty here.
 
> >   when examined in a text editor? Text editors are *so* last century.
> 
> Isn't Smalltalk older than emacs?

A little bit (1972 vs 1975), though the roots of EMACS go way further
back. As I like to claim, going from Linux to SqueakNOS is upgrading
from 1960s technology to 1970s stuff ;-)
 
> And text editors are still the main tool among non-smalltalkers.

True, and normally what they use isn't even as good as what Turbo Pascal
had so long ago.

> Smalltalk scripting is about hiding the image aspect of Smalltalk: one
> weird thing less to get used to in the short term should ease the
> transition from traditional languages.

And there are several non Squeak options - GNU Smalltalk (though this
has the chunk syntax), Little Smalltalk, Idst or Slate. In the
commercial world there is S#, Smalltalk for .NET or Resilient (has a
scripting friendly syntax but is really for embedded applications). But
I understand the desire to have Squeak handle this need since it is like
the Linux of the Smalltalk world. Just like having a neat feature in
Plan 9 doesn't do people much good compared to having it in Linux the
alternative Smalltalks aren't considered real options by most people.

My personal opinion about changing this or that about Smalltalk to make
it more acceptable to most people is that this is a futile task. The
reason why the neat Xerox PARC technology failed to make it out to the
world was that the Xerox executives responsible for the necessary
decisions didn't type themselves and didn't see the point in what had
been created. So when new people came along in their very early 20s
(Bill Gates, Steve Jobs) things finally changed. And then the older guys
retired and people no longer even remember how hard it was to get what
we now have.

Sure you might get some Ruby guys to switch with a scripting syntax,
some company to adopt Squeak if there are native widgets, and so on. But
I think it is easier to replace programmers than to convert them. Of
course, if the new programers are carefully trained by the old ones then
nothing changes. You need new people coming in from the outside:

http://paulgraham.com/marginal.html

-- Jecel



More information about the Squeak-dev mailing list