learn/follow the generally accepted Java programming practices?
Then join and/or follow along with the Ranch Corral. No previous experience required.
There will be programming tasks for all skill levels implemented in different ways.
The goal is to have a fun learning project for all involved. You should therefore follow all the codes of conduct defined by Code Ranch.
This is also 100% volunteer based. Please be patient as we go. Not everyone willa be available at the same time and not everyone will have the same skill level/background.
We will be making game(s) and/or app(s), along the way we will learn some Java concepts and common/suggested programming practices.
You will probably be exposed to concepts like:
lambdas and streams
useful operations for collections, loops and more
file input and output
loops and decision structures
Let's get started Experienced user/Java programmer? Skip to step 9
You will need to download and install Java on your system.
Everything we will be using/trying to do will should work with Java 8.
Setup your system's path so that you can run both java and javac from the command line.
javac is the program which turns you java source code into java class files.
java is the program which executes your java class files.
Create the basic hello world program using only a plan text editor like Notepad, Notepad ++, Vim,Vi, VS code, etc.
The hello world program is a starting problem which many programmers write in many different programming languages.
The program should display the words "hello world" when executed.
In using a plain editor you can learn/see all of the steps that many IDEs do for you behind the scenes.
Also, there may be times when you are unable to find an/use an IDE on the system you are using.
Add a second class which prints today's date to the hello world program. Put each class in it’s own package.
Java uses packages and classes to organize the code. You may have a package for data access and a different package for user input.
Often times you will need to access the date and/or time when you are programming. Java provides a library/class for you to do this.
Create an interface named Welcome with a method named greeting.
Create a program which implements the interface.
An interface in the Java programming language is an abstract type that is used to specify a behavior that classes must implement.
Create a abstract class named leaving with an abstract method named goodbye.
Create a program which extends the leaving class and overrides the goodbye method.
An abstract class, in the context of Java, is a superclass that cannot be instantiated and is used to state or define general characteristics.
Create a single program which does steps 3 to 6.
Now that you are able to do some things separately, create a program that brings this altogether.
Install an IDE such as IntelliJ or Eclipse.
There are many different IDEs which people use for Java development. IDEs are really helpful when creating production code.
Two of the more popular IDEs are IntelliJ and Eclipse. There is no wrong choice for an IDE and there is no right choice.
People like and dislike certain IDEs for their own reasons.
Sign up for a free GitHub account and get a git client. Git Bash and Git Desktop are fairly popular/common free git clients. Chances are your IDE can act as a git client as well.
You should be able to do the following with your git client:
clone a repository
create a repository
commit to a repository
With source control you can more easily have multiple versions of your code/product.
Source control tools allow you have document code changes and helps with the separation production and development versions.
source code format
Explore your IDE, figure out how to format the source code.
Code that is formatted is usually much easier to follow/debug and read.
Nearly all the time you or someone will have to go back and read the code at some point in time.
Setup and install editorconfig plugin in your IDE.
Explore editorconfig and other plugins which may interest you. Plugins could make your IDE unstable and/or use more memory.
Not all IDEs are created equal and sometimes they could be missing a feature which greatly enhances it.
Editorconfig takes steps to ensure work space/project settings stay with the project regardless of the IDE.
Please be patient as we are still trying to figure things out as we start this project/process.
More details and information to be determined, including suggesting when the project will begin.
However a start date in September 2018 is not an unreasonable assumption.