Monday, May 15, 2017

Welcome and Motivation

Welcome to Java trails, your guide to becoming a better software developer! The goal of this blog is to provide a comprehensive overview of the Java programming language. It is an exciting time to learn Java programming. Java is currently the most popular programming language, and it is the one most used in the industry. In fact, the TIOBE Index (, which measures programming language usage, lists Java as having one of the top two spots since before 2000. Learning Java will provide you with a solid programming foundation that will be useful for years to come. You will also have a marketable skill that will allow you to find highly sought after jobs in the software development industry. In addition, you will learn how to write clean, elegant code, which can be applied to other languages. This blog can be used by both students who want to learn how to write Java programs, as well as professionals who are learning Java for the first time or coming from other languages.

I will start by focusing on core Java programming concepts (assignments, flow control, object oriented programming, collections, core APIs, etc). Along the way, you will learn the tools that software developers use to maximize productivity and write the best code. Once you have a solid understanding of the basic programming techniques, you will be ready to move on to more advanced topics such as creating Java web applications.

Why another blog?

You may be wondering why another blog on Java programming is needed when there are many other tutorials and books on the subject. I found that most of the existing Java resources were lacking in one or more areas:

1. Depth. Most blogs contain enough information to get a basic understanding of Java, but they do not provide enough coverage of the language (threads, garbage collection, string parsing, etc.) that allows you to really understand what is going on and write professional code. My goal is to provide a solid foundation of all aspects of the Java programming language and not gloss over important concepts.

2. Clarity. Many academic resources and programming references are notorious for being too complex, when the ideas they are explaining are actually much simpler. Consider this paragraph from the Java Language Specification:

The floating-point types are float and double, which are conceptually associated with the single-precision 32-bit and double-precision 64-bit format IEEE 754 values and operations as specified in IEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Standard 754-1985 (IEEE, New York).

The IEEE 754 standard includes not only positive and negative numbers that consist of a sign and magnitude, but also positive and negative zeros, positive and negative infinities, and special Not-a-Number values (hereafter abbreviated NaN). A NaN value is used to represent the result of certain invalid operations such as dividing zero by zero. NaN constants of both float and double type are predefined as Float.NaN and Double.NaN.

From this description, you might understand that float and double variables are used to represent positive and negative decimal numbers. But I bet you had to look hard to figure that out. Having a technical specification is good for academics and language implementers who need precise definitions, but it is a poor resource for people learning a new language for the first time. I am able to explain complex subjects in a focused, simple style that will make the learning process much easier for you.

3. Up to date information. Java has been around since the early 1990s, and there are tons of books and tutorials that you can find on the subject. A common problem is that blogs do not get updated, and books get out of date as Java continues to add new features and mature as a language. As a result, you may think that you understand certain concepts only to find out that there are newer and better ways to do the same thing. My goal is to keep you informed about the latest changes in the language and update existing articles as new features get added.

I believe that learning Java programming will be a fun and rewarding experience given the proper instruction. So what are you waiting for? Let's get started on our journey to becoming a great Java developer!

No comments:

Post a Comment