ROFL (was Re: Java)
brailsmt at yahoo.com
Tue Feb 13 16:29:53 MST 2007
This thread is just too much. Stuart includes digs against Ruby and Haskell too. I find it funny that the only people responding, with vigor even, are the Java fan boys.
There must be some underlying reason, but it escapes me at the moment...
/me mumbles something about insecurity and wanting everyone to agree with your viewpoint
For the record, I don't hate Java, it just isn't the end all, be all of programming languages. I enjoy programming in C/C++, Ruby, Shell and Perl, depending on which is the best fit for the task at hand. Same goes for Java, if it fits to job, great, otherwise, use what best fits the occasion. I just don't have the opportunity to use it often, if at all.
----- Original Message ----
From: Levi Pearson <levi at cold.org>
To: Provo Linux Users Group Mailing List <plug at plug.org>
Sent: Tuesday, February 13, 2007 5:19:40 PM
Subject: Re: Java
On 2/13/07, Michael Torrie <torriem at chem.byu.edu> wrote:
> From what I've read, they are bytecodes to allow the changing of a class
> on the fly. Adding methods, removing methods. The problem is that this
> seems to sort of shoe-horn small-talk style OOP into the rigid,
> Java-style OOP, which is really borrowed from how C++ implemented it.
> Smalltalk doesn't really have a concept of a class and a class instance.
> Rather everything is an object that listens for and can send messages.
> The messages themselves are analogous to Java methods. Python, for
> example, merely implements a __getattr__ method on every object that can
> be user-defined to bring this smalltalk-like behavior to python. So I
> wonder how well it will solve this problem. .NET's CLR seems to have
> bested the JVM in the dynamic realm. IronPython runs amazingly well on
> it currently.
I'm not sure what you mean when you say that Smalltalk doesn't have a
concept of a class and a class instance. Smalltalk actually has a
very well-developed concept of classes, though classes are indeed
objects as well. Every object has a class, which is an object of its
own metaclass. Metaclasses are also objects, and have a class as
well, etc. Thus, while everything is still an object, there are also
classes and instances. Here's a page that describes it, with some
diagrams that really help make it comprehensible:
It's Self, which is a derivative of Smalltalk, that eschews the
class/instance distinction and instead uses a prototype-based form of
While Java has the concept of classes, if I recall correctly it does
not treat them as fully-fledged objects, and I certainly don't recall
a concept of metaclass in Java.
PLUG: http://plug.org, #utah on irc.freenode.net
Don't fear the penguin.
More information about the PLUG