Novel Thoughts on Scripting and Languages
judoscript at hotmail.com
Fri Jan 10 07:11:06 CET 2003
Andrew Dalke <adalke at mindspring.com> wrote in message news:<avj741$r77$1 at slb3.atl.mindspring.net>...
> James Huang:
> > As I said, "I guess"-ed. Weakly-typed-ness, are variables required to
> > be declared with types before use, and do not change for most
> > situations? I know VB has a strict mode that enforces this.
> That's static typing. C is statically typed, but weakly typed.
> For example, in C you can add a pointer, and integer, and a character,
> but the types are all declared.
Without static typing, what good does strongly-typedness do?
> Python is strongly typed and dynamically typed. There are no pointers,
> and integers and strings cannot be added.
> Perl is weakly typed and dynamically typed.
> Java is strongly typed and statically typed. (Though normally
> I would use Eiffel as an example.)
> > Java and Python are so
> > similar to each other in terms of programming models, conceptually it
> > is hard for me to see which has a clear advantage. We have big Java
> > software products like Weblogic, WebSphere, etc. (funny Sun has none,
> > or, none that is successful.)
> Similar? Hmm ... How so?
> I've seen Java programmers who start writing Python code. Their
> code is distinctively not Pythonic.
> Python is dynamically typed, strongly typed, supports multiple
> inheritance, allows user-classed to redefine how they work with
> operators like +, -, *, , etc., allows a mixed OO and
> declarative programming style, has a highly dynamic runtime
> where I can even change an object's class on the fly, and
If you can change the class on the fly, does this break the
strong-typedness? It's sort like (void*). JudoScript does the same
thing, because an object, after all, is a map with a list of
associated methods/functions; unless, of course, it is a Java object
Python seems to have quite a few dangerous features that lack in Java
but do exist in C++. Java was born so many years after C++ and Python,
so there must be some reasons, I am afraid. Otherwise, with good
discipline, C++ can be just as good (except for garbage collection).
... see below.
> lets me work interactively, so I can query objects while I'm
> experimenting with them.
Cool, great usage feature for prototyping (I'm serious).
> Java is statically typed, strongly typed, only allows single
> inheritance, doesn't allow operator redefinition (making for
> horrible constructs like myString1.concat(myString2) instead
> of myString1 + myString2), only allows OO programming (but
> fakes functions by using a static method - blech!) and ...
> well, I know very little about Java's runtime but I suspect
> you can't easily change classes around. And it has a
> separate compile-run environment which makes it hard to work
> with your objects directly.
It's the statical typing that make strong-typedness a big help for
boosting software quality -- the compiler! And that's what makes me
wonder people implement big software without the help of compilers.
> OTOH, compared to APL or Prolog, Java and Python are busom
Actually you are right; nobody compares Python and Prolog because they
*are* different. People compare C++, Python, Java, ... because they
To me, Python and Java are similar because they both support class and
inheritance, and garbage collection. I wouldn't say C++ and Python are
similar. Of course, variable declaration or not, blah blah ...
> James Huang:
> >>>Even so, Java is still unbeatable.
> Dave Brueck:
> >>I feel the same way about the color 'forest green'. Surely on that basis
> >>alone people will come around to my way of thinking, right?
> James Huang:
> > Not so sure what you mean but that's ok.
> I'm rather partial to a dark green color myself. Doesn't
> mean everyone else will join us in that prejudice. Nor
> should they. My girlfriend like brown, and those two colors
> complement each other well.
> It's your belief that Java is unbeatable. I and others have
> different opinions, and they we aren't going to change
> any time soon.
> dalke at dalkescientific.com
More information about the Python-list