Hello! This is a live topic. By that, I mean it will be consistently updated with methods and ideas for you to work with while following your investment in learning Java. Follow along, now!
Let me introduce myself before we get started. My name is Jacob. I'm 18 years old, and I have taught myself how to program over the course of approximately ten years. I have been using Java as my language (weapon ) of choice for two to three years, and have never been happier with my decision. Any project I need to create can usually be done with Java, and that keeps me rather content.
Anyway...I bet you want to learn some Java, right? Let's get going.
I'm just starting with Java. What should I do?
If you're just beginning with Java, you should definitey begin here with the Codecademy Learn Java course. This course will set you up with the fundamentals of Java in an easy and straightforward manner. Once you have these fundamentals of the language under your belt, then you should move on. If you haven't completed that course, go do it now! I'll wait here?
Well? How was it? Pretty fun, right? Let's get going.
I've finished the Codecademy course, now what do I do with my life?
Good question, Anon. Can I call you Anon? Cool.
So now you have the basics under your melt. Can you do what NASA did and create the Mars Rover? Probably not, no. Right now, however, you can get user input and change your program based on that input. That's pretty cool in itself! But...of course, you want to do more, don't you Anon? Of course you do! That's why I'm here. Let's get you on your way to becoming a Java ninga.
(Tip: You can make websites with Java in conjuction with HTML too! See the Ninja framework.)
The steps to mastery
The only place I can properly recommend you to search for your next steps in learning Java is Oracle. Do you know why? No? Well, let me tell you: they made Java. If you want the real down and dirty, then you should visit the people that made the language. Hey, you're on your way to mastery.
Places on Oracle to begin:
- If you've just finished the Codecademy course, I seriously recommend visiting The Java Trail to Getting Started.
- If that's not quite your speed, and you crave the more advanced stuff, you should visit The Java Learning Paths. The learning paths will allow you to tune yourself to more advanced content.
- You can also never go wrong with viewing the language specification and documentation, which is also known as a JavaDoc. You can view the current JavaDoc for the language, which is version 8, right here.
But Jacob, I want to mess around with games!
Ask and you shall receive! Minecraft is written in Java, and therefore is Java extensible. This means you can use your skills to add things into the game both tangibly and intangibly.
I'd rather start with servers (intangible additions)
- SpigotMC is a community based upon modifying Minecraft servers using the popular, but now dead, Bukkit API. SpigotMC maintains the BukkitAPI, and is now leading the project into the future with Minecraft 1.9.
- So you want to extend the servers with your Java programming? Check out This YouTube series on the Bukkit API and how to use it. If you're more bleeding edge, you can follow the Remastered Series which is under development. Both will get you underway. Please note: Bukkit is dead. In this way, do not download the Bukkit files that the former series recommends. You can find the latest Bukkit and Spigot builds for use in code projects at this huge link here.
- These resources will get you on your way to making your server dreams in Minecraft come true. Have fun!
I want to modify the game itself (tangible additions)
- To modify Minecraft itself and add new blocks, mobs, entities, et cetera...you'll need the Mod Coder Pack which find at this link.Instead of the pack, it is recommended to use the Minecraft Forge API, which is built on top of Mod Coder Pack but is better to use because it provides a more complete API (or Application Programming Interface.) You should check out the Forge tutorials to learn how to make mods with your Java experience.
Okay, but what about other things? Can I make my own game with Java?
Yes!! Games including Minecraft and RuneScape are made with Java. You can learn some two-dimensional Java game development right here. When you're ready to move on to more advanced concepts, you might be interested in this YouTube series which details creation of a simple (everything starts somewhere!) 3D Java game. Get on it!
- Check out this full Java textbook on Wikibooks.
- You'll be needing an IDE (Integrated Development Environment) for Java:
- You might also be interested in CodeWars, which will give you fun challenges called Katas to practice your programming skill. They offer Katas in Java.
That's all I have for you right now! This is to be continued.
Please let me know of any ideas for this thread!
(this was reposted under my proper account in case you were wondering where the other one went )