Quote:
Originally Posted by ThomasP
What's wrong with Java?
|
Java isnt built to run on small embedded devices. The main point of Java is to provide cross platform compatibility. When you compile a Java program, it does not compile to straight machine code, as a C program does. It compiles to whats called Java Byte Code, which then has to be run through an interpreter to be turned into machine code your processor can understand. Based on your system (Windows, Mac OS, Linux, UNIX, etc..) you will need a different interpreter. We are all using the same system in FIRST, so there is no need for that level of abstraction. Java is one of the slowest languages out there, and when developing for embedded devices you want to strive for speed and efficiency.
The reason AP CS is taught in Java is for its wide range of compatibility, and the fact it is an object oriented language which is built off the idea of classes. While your final product may be slow and limited, the programming methods you must use to create applications is very robust and practical. The AP CS class doesn't exist to teach you Java, but rather to teach good programming techniques in an object oriented language.