Introduction to Java - OperationCode/member_content GitHub Wiki

What is Java?

Java is a programming language that is based on the C++ language, though there are some significant differences. It was invented by a man named James Gosling during a TV project at Sun Microsystems [1]. The language was initially created to solve problems that were inhibiting Gosling due to certain aspects of the C++ language.

Two major differences between Java and C++ intended to simplify the programming process are:

  • Java automatically handles memory management.
  • Java uses single inheritance only.
    There are of course many more subtle differences, but these are the ones that someone new to the language should know early on.

Why Java?

Java is one of the most popular languages today and developers are in high demand. If you are wondering about Java’s impact you may find it interesting to know that the Android OS only runs Apps programmed in Java. There are also other reasons such as the “write once, run anywhere” philosophy. If you follow best practices, i.e. use those methods that are designed to be Operating System independent, you can to a large degree succeed in writing a program that will run the same on Linux, Windows, OS X, and any Operating System that supports Java – which is nearly all of them [2].

Is Java right for me?

Whether it is your first or fifth programming language, one of the hardest things for a programmer to decide is whether or not to commit to learning a particular language. This is in some ways due to the fact that all languages offer certain advantages and disadvantages. Which ones will stay current? You don’t want to waste time learning a language for it to fade out and become obsolete. It is a big decision, but one that is slightly easier if you have prior programming experience.

Java is a fantastic language, but Python 3 is another great and easy to learn language that is quickly growing in popularity. There are also web-oriented languages like PHP and Javascript, though Python also has a powerful web development framework called Django. If you are new to programming you should establish it in your mind now that you will be learning multiple languages. While this may seem daunting now, it will become much easier to pick up new languages once you have a solid foundation in programming techniques.

The best advice one can give is to do some background research on each language then just pick the one that interests you the most. The important part is to stick with it long enough to master basic programming techniques. Then when you venture out to other languages you will find that the techniques and concepts are largely the same from one language to the next. Learning a new language will then primarily consist of familiarizing yourself with the equivalent syntax and function names of the new language.

Where to go from here?

There are many avenues for furthering your knowledge of Java. Below are some recommended books and excellent (and free) Online resources. Note: Always make sure that the book is still current before purchasing and that a newer edition has not been released.

Recommended Books:

  • Sams Teach Yourself Java in 21 Days Seventh Edition by Rogers Cadenhead.
  • Java In Easy Steps Fifth Edition by Mark McGrath.

Free Online Java Resources:


References

[1] Cadenhead, Rogers. (2016). Sams Teach Yourself Java in 21 Days Seventh Edition. Indianapolis, IN: Pearson Education, Inc.

[2] Oracle. (na). How Will Java Technology Change My Life? Retrieved from https://docs.oracle.com/javase/tutorial/getStarted/intro/changemylife.html

Disclosure:

This is primarily based on an article copied from https://www.mad-hax.com/2017/07/20/introduction-to-java-absolute-beginners/

I, the author James Cathcart (a.k.a. MAD-HAX), give express authorization for this to be used in this forum. If any information is used please give the appropriate credit/references to the article and myself.