[self-interest] Our two weapons are fear and surprise...and..

Chandrasekhar Ramakrishnan cramakrishnan at acm.org
Fri Aug 7 09:08:54 UTC 2009


And coming in very late in the game...

2009/8/5 brassplume <brassplume at yahoo.com>:
> I'd like to point out something about the idea that Self is the language of simplicity.
> On the home page it says "The Power Of Simplicty".
[...]
> PHP and Perl are simple languages. Not Self. You can be a crap programmer and
> do lots of useful CRUD things with those languages.

Your argument is that the correct definition of a simple language is,
"A language with which casual programmers can accomplish useful
results." And by that metric PHP and Perl are simpler than Self.

Fair enough. But this kind of simplicity is not a function of language
design; it is a function of the available libraries and example code.
Case in point, I recently had to write a small script, which I ended
up doing in Python. I'd never programmed in Python before, I usually
do these sorts of things in Ruby, but I happened to find some code
that was a good starting point, and it was in Python. If I had found
sample code in Perl, I would have done it in Perl.

The applicable definition of simple is always context dependent. It
doesn't make sense to argue that there is only one appropriate
definition. Is AWK simpler than SQL? It depends. If you want to
process a text file, yes. If you want to process rows in a database,
no. If you are comparing semantics, than no. If you are comparing
syntax, then maybe.

Perl and PHP were created to solve particular problems and make it
easier to get certain tasks done. The design of these languages, and
especially the built-in libraries and mode of interaction with the
language, is determined by these pragmatic considerations. This is a
perfectly reasonable motivation for creating a language.

Practical utility is, however, not the only virtue. Self was created
to explore certain issues in language design. What is the minimum
necessary for a useful object-oriented language? Can it be made
efficient? What kind of development environment is necessary to
support this language?

This is also a valuable undertaking, and the claim, "the power of
simplicity," should be evaluated in this context.

- sekhar

-- 
C. Ramakrishnan           cramakrishnan at acm.org
Illposed Software           http://www.illposed.com



More information about the Self-interest mailing list