Learning Java

People often describe Java by comparing it to C++. In many ways, one could say it is a successor to the older programming languages. Java automatically handles the reclamation of memory (garbage collection) and has various other features that eliminate all classes of bugs. While C++ maintained compatibility with the older C language, Java can be seen as abandoning the C legacy, fully embracing the principles of object-oriented programming.

For people who may not know what object-oriented programming is, object-oriented programming can be seen as a collection of cooperating objects, as opposed to a traditional view in which a program may be seen as a collection of functions, or simply as a list of instructions to the computer. In object-oriented programming, each object is capable of receiving messages, processing data, and sending messages to other objects. Each object can be viewed as an independent little machine with a distinct role or responsibility.

This course, as you may guess, should teach you everything you would want to know to become an expert Java programmer. Java is a popular and elegant language that every programmer should have in his or her bag of tricks.

If you are a beginner to programming, Java is a good place to start. If you already are fluent in any other programming languages, Java is a good way to enhance your computer vocabulary.

Note: Since this course is still under construction, you might want to check out some of these other tutorials that are quite good:

Java programs are often portable amongst major Operation Systems such as Linux, Windows, and Mac

Is often very easy to decompile

Cons

Is not as powerful as a language like C, C++, or Assembly in that it cannot easily access low-level functions such as are needed for device driver programming (This functionality is only need in specialised situations)

Often runs too slowly on older computers to be as easily usable as a program written in a language like C or C++

Requires a rather hefty runtime environment to run: The Java Runtime Environment (~30MB)

The Java Runtime Environment's standard library classes are extensive enough that neophytes can be confused and/or intimidated. On the other hand, they also are a tremendous resource and can save a considerable amount of time.