C++ for Smalltalk programmers [was: Smalltalk for C programmers]

Robert Withers withers at vnet.net
Thu Feb 10 18:01:52 UTC 2000


doh!

Robert Withers wrote:
> 
> This is a very interesting thread.  C++ has some fine features in it
> IMHO.  References and operator overloading come to mind.  Unfortunately,
> it tries to be a dynamic OO environment (is there any other kind that
> suits the task?) while maintaining static type safety/checking.  Combine
> this with a few issues in Memory management and the unsafeness of
> dynamic casts, and we have a Gordian knot (trivia: Who untangled the
> Gordian knot and where in the world was it?).  I am being critical but
> not personal about my comments.  I hope they aren't taken otherwise as
> language wars are boring.
> 
> To bring this light back to Smalltalk, (standard disclaimer about facts
> which could be interpreted as my opinion...), the browsers are very
> powerful tools that are hard to replicate in other environments.  There
> are some that are close, but still, these environments fall short of our
> flag.  Why is that?  I believe that it is because the language features
> of smalltalk (message passing system, no compiler BS, full recursive
> definition of the universe [1]) are the real productivity boosters to
> Smalltalk, so I would have to disagree with you.  It is these features
> which result in a natural state of mallability.  The browsers,
> inspectors, debuggers adn other tools are mere windows into that world.
> I do like to think that they are experimental apparatus that we use to
> interact with portions (dimensions) of the Smalltalk universe.  Since we
> are in the business of redefining language for specific domains, we
> basically define our own laws and physical behavior.  It is a step up
> from Physics in this regard as Physicists can only detect and manipulate
> the world they have.  We get to create new ones.
> 
> Those skins are *COOL*.  They deserve a prize of somekind.  Like 'the
> coolest squeak molecular structure of the year'!
> 
> cheers,
> Rob
> 
> [1]  - it could actually be viewed as the basic dimensional structures
> and dynamics of the universe.  Much like Superstrings in Physics are
> believed to not be just parts in the universe, but actually define the
> universe and it's properties.  Think of defining a particle that
> represents Space-time and all Physical characteristics: Grav Constant,
> coeff of mag, coeff of elec, pi, strong force, quantum number levels for
> stable wave functions of bound particles, ...  This is what the
> meta-level model of Smalltalk is to me.
> 
> Steve Wart wrote:
> >
> > Nice defense of C++, but there's one thing missing: I submit that the main
> > productivity boosters of ST are the browsers (particularly Class Hierarchy
> > Browsers) and inspectors.
> >
> > Most C++ (and Java) environments are totally file-based. That's what I can't
> > get my head around. Late binding, incremental compilation are really not
> > that big an issue if you have a debugger that lets you edit code and proceed
> > (do MS tools do this? Are there any *free* C++ tools that do this? Are there
> > *any* C++ tools that do this?).
> >
> > This debate generally degenerates into a tools argument, and language
> > purists dismiss tools as somehow being irrelevant. One reason that C/C++
> > programmers are often horrified by ST is that the development environment is
> > part of the released product. But I still remember a CS prof I had who
> > insisted that it was utterly irresponsible to remove debugging symbols even
> > from a released product, so isn't Smalltalk just a logical extension of that
> > concern for responsibility?
> >
> > BTW, I have never learned C++, but managed to pick up Smalltalk without any
> > troubles. The main reason is obviously that I was given an opportunity to
> > learn Smalltalk at a point in my life where I was open to learning something
> > new and complex. If I had been working for a C++ shop, that's where I would
> > be right now.
> >
> > I'm glad I learned Smalltalk. Everything I've done in the past 8 years now
> > runs on almost every computing platform that matters to me. If I had been
> > working in C++, I would have had to start over from scratch at least 3 times
> > in that period. And if I had to pick up a project in C, C++ or Java, I would
> > make extensive use of the practices I've picked up as a Smalltalk
> > programmer.
> >
> > In other words, Smalltalk is *practical*. And because of its nature, it
> > becomes increasingly relevant, although it is competing against (or has to
> > live up to the expectations set by) the OS vendors more than it is against
> > the language vendors. Which is a pretty tall order.
> 
> --
> --------------------------------------------------
> Smalltalking by choice.  Isn't it nice to have one!

-- 
--------------------------------------------------
Smalltalking by choice.  Isn't it nice to have one!





More information about the Squeak-dev mailing list