Learn Java Programming Today
Introducing Learn Java Programming Today - a different kind of programming book for anyone who wants to learn Java.
Learn Java Programming Today |--------| |--------------| |---------------|
I'm working on a new book about learning how to program in Java. The book will be quite different from the usual programming book. Most programming books will present you isolated examples of language syntax, leaving you to complete the picture when you actually need to achieve something. Learn Java Programming Today takes you on a complete journey from the start to the finished program that you can use, learning the necessary features of Java on the way.
At the time of this writing, Java is number 4 in the TIOBE Index, and number 2 at PyPL, and even though the 30th anniversary of Java is right about now, it doesn't show signs of stagnation. As a software developer it may well be in your interest to learn Java, and this book is going to help you.
The book is intended for developers who already know how to program in some other language, but find that they want to or need to learn Java. The book will not waste your time explaining what a variable or a for loop is, but rather gives you the information you need about how they appear in Java, along with features that may not have exact equivalents in other programming languages.
I would like to invite you to give feedback and suggestions about the topics that the book will cover and the order of presentation, or just express your interest in the book. Please send your comments by e-mail to the address "info" (at) "coniferproductions" (dot) "com", and I will let you know when the book is available.
Here is a draft outline of the book. Everything is, of course, subject to change, based on your feedback and my thinking. Each section will have much more material than the headings indicate.
Introduction: What are we building? We are building Today! Today is a utility that shows you things that happened on this day in history (births of notable people, historical events etc.). Later on it will also be extended to show days that are observed yearly, such as Pi Day. You will also be able to add your own events easily.
- Part 0: Getting the tools ready (JDK, editor/IDE, Maven etc.). Java versions.
-
Part 1: Warming up the Java Virtual Machine
- What day is it? Learning about JShell and library classes for time
- Birthday - environment variables and command-line arguments, handling strings
-
Part 2: Building the Today program
- Events and categories - object-oriented programming in Java with classes and records
- Making a list of events - learning about Java arrays and collections
- Reading events from a text file - files, paths, directories
- Filtering events by date
- Printing out the results
- Adding a command-line interface - external libraries
- Unit testing with JUnit
-
Part 3: Adding new capabilities
- Introducing the Event Manager - singleton design pattern
- Reading events from a CSV file - another external library
- Introducing event providers - events from several sources. Learning more about Java interfaces.
- Reading from a web endpoint using HttpClient, processing JSON
- Reading from a database with JDBC - a local SQLite database of events
- Filtering events by multiple criteria - Java streams
- Adding events
- New kinds of events - inheritance and polymorphism in Java
-
Part 4: Wrapping it up
- Packing the program for execution and deployment
- Using the program in a shell (bash, zsh, PowerShell)
The title of the book, Learn Java Programming Today, is intended to be read in many different ways. The combinations that make most sense, given the outline above, are: "Learn Java", "Java Programming", and "Programming Today"; the latter meaning both "programming the Today application" and also "programming in this day and age".
The book will be self-published. Expected availability is some time in 2026. Looking forward to your comments!