[Pharo-project] Enjoyed the reading..

Igor Stasenko siguctua at gmail.com
Fri Mar 9 21:31:44 EST 2012

On 10 March 2012 00:33, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> On Fri, Mar 9, 2012 at 3:02 PM, Igor Stasenko <siguctua at gmail.com> wrote:
>> According to this guy, we're using 3rd most powful programming
>> language (or, well one of 4.. to not insult anyone ;).
>> http://www.paulgraham.com/icad.html
>> So, we're not that bad, eh? :)
> I like what he says about patterns:
> "If you try to solve a hard problem, the question is not whether you will
> use a powerful enough language, but whether you will (a) use a powerful
> language, (b) write a de facto interpreter for one, or (c) yourself become a
> human compiler for one. We see this already begining to happen in the Python
> example, where we are in effect simulating the code that a compiler would
> generate to implement a lexical variable.
> This practice is not only common, but institutionalized. For example, in the
> OO world you hear a good deal about "patterns". I wonder if these patterns
> are not sometimes evidence of case (c), the human compiler, at work. When I
> see patterns in my programs, I consider it a sign of trouble. The shape of a
> program should reflect only the problem it needs to solve. Any other
> regularity in the code is a sign, to me at least, that I'm using
> abstractions that aren't powerful enough-- often that I'm generating by hand
> the expansions of some macro that I need to write."
Yeah.. in re: he says:

I was actually surprised at how badly Python did. I had never
realized, for example, that a Python lambda-expression couldn't
contain the same things as a named function, or that variables from
enclosing scopes are visible but not modifiable. Neither Lisp nor Perl
nor Smalltalk nor Javascript impose either restriction.

I can't see what advantage either restriction brings you. I can see
how Python's gradual, ongoing (= incomplete) evolution would have
produced them. So Occam's Razor implies that the latter is the reason
Python is this way. I.e. these restrictions are bugs, not features.

>> A very good explanation to 'pointy-haired' why 'mainstream' language
>> are not best choice..
>> as well as good illustration that in order to compete and stay
>> popular, all mainstream languages
>> will slowly converge to lisp.
>> --
>> Best regards,
>> Igor Stasenko.
> --
> best,
> Eliot

Best regards,
Igor Stasenko.

More information about the Pharo-dev mailing list