A few months ago I picked up a brand new 15" MacBook Pro. I thought to myself this is a perfect time to show others how I set up my local development environment for Java. With a fresh machine, this would be a lot easier to take students from step 1 to writing Java applications.
The reason I am telling you this is because I recently launched a new course around this. In this article, I am going to give you my tips for getting started with Java as well as some details about this course.
Getting Started with Java
When I first started out programming it was a little overwhelming to learn a new language. Part of that is because I am really really really old and we didn't have all the resources you have at your exposure today.
The other part of that is that it was really confusing to know what the easiest way was to set up a local development environment. If you were going to back a pie and didn't have a list of ingredients would you start baking? The answer is no, you need to have the required ingredients to bake and you need to have a solid development environment to write code.
With this in mind, I set out to help people in 2 phases. First, I want you to quickly stand up a development environment. There are traditional ways of installing software packages and there better ways that make this step really easy to do. Once this is complete you can write your very first Java program.
The other phase is introducing you to concepts like build tools, other languages that run on the JVM and some tools and frameworks that you will come across in your journey to learning Java.
When I was "Getting Started with Java", one thing that tripped me up was all of the acronyms the language used. What is a JVM, JDK, JRE and how do they differ from each other. Here are a few concepts to help you get started.
- Java - Java is the programming language that we are using to write our applications in.
- Java SE (Java Standard Edition) - When people are talking about Java, 99% of the time they are talking about the standard edition. There are other editions out there but we won't get into that at this time.
- JRE (Java Runtime Environment) - This is what you need to run Java applications. This is what non-developers will have installed on their machines to run Java applications.
- JDK (Java Development Kit) - JDK is what we as Java developers need to write Java applications. This contains the JRE along with tools like compilers and debuggers that help us create applications.
- JVM (Java Virtual Machine) - When we start writing Java applications we compile human-readable code into bytecode. That bytecode runs on the virtual machine and the JVM is what allows us to write our code once and run it anywhere.
- SDK( Software Development Kit) - This is a collection of libraries that we can use to build out applications. Java itself comes with an SDK for building out Java applications.
- JAR (Java ARchive) - A JAR is nothing more than a zip file that contains 1 or more classes with some meta information about them. This is how we package up our applications.
Getting Started with Java Course
Now that I have given you a little information about getting started with Java, I would like to give you some details about my course. I set out to record some content that would help beginners get Java installed on their machine and set up a local development environment. What I ended up with was so much more. We also walk through things like advanced tooling, build tools and other languages that run on the JVM.
I didn't set out to make you an expert in all of these but to get you familiar with them. This way when they come up in a conversation you will know what your friends or coworkers are talking about. I have been working on the JVM for most of 18-year career and I have learned more than a few tips and tricks along the way. This course is fairly short at 3-4 hours in total length and this is what we are going to cover.
Getting Started with Java Course Curriculum
- Goals of the course
- Meet your instructor
- Why you should learn Java (article)
Getting started with Java
- Java Terminology
- Quiz: Java Terms
- Java version check
- Installing Java
- Exercise: Java version check
- Exercise Review
Writing your first Java program
- Writing your first Java program
- Java program execution
- Hello, World!
- Exercise: Writing your 1st program
- Exercise Review
Text Editors & IDEs
- Text Editors & IDEs overview
- Text Editor & IDE options (article)
- Installing IntelliJ
- Hello, World. IntelliJ Edition
- Exercise: Writing your first application in IntelliJ
- Exercise Review
- IntelliJ tour
- Code formatting & organizing imports
- Advanced tooling overview
- Code generation
- Running IntelliJ from the command line
- Github Source Control
- Java Decompiler
- Shortcut Keys
Java Build Tools
- Build Tools Introduction
- Maven Dependencies
- Quiz: Why Build Tools?
- Languages Intro
- JVM Languages
- Java Documentation
- My Contact Information
- Slide Deck
I had a lot of fun putting this course together and I am pretty excited to share it with all of you. I hope you enjoy this course and if you have any questions about it please leave them below. Question: What was the toughest part of learning Java for you?