Smalltalk: Requiem or Resurgence? {Dr. Dobb's Journal
(05/06/06) Chan, Jeremy}
Alejandro F. Reimondo
aleReimondo at smalltalking.net
Thu May 11 13:59:20 UTC 2006
Hi all,
IMO we confuse people when we try to talk to them
using the same language, and words they use for
current tools.
Some words we use and we *must* think about
the convenience to continue doing the same way
are:
-Smalltalk as a (dynamic) language.
no comment now on the topic because I have
written on it in the past and no answer has been
received in this list (why?).
-I think it is one of the most important word to confuse
people and force them to do not think in other terms
than talking to a computer... (instead of building systems
or working in a non-declarative manner)
-"Class"
aClass is an element of a formal theory, like aRule
but more complex.
Java, C++ and all other OOL use classes...
because they are languages and can be used *only*
declarativelly (in an object ORIENTED way).
We use (in Smalltalk) an expression for creating "classes",
but really we do not have classes, we have "SPECIES"
in smalltalk, because we can use smalltalk in other manner
than declarative ways, e.g. doing non-formal activities.
I say "sepcies" because they have organic relations
conforming an ambience (an open system where
evolution can be observed as a subproduct of systems
development -not planned- ).
Why we talk about "Classes" and not about Species?
Have we evaluated the cost of continue talking that way?
Why we talk about packages and not about organs
and organisms?
If we use the same words as scientist used for theory,
people will think in terms of known facts, and will
compare Smalltalk's syntax, frameworks or other
OO povs; but never will be interested in other topics.
(most smalltalkers use smalltalk as a very good IDE
and design using pieces of paper; and miss the
differences between non-formal design and informal
design)
-Image
When we talk about "the image", people does not
understand the convenience of developing "applications"
that way.
But also we give people the idea of considering Smalltalk
as a container (of objects).
This kind of argument is valuable for newbies, but must
be corrected early in the instruction process, because
inhibit people to undestand/realize activities on open
systems.
The concept of "living" system (I prefer the world "ambient"
to do not make analogies to nature) let people put the
formal/declarative way of producing software in its
place and recognize that there are situations where
we need more than OO techniques to build systems.
-Variables
we use the term "instance variable" for the collaborators
of an object.
The world variable has well known meaning in traditional
computing, and refers to a place in memory that
"varies" contents.
We put "names" to objects in smalltalk, but do not use
variables because we do not consider memory as a
directionable (through names nor numbres) device.
-Assignment
we assign a name to an object in smalltalk
(we name objects) and the concept is not the same
of assigment of a value to a variable as in Pascal.
-Evolution
when we talk about evolution, people understand the
term in a colloquial meaning, and most of the time consider
that evolution is something that can be produced (an object).
Evolution as an emergent/cocnecuence of the survival
of a system is something not "natural" for people (nor
for Darwin :-P )
-Message & method
people talk about them without paying attention to the
differences; if we do not correct the ambiguity sooner
the words we say have diferent meaning.
If we do the correction, we must not continue talking
until sure about the listener undestood the concepts.
In both cases dialoge is broken and is not possible
to talk to an unknown/big audience.
-Frameworks and engines
It is correct to talk about frameworks in Java and in Smalltalk,
because both are usefull to specify anstractions.
It is not correct to talk about machines (or engines, an
instantiation of a framework) in Java (or C++, or .Net)
because they are not ambiences and abstractions
are not used/present at the same time as running instances.
-Code
When we talk about (source)code (or genetic code)
we are promoting to do not consider the convenience
to work with objects.
The same occurs when we say that smalltalk is "A/one"
language.
Smalltalk contains a native language, but can hold many
languages each for a diferent context...
-object ORIENTATED
Smalltalk is not object oriented.
Java, C++, .net and other oo plataforms and decarative
languages are object "oriented" becasue you do not have
the object (the instance) to talk to.
-information
people view information as anObject.
we can use the ambience to show taht there is another
ways of thinking about information (e.g. "information as aProcess")
( more on information:
http://www.truxton.com/~trux/etc/boi/
spanish version at
http://www.smalltalking.net/Papers/boi/boi.html
)
cheers,
Ale.
----- Original Message -----
From: "Marten Feldtmann" <m.feldtmann at t-online.de>
To: "The general-purpose Squeak developers list"
<squeak-dev at lists.squeakfoundation.org>
Sent: Thursday, May 11, 2006 3:59 AM
Subject: Re: Smalltalk: Requiem or Resurgence? {Dr. Dobb's Journal
(05/06/06) Chan, Jeremy}
> Klaus D. Witzel schrieb:
>
> > Quote:
> > Jonah Group principal consultant Jeremy Chan cannot verify a
> > resurgence in the use of the Smalltalk object-oriented language as
> > indicated by Georg Heeg at the recent Smalltalk Solutions Conference,
> > noting that none of his company's customer requests exhibit a desire
> > for Smalltalk.
>
>
> I'm not sure, if Georg Heeg means "new" customers. Perhaps he sees
> reactions
> from old customers, who remember their investment into Smalltalk 8 years
ago
> and these programs are running and runnning ... and now these customers
> are updating their application with VW 7.x .
>
> Another story I heard was, that these old customers realized, that
> money is
> short and its much cheaper to enhance their old running applications than
> to rewrite it from scratch - not knowing, if this would work.
>
> And another rumour was, that these "enhancements" are often against
> company rules ("we do all with Java in the future") and these investments
> are below a magical amount of money, where the local subsidaries of
> these companies can do the enhancement investment without querying
> the bosses of the IT departments in the main company.
>
> Another little chance for Smalltalk (again ...) could be a reborn of
> dynamically typed languages. I've heard a presentation about what
> programming languages are missing today and in the future and one of
> the major points was: meta programming facility. This does not mean
> reflection as available in .NET or Java - but the powerful systems of
> LISP and Smalltalk. Signals in this direction comes from some IBM
> research laboratories and from the .net group from Microsoft.
>
> Marten
>
> --
> Marten Feldtmann - Germany - Software Development
> Information regarding VA Smalltalk and DMS-system
> "MSK - Mien Schrievkrom" at: www.schrievkrom.de
>
>
More information about the Squeak-dev
mailing list
|