Squeak-dev Digest, Vol 22, Issue 20

Giovanni Giorgi jj at objectsroot.com
Fri Oct 15 10:28:28 UTC 2004


Ciao!

Rick McGeer ha scritto  in data 15/10/2004 1.24:

> [...]
> This gets to the heart of the strong- vs weak-typing issue, and so 
> let's address it.  The notion that there is a clean separation between 
> design-, compile-, and execution time is a myth; and an expensive and 
> destructive one at that.   Software isn't a concrete artifact like a 
> boat or a car or an airplane.  It's an instantiation of a dynamic 
> interaction with an environment.  

This is a very interesting point.

> This means paper designs aren't worth the disk space they're written 
> on -- because nobody understands a dynamic interaction until they see 
> it in action.  In other words, coding is design and design is coding.  
> [...] This also means that coding never stops, because the environment 
> the code executes in is constantly changing.   A talented programmer 
> understands this, writes for a  bald environment (in other words, 
> makes very few assumptions about what the environment looks like),

I  cannot agree to this.  The correct statement in my humble opinion is 
"Coding is *poor* design", at least in software for production environment.
I find difficult to do a continuous coding and to leverage it to a good 
design, *when* the driving force is a strong marketing, and you cannot 
count on stable specs and so on.

My all-day-work is a good balance between "Code as a monkey" and "Design 
as a monk, thinking BEFORE writing something and looking at a UML 
diagram ipnotizing me :)".
When I am a monk  :)  I order the classes by "potential frequency of 
change", implementing the more unstable in a very fast way.

I agree it is impossible to statically "prevent" every error: this is a 
utopistic idea.... I know it now :)

Coding by examples or like an animal adapting to a unknown environment 
is  a working but slow tactic.
So the project management accept the use of strongly-typed language 
because it seems more simple to control and to track changes with them.
By the way compiler can produce a little more efficent code knowing 
types and so....

I do not know if it is even possible to gain the same ability to track 
changes in a "self or smalltalk"-like language.
Lat but not least: Java is going to become a dynamic language with a lot 
of very very static types in the code :-)

[...]

-- 
.............................................................
 Giovanni Giorgi               ObjectWay SpA - Milano
 http://www.objectway.it    via Boltraffio, 7 - 20156 Milano
.............................................................





More information about the Squeak-dev mailing list