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.