Useful Links
Like any human language, Java provides a way to express concepts. This means of expression is significantly easier and more flexible than other alternatives as problems to solve grow and become more complex.
Java technology is about design, not just coding (see books below).
Java technology is not just a collection of features because features make no sense when isolated. It actually deals with a wide range of design concepts: interface versus implementation, abstraction and encapsulation, messages and functions, inheritance and composition, the all-important polymorphism, object creation and automatic cleaning with the magical garbage collector, error handling with exceptions, multi tasking, (limited) reflection, etc... In a way Java is - as a general purpose language - a very good compromise of all high-level languages that have been designed, used and tested during the three last decades.
Eventually there are other languages and Java connects easily with these other languages (C++, C, ASM, IceTea, etc.), allowing smart legacy code management and smooth transitions.
Recommended Litterature for new comers to Java or to Object Oriented Programming
Thinking in
JavaBruce Eckel - ISBN 0121003872 - 2002 - Prentice Hall Free HTML electronic version here Thinking in Java, 4rd ed. Bruce Eckel - ISBN 0131872486 - 2006 - Prentice Hall Purchase here |
Recommended Technical Litterature for Embedded Java Design
Design patternsErich Gamma, Richard Helm, Ralph Johnson, John Vissides - ISBN 0201633612 - 1995 - Addison-Wesley |
Embedded
Systems DesignArnold S. Berger - ISBN 1578200733 - 2002 - CMPBooks |
Real-time
systemsJane W.S. Liu- ISBN 0130996513 - 2000 - Prentice-Hall |
Virtual
MachinesJames Smith, Ravi Nair - ISBN 1558609105 - 2005 - Elsevier |
The Java
Virtual Machine SpecificationTim Lindholm, Frank Yellin - ISBN 0201432943 - 1999 - Addison-Wesley |
The Java
Language SpecificationJames Gosling, Bill Joy, Guy Steele, Gilad Bracha - ISBN 0321246780 - 2005 - Addison Wesley |



Thinking in
Java