Learning OOP...

Mike mrm677 at yahoo.com
Tue Jun 12 23:09:05 CEST 2001


JAVA is *not* a very good general-purpose language IMHO.  

The Java Virtual Machine is just not efficient and is not integrated
well enough into operating systems such as Windows.  How many
applications, besides Java IDE's, are actually in widespread use?  I
believe Corel actually tried to sell a Java-based Wordperfect Office,
but it flopped.  JAVA has its uses, but not for general-purpose
development.  It is also quite complex to learn and use.

I'll admit that the language is very elegant, too elegant.  Just to
open a file and read strings, I need several classes (InputStream,
FileBuffer, etc, etc, etc)!!!  To write an application in Java
requires nearly as much code as C++.  It is just too low-level, yet
tries to be high-level at the same time!  Sure, C++ allows an
incompetent programmer to make many mistakes that are fool-proof in
Java such as memory leaks and bad pointer use.  Java is attempting to
make a low-level language fool-proof, which to me is an oxymoron.  You
claim that JAVA reduces development time through the use of garbage
collection.  This is true even for competent C++ coders.  However, if
you are that concerned about development time, then you are better off
using a RAD tool such as Visual Basic or Python.

Python is a wonderful language.  If you are doing high-level work
where speed is *not* important, than Python and equivalents are your
best choice.  Why use Python instead of Java for general-purpose
development?  How do you distribute your Java applications besides
through the WWW?  If the JVM where truly integrated into Windows, then
this wouldn't be a problem and I wouldn't be making these claims.  But
it is not.

If you are doing industrial-grade applications, or work where speed is
crucial, then compiled languages such as C and C++ are your best bet. 
Java just can't compare in terms of speed and memory usage.

The *only* place where JAVA fits in is for special circumstances such
as the WWW and maybe for servlets.

Regards,

Mike
C++/Python coder
ex-Java Coder



steven_shaw at users.sourceforge.net (Steven Shaw) wrote in message news:<503ca784.0106112030.3d434e08 at posting.google.com>...
> Java is the language that best suits your requirements.
> 
> 1. OOP and "business/enterprise oriented"
> 2. A good career move!
> 3. Code reuse - I guess so
> 4. Debugging tools - free IDEs JBuilder and Forte
> 5. Strong typing no generics - use GJ for generics in Java
> 6. Java is pretty easy to learn - a no brainer. Perhaps
>    not quite as easy to earn as Python.
> 7. Reduced development times could come from Java's
>    automated garbage collection.
> 8. Java is portable and scalable?
> 9. There's so much Java open source code available it's not funny.
>       http://jakarta.apache.org/   http://enhydra.org/
>       http://exolab.org/           http://jacorb.org/
> 10. Source code is familiar (to C/C++ programmers, anyway) and
>     easy to read.
> 11. Many Java tools are free - like the JDK. The compilers are
>     ok but you can't seem to get a free native compiler just yet.
>     gcj is on the way. JVMs are freely available for most platforms.
> 
> You've not mentioned performance as a criteria - otherwise my
> recommendation would have been made more difficult :-)
> 
> Perhaps you are not elucidating some requirements that led you to
> think of ADA? Perhaps that language is used widely in your industry?
> 
> Java can be used effectively with Jython for the things you decide
> it's best you don't have strong typing. Understand that the
> edit/compile/run turnaround can sometimes slow down development when
> using Java (compared to using Python/Jython). Using an IDE such as
> JBuilder or Forte should help with this problem.



More information about the Python-list mailing list