On Tue, Dec 7, 2010 at 2:57 PM, Sean P. DeNigris <sean@clipperadams.com> wrote:

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:

Just to ilustrate =)

http://www.amazon.com/Java-Pitfalls-Time-Saving-Solutions-Workarounds/dp/0471361747
http://www.amazon.com/Java-TM-Puzzlers-Pitfalls-Corner/dp/032133678X/ref=sr_1_4?s=books&ie=UTF8&qid=1291752617&sr=1-4

Cheers,
Francisco

* 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.