Christopher Smith wrote:
Smalltalk would be dynamic and unbounded, because the polymorphism is
entirely at runtime, and there is no requirement to define a base class.
Every class depends from Object. In theory, you can actually create a
class without having Object in its superclass heirarchy, but in practice
nobody actually does that.
That's why I said it was bounded. Unlike C++, where you can have two
classes who share *no* common ancestor.
The only "rule" being violated, AFAIK, is casting between pointers to
data and pointers to functions.
Right. Well, ok, now put it on an architecture where data is in one
address space and code in another. Suddenly it's not working again. And
so on.
In general, as Java (and Ada before it) has demonstrated so well and so
often, while there are advantages to a language define all aspects of
the runtime environment, it can be a good think to leave some of the
work to a platform.
Yep. Not that I say C's approach is "wrong" as such, but to say (for
example) that C is better for writing OS-level code than something else
is ignoring that once you start writing OS-level code in C, you're often
abandoning C in favor of "whatever your C compiler outputs for this
undefined-semantics chunk of source code." :-)
--
Darren New / San Diego, CA, USA (PST)
It's not feature creep if you put it
at the end and adjust the release date.
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg