Fear and loathing of the "perlification" of Smalltalk

nicolas cellier ncellier at ifrance.com
Thu Sep 6 18:54:46 UTC 2007


Jason Johnson a écrit :
> On 9/5/07, nicolas cellier <ncellier at ifrance.com> wrote:
>> I like the idea of the language being more contextual. Mathematical
>> language concision come from such feature. Put in another context, a
>> mathematical expression meaning can change.
> 
> I think Smalltalk has already shown it chooses readability over math
> by being one of the few languages that doesn't make you memorize
> evaluation rules for math expressions.  And I like this.
> 
> Programming is essentially managing complexity, so the simpler you can
> make the language the easier it is to manage the complexity of the
> problem you're solving.  And if you can find a way to make this simple
> language concise as well, then you have a winner.
> 
> This is why a Linguists is exactly the person you *don't* want
> creating a language:  they try to create a language that behaves as
> spoken language.  But spoken language is about the most complicated
> thing you will ever learn.  It's so complicated that you can still
> learn new "keywords" decades after having "mastered" it.  If you learn
> a new language you will find the language you spoke your entire life
> begins to fail you at times.  And spoken language is one of the few
> things that you can use for 20+ years, move to another land and speak
> a new language and after some time completely lose your previous
> language.
> 
> This is absolutely not something you want to be basing a tool for
> managing complexity on.  And context is one of the things makes spoken
> language so incredibly complex and un-masterable (the other is the
> fact that it's a moving target, but context exaggerates this and even
> drives it to some extent).  Think about how many misunderstandings you
> personally see happen every day.  These come either from context or
> from disagreement on what a word or concept means (this case is also a
> context).
> 
> Context is opinion.  I have something in my head and instead of
> expressing it I say "it".  Unfortunately the person/people I'm talking
> to either has no idea what I mean by "it", or worse they assume I mean
> something else and go forward based on this assumption.  People who
> speak the most clear and cause the least misunderstandings avoid as
> much implicit context as they can (interestingly enough, we call this
> "speaking clearly").
> 

However, polymorphism is a mean to achieve some of contextual features 
of our spoken languages. Verbs (messages) can be understood differently 
according to the context (the class of the message receiver).

And, yes, this is exactly the Context object of Smalltalk. It carries 
method arguments, self inst vars and their class, and the way your nice 
Smalltalk sentences will be interpreted...

If you think of it, Smalltalk is maybe the programming language closer 
to our mother one.

There is no ambiguity in the VM of course, but as i noted several times 
in this thread, there are in our distorted minds and in the way we 
mis-interpret the intent of original programmer...
Have you ever used the Debugger to disambiguate some code sometimes?

Nicolas





More information about the Squeak-dev mailing list