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