Asad Habib wrote: (top-post corrected)
- Asad
On Fri, 6 Jan 2006, Lennart Regebro wrote:
On 1/6/06, Asad Habib <ahabib@engin.umich.edu> wrote:
Well, the class is simply a construct that Java uses to define an object. Also, the concept of object is well defined in Java which makes it easier for the programmer to know what can and cannot be done. In Python, it is not as explicit. Java is a programming language and hence cannot be compared directly to a scripting language such as Python or PHP. These 2 types are designed for different purposes.
The difference between scripting languages and programming languages are an illusion. :)
Actually, that's not true. Languages such as Perl and Python were designed to write scripts, not to code entire applications.
What is the core difference between a script and an "entire application"? BTW Java (which was named Oak by that time) was designed for embedded systems, where it proved to be a complete failure. And C was designed as a 'system' language, but is still used for application programming.
Python is an exception because it can be successfully used to code large applications,
If it can be used to program, then it's a programming language. And if it can be used to write large applications, then I don't see your point at all.
unlike some other scripting languages. So it's best to call Python a "scripting programming language" because it has this dual nature.
Just call it a programming language. That will be simpler. Now it's true that Python can *also* be used for scripting - while Java cannot.
All said and done, I prefer to use Java over Python for large applications
This is perfectly legitimate, but doesn't mean one language is better/more OO/anything than the other
simply because it's cleaner
Depends on the definition of "cleaner". I personnaly find Python much more cleaner than Java.
and has mechanisms in place that support reusability of components and extensibility.
So does Python. But you can't know, because you don't know Python (or you would not post as much non-sense).
Also, OO concepts such as abstraction
'abstraction' is not an OO concept. It's a concept, but not specific to OO.
and inheritance are well defined in Java.
In Python too.
Also, both compiled and interpreted languages have their advantages and disadvantages.
Probably, but this is irrelevant here since Python is byte-compiled just like Java. -- bruno desthuilliers développeur bruno@modulix.org http://www.modulix.com