www-community mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ben Hyde <bh...@pobox.com>
Subject <language> fu
Date Fri, 10 Jan 2003 12:58:57 GMT
>>
>>> ... Perl ...
>> ... Python ...
>>

I can't say as I recall one of these my-language/your-language 
discussions ending well at any point in the last 35 years.  It's very 
close to arguing if my life philosophy is better than yours.  I think 
it might be better, if people want to go down that path, to broaden the 
discussion into one closer to comparative religion.

I very much enjoyed, and still do, in depth comparative language study. 
  When the computer science community was much less tightly connected - 
so that the opportunities for network effects were much weaker - there 
were dozens and dozens of really fascinating programming languages 
micro-lanaguages for specific domains.

Some of my favorites...

SETL (NY University) was pretty amazing.  It pretty much only had hash 
tables.  After a while they managed to get's compiler so elegant that 
it started to automatically optimize programs into algorithms that a 
few years before had seemed to be serious inventions - for example it 
could discover spanning tree based algorithms.  As far as I know this 
branch of elegance has died out.  There was a very amusing moment when 
the SETL folks wrote an Ada compiler years before anybody else managed 
to get one written.

Simula ( which was cira 1968, had all the modern tools for writing 
object oriented multi-threaded programs.  Almost all the neat ideas in 
Simula were reinvented every 2-3 years till today.  This tradition is 
probably still alive in ELang (which takes a light dose of Prolog-fu as 
well).  I can't too highly recommend a study of the ELang light-wieght 
threading model to people working on distributed systems.

The SNOBOL .. ICON (University of Arizona) had some very nice ideas 
about how to manage the control stack of a program to get search, 
iteration, pattern-matching.  There was a very interesting language in 
this line that broke the act of calling a function into it's component 
parts (binding, dispatching, returning etc.) and then managed to let 
you compose those to create iteration generators etc.

I enjoyed working on a number of graphic layout languages.  DOT is one 
of the modern examples.

I bet some other people here know of some sweet historical examples.

Etc. etc. etc.


Mime
View raw message