J
John D.
asj said:i would hasten to point out that by learning to program in java, you
free yourself from the boundary of programming for just one particular
os or hardware product. it is an AMAZING feeling to see my apps running
on both my palm vx and my motorola i95cl color javaphone, and to know
that they could run just as well in any nokia/samsung/whatever
java-enabled phone, rim blackberry, or even wince (after installing the
jvm)!
Well, if you can make a living selling tic-tac-toe games or
ring-tones - that's fine. Once you start adding features and
functionality that will essentially limit your choices of OS and
hardware. For example, if your program requires internet access that
will limit your choices of devices it will run on.
You present Java as a silver bullet to all portability problems, but you
fail to realize that people has been doing the exact same thing all along:
write core functionality in a portable manner and pack OS-specific features
into interface libraries. For example, QT (http://www.trolltech.com) is much
better choice for cross-platform GUI development than Java.
I would hasten to point out that by learning more about computer
architecture, OS design and generic algorithms/data structures,
you will know exaclty where the boundary of programming for just one
particular os or hardware product lies, and that your so-called "freedom"
sometimes means self-restricting "confinement".