Re: Static vs. Dynamic typing (big advantage or not)---WAS: c.programming: OOP and memory management
From: Denis Johnson (allobjects_at_optusnet.com.au.nospam)
Date: 07/12/04
- Next message: Edward G. Nilges: "Re: Was: what does "serialization" mean?"
- Previous message: Mudge: "XML over CSS"
- In reply to: Thomas Gagne: "Re: Static vs. Dynamic typing (big advantage or not)---WAS: c.programming: OOP and memory management"
- Next in thread: Ron Ruble: "Re: Static vs. Dynamic typing (big advantage or not)---WAS: c.programming: OOP and memory management"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 12 Jul 2004 09:32:03 +1000
On: Fri, 09 Jul 2004 00:10:27 -0400 Thomas Gagne wrote:
> <snip>
> Lower-level and statically-typed languages have a use, and I use them
> when appropriate. The question at hand, I thought, is when is it
> appropriate? As has been suggested by other posts that one language
> might be able to it all doesn't strike me as plausible. C++ already
> tries to do that and is too-complex (IMO) as a result. The older it
> gets and the more things added to it (as is happening to Java) the more
> difficult it becomes to master.
> <snip>
On the point of creeping complexity, IMHO what seems to elude most
people is the inherent weakness in the language design of many if not
all curly brace languages including C++ & Java, is that their very
syntax has needed to be altered to support new features. That is a major
contributor to creeping inconsistencies and complexity increases.
Developers are required to learn and retain in their head while coding,
more and more syntactic acrobatics, rules, special cases etc. It is the
very reason why these languages are more complex to code with and by
their nature are also less productive. They eventually evolve themselves
into a corner where language evolution, backward compatibly and
complexity become deadlocked. Ultimately they along with the large
systems written in them begin to fail under their own weight.
IMHO, this is the differentiating point that most people don't seem to
get about Smalltalk and others including Lisp & Self. Smalltalk syntax
by design is extremely consistent, has only 5 reserved words, and the
entire language syntax fits on a single A4 *** of paper. When
everything truly is an object (no primitive types) and all operations
only and consistently involve messages between objects, no compromises,
then just about anything is possible and straight forward. That is why
it has not remained stagnant, it has evolved so much in terms of
features & functionality without requiring changes to its syntax and
therefore remained consistent and simple. All advances and improvements
have and continue to be in the form of new classes, libraries, tools and
also virtual machine enhancements. It is also the reason why it is the
language of choice and frequently also the source of innovation in areas
of language and development research because new ideas and concepts can
be easily explored, prototyped and implemented. It is also the reason
why Alan Kay and others have used it as the the very vehicle for
evolving language design and ideas and why Squeak is what it is today.
Look at what he an others are achieving with Croquet
http://atsosxdev.doit.wisc.edu/croquetdevelopment/index.html
IMHO, if it is Smalltalk or something else that evolves is irrelevant,
the foreseeable future belongs to dynamic languages that embrace and
build upon the entire Smalltalk dynamic and OO philosophy. Only such
languages and platforms will continue to innovate, evolve and help
manage complexity, not help create more.
I've coded serious systems in C, C++, Java amongst many others from the
curly brace world, and I have been doing Smalltalk in excess of the last
10 years. I know which I choose as my weapon.
- Next message: Edward G. Nilges: "Re: Was: what does "serialization" mean?"
- Previous message: Mudge: "XML over CSS"
- In reply to: Thomas Gagne: "Re: Static vs. Dynamic typing (big advantage or not)---WAS: c.programming: OOP and memory management"
- Next in thread: Ron Ruble: "Re: Static vs. Dynamic typing (big advantage or not)---WAS: c.programming: OOP and memory management"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]