This is fun!  Thanks for the discussion...

csrabak wrote:
> 
> Sean, once you really get to metal subtleties and other nuances on the 
> language and syntax appear to bug your team.  Have you ever heard of 
> John McSweeney's "Smalltalk ‘Traps’" piece¹?
> 
[ sean isOnChair ] whileTrue: [ sean laugh ].

7 pages! (actually 6.5 - with embedded images)  That actually proves my
point vs. entire textbooks ;-)  Not to mention that:
* the first page and a half's examples are trivial and not exactly "traps"
(the fact that self is implicitly returned)
* the "10 + (10 negated) negated" "trap" executes intuitively and correctly
in Squeak
* the example of changing a loop while iterating with do: seems like C++
code translated literally into Smalltalk
* the last 1.5 pages are totally contrived (and use global variables which
are discouraged anyway; I haven't had to use one yet) - yes, if you *want*
to screw up the system, you can:
    #right 
        basicAt: 1 put: 119;
        basicAt: 2 put: 114;
        basicAt: 3 put: 111;
        basicAt: 4 put: 110;
        basicAt: 5 put: 103.
    #right
An equivalent argument is: if you hit your laptop repeatedly with a bat, it
will not work regardless of what programming language you were using, so you
might as well pick any


csrabak wrote:
> 
> Well, comparing C, even C++ which normally hasn't automatic garbage 
> collection, is somewhat stretching the argument...
> 
Well, that's just the point, isn't it?  We're talking about language
popularity and those are #2 and #3 on the TIOBE index.


csrabak wrote:
> 
> even with those
> "idiosyncrasies" as soon the size of the application grows up, these 
> perks of Smalltalk quickly become less noticeable
> 
I've been using Smalltalk for less than a year, but I'm already more
productive by far than in C, C++, or even Ruby, and haven't hit that limit
writing software for small businesses.  If there is a size at which the
benefit lessens, isn't it more likely caused by poor design/devs or any
number of factors (don't most large projects fail)?  It can't be the same or
worse to use a poor library in a dynamic live environment.  I recently wrote
a simple Ruby bridge and found it liberating to deal with the library in the
Smalltalk tools rather than in Ruby's code/run cycle.


csrabak wrote:
> 
> Smalltalk... programmers attention to avoid the attribution of wrong 
> objects to instance variables as there is no type checking...
> 
I have never encountered this and I've often heard it said by dynamic
language experts to be mostly static language paranoia.  What is the
evidence that this becomes a severe problem in real-life dynamic systems?

Sean
-- 
View this message in context: 
http://forum.world.st/Popularity-or-not-of-smalltalk-tp3073990p3076885.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

Reply via email to