From: Pascal Costanza
Subject: Re: Lisp or Smalltalk: Suicide Mission, Part II
Date: 
Message-ID: <csqm52$b9h$1@snic.vub.ac.be>
·······@runbox.com wrote:
> I've refactored my question in an attempt to better focus the
> responses.  Specifically, I've made it a first person question to take
> out some of the team and mentor issues and added some more detail about
> project(s), etc:
> 
> I'm trying to decide between learning Lisp and Smalltalk.
> 
> I'm primarily interested in insights from people who have worked with
> both.
> 
> I'm not a programmer, but wish to become one.
> 
> I will learn only one of the languages (at this point in time.)
> Philosophically, I'm not interested in becoming a 'language collector,'
> a computer scientist, or developing a 'hobby' - but I am VERY
> interested in getting real work done by writing my own applications.
> Ideally, I therefore want the one language I choose to learn to be able
> to handle anything I intend to do now or in the future.

"If you give someone Fortran, he has Fortran. If you give someone Lisp, 
he has any language he pleases." - Guy Steele

> Someone (Avi?) once wrote that Lisp is multi-paradigm while Smalltalk
> is not, but that since the one paradigm Smalltalk uses is so powerful,
> you can get almost all of the benefits without all the attendant
> complexity.  That appeals to me.  On the other hand, the power of Lisp
> is seductive.

You have to be careful how these statements are worded. Just because a 
language is multi-paradigm does'nt mean it's flexible. Just because a 
language is object-oriented doesn't mean it's simple. Just because a 
language is statically typed doesn't mean it's safe. And so on.

Such technical attributions are just there to give you a very rough 
description of the characteristics of a language. But no matter what 
characteristics a language has it can still be a shitty language.

This means that the question whether a language is actually _good_ or 
not cannot be answered in such terms. The art of language design lies in 
the way how to take a number of features and combine them into a usable 
whole. Just like in good art you cannot pinpoint why something is 
actually well-designed. And just like in the arts it's all _also_ a 
matter of taste.

Your question roughly sounds like this: "I will only learn one musical 
instrument, and I want to be able to play all kinds of music on it. 
Which one will help me to play beautiful music."

All we can say is that a Casio sythesizer for 100$ will probably not cut 
it. Whether you will prefer a violin or a piano (or something else?) is 
something that you have to decide on your own.

> If I'm trying to look on the bright side, I can note (as Espen does),
> that my systems analysts are not biased or coming in with preconceived
> ideas about language syntax, etc.  This makes me wonder which is a
> better first language for them (and myself)...Smalltalk because it is
> simpler, or Lisp because I don't want to 'hardwire their brains'
> with doing everything one certain way...?

Try the piano and see whether you like it or not. ;)



Pascal