Sign in to follow this  
Wurmhole

Learning Java advice

Recommended Posts

About a year ago, I retired from my professional career as an IT sales rep for large enterprise data center solutions.  Currently just doing some property management and goofing off in Wurm.  I'm looking for a new project to spend time on and am really interested in a goal I had, back when I was a teenager - programming games.  Back when I was 13 or 14, I talked my parents into a Commodore 64 for christmas and had a blast playing the games that were available on it.  That is where my love of computer games started.  I also started goofing around with Basic programming back then, but life changes and various jobs really side tracked me from going anywhere with it.

 

Now I have the time and with WU, I have something to focus that time.

 

My question is, does anyone have recommendations for "getting started" online resources (preferable free) to get cracking on my Java skills?  Are physical books still worthwhile, or like most technology books, outdated by the time they are published?

 

I wanted to ask in the Wurm forums, because my goal is specific to writing WU mods.  There are things I'd like to see in the game and devs already have their hands full with a  million other tasks, so why not pitch in a helping hand.

 

Any advice is welcome and appreciated! 

  • Like 3

Share this post


Link to post
Share on other sites

I am probably very close to your age.  I started with the Commodore 64 as well back in the early 80s.  I am now a professional software developer, so online resources are very familiar to me.  Udemy is awesome.  Each course is just about 8-10 bucks depending on sales.  They are well worth it.  Courses are measured in hours not minutes.  You will learn a lot!  The other good learning place is Pluralsight.  Also excellent resources and top-notch training, but it costs more.  I am fortunate to have a subscription through work.  Of course, YouTube is loaded with training videos of various qualities.

 

Anyway, happy journeys learning Java!

 

Cheers!  

  • Like 1

Share this post


Link to post
Share on other sites

I am so happy for you that you have been able to free up some time to follow your heart. :) 

 

If you just want to try out some Java ideas, you could try below:

 

There are lots of places that will tell you the very basics to get started in Java,

I just found this one - you can type in little code ideas in the box here, click Run and see the results on the same web page in seconds:

 

https://www.learnjavaonline.org/

 

When you are facing more complex challenges, Stack overflow is one place developers can go to ask other devs for help when they get stuck themselves - I am sure there are lots of other sites too:

 

https://stackoverflow.com/questions/tagged/java

 

As you are focusing on WU, one of the best places to hang out is always going to be the Wurm Unlimited Modding threads on the Wurm forums.

There's advice on the different Java decompilers and IDE's you can use, and experienced Wurm modders could probably talk you through making your first mod. :) 

 

Good luck! :) 

  • Like 2

Share this post


Link to post
Share on other sites

If your target is writing games, I will be very honest and say - unless you also want to use Java for something else than writing games or want to learn something very specific (like modding WU, using OpenGL or writing the game completely from scratch - Java is great for that as you don't need to deal with C++ "quirks" while still having nearly the same performance and possibilities), then Java is not the best choice and I would go with C# + Unity or C++ + Unreal Engine, with my personal preference being Unity. Java is really good for servers in general through, including MMO games servers.

 

I would skip learning from books for any programming subject and game design/development, they tend to become outdated in just a few years. Books on more specialistic topics like game physics or procedural generation can be very useful source of information, through. Personally depending on familiarity with similar languages I would either start learning from examples (if I already know similar language) or take online course like https://www.codecademy.com (if I don't know any similar language). After period of initial learning when you can actually write basic code on your own, I tend to switch to creating more and more complicated, small-scale personal projects.

  • Like 4

Share this post


Link to post
Share on other sites

So far it all sounds like great advice.  My primary goal is WU modding, but obviously this can turn into other projects if something else seems interesting.  Really appreciate the starting points and will take a look at all of it shortly.

 

Thank you!

Share this post


Link to post
Share on other sites

I learnt java using the tutorial of thenewboston on youtube. Not sure how up to date the tutorial is, I learn java almost 10 years ago.

 

 

Edited by Sklo:D
  • Like 1

Share this post


Link to post
Share on other sites

Welcome to your retirement years! Yes, now you have a lot of free unstructured time to yourself and what to do, what to do? Sounds like a good project for you to become involved in as you enjoy Wurm and makes sense with Java as the mechanism for creating perhaps some WU related mods. Seems to fit well with your background and desires. Although I know nothing about this aspect I do know about the joys of retirement from the responsibilities of any work environment. Seems that many can not handle that void as they are not self directed individuals and I hope you can avoid that pitfall to what otherwise should be a real freedom in life to be savored. In this situation I have found Wurm to be both a creative and pleasant way to pass as much time as desired. Enjoy!

 

=Ayes=

  • Like 1

Share this post


Link to post
Share on other sites

my first "computer" was also a commodore 64. not mentioning the Atari and all the watches that came with little games, or the local

arcades that had the new games back then that started replacing "flippers" as i used to call them, otherwise known as pinball machines.

And the table tennis one was a pretty common sight almost anywhere.

 

As a side note, my step-father looked at me like i was crazy spending around $400 for that commodore.

 

Good luck on your new hobby.

 

Pong.jpg

  • Like 1

Share this post


Link to post
Share on other sites

I worked at an elementary school a while ago, and something they were experimenting with was Code Combat. They wanted me to make a judgement call as to whether or not it was worth purchasing the subscription for the school.

 

I spent the whole day on it, and my judgement that it was both extremely enjoyable and actually very solid at teaching the fundamentals of coding. I highly recommend it. The first whole set (40ish levels?) is free and runs in the browser, so give it a shot yourself and see what you think. It's a bit cheesy and over the top, but if you're able to get past that, it's a really neat way to learn how to code.

  • Like 3

Share this post


Link to post
Share on other sites
8 hours ago, Sindusk said:

I worked at an elementary school a while ago, and something they were experimenting with was Code Combat. They wanted me to make a judgement call as to whether or not it was worth purchasing the subscription for the school.

 

I spent the whole day on it, and my judgement that it was both extremely enjoyable and actually very solid at teaching the fundamentals of coding. I highly recommend it. The first whole set (40ish levels?) is free and runs in the browser, so give it a shot yourself and see what you think. It's a bit cheesy and over the top, but if you're able to get past that, it's a really neat way to learn how to code.

 

Yeah code combat is a good way to learn the basics of programming. We have reviewed this at the university. Sadly it doesn't support java.

Edited by Sklo:D
  • Like 1

Share this post


Link to post
Share on other sites

Difficult question. 

 

There's basically two approaches:

1)Educational approach,

2)Hacker's approach.

 

For the educational approach, you are good to go with any book or online tutorial. Keep in mind that from Java 9 and onwards a lot of changes have happened so be sure to know which Java you are using. Currently most people are using Java 8. The educational approach is straightforward. You get to learn programming concepts bit by bit and practice on each with exercises. At the end you will have a strong foundation on java, but you won't know much about the ecosystem/tools or how to work on a big project. 

 

For the hacker's approach, you have to get your hands dirty and work on a project. Wurm Modding is one of them, not the most suitable. Using that approach you'll get to learn to use tools and get experience on working on real projects. The downside is you'll always have to pause to look into stackoverflow or tutorials whenever something new pops up in the code that you dont understand. 

 

My guideline:

 

If you are not aiming for a job in software development, you won't need that strong foundation.  So if it's a hobby of yours you'll enjoy it more if you hack around the WU and get to see your changes materialize. It will be more satisfying than aimlessly doing tutorials.

Edited by Lordbeerus
  • Like 1

Share this post


Link to post
Share on other sites

I've just started to check this series of free tutorial videos a few weeks ago. The set is going from the complete noob level and the very basics. I use it to get some knowledge about the foundations in my dead time spots during work as each topic is just about 10 mins. 

.

https://www.udemy.com/java-tutorial/

  • Like 1

Share this post


Link to post
Share on other sites
8 hours ago, Lordbeerus said:

Difficult question. 

 

There's basically two approaches:

1)Educational approach,

2)Hacker's approach.

 

For the educational approach, you are good to go with any book or online tutorial. Keep in mind that from Java 9 and onwards a lot of changes have happened so be sure to know which Java you are using. Currently most people are using Java 8. The educational approach is straightforward. You get to learn programming concepts bit by bit and practice on each with exercises. At the end you will have a strong foundation on java, but you won't know much about the ecosystem/tools or how to work on a big project. 

 

For the hacker's approach, you have to get your hands dirty and work on a project. Wurm Modding is one of them, not the most suitable. Using that approach you'll get to learn to use tools and get experience on working on real projects. The downside is you'll always have to pause to look into stackoverflow or tutorials whenever something new pops up in the code that you dont understand. 

 

My guideline:

 

If you are not aiming for a job in software development, you won't need that strong foundation.  So if it's a hobby of yours you'll enjoy it more if you hack around the WU and get to see your changes materialize. It will be more satisfying than aimlessly doing tutorials.

You do have a good point about the hacker's approach ;)  When I was in Jr. High (middle school), I got to play with my first computers - Commodore PET.  Good old green screen, 1 piece unit.  One of the lab geeks showed me some little trick in machine code and I started to experiment with it.  Made the CRT do all kinds of goofy things and ended up frying the CRT.  I did not get an A, but I did have fun.  My friend got a job offer before he finished highschool, making more money than most of the professional adults I knew at the time.

 

Honestly, I'll probably do a bit of both.  I am not someone that generally follows structure in the long run, but do leverage it for absorbing knowledge when needed quickly.  So probably bulking up on tutorials to get an initial understanding of how the language works - syntax and structure - then my curiosity is going to take over and see what kinds of trouble I ca get into with my server.  I should probably warn my villagers...

  • Like 1

Share this post


Link to post
Share on other sites
4 hours ago, Wurmhole said:

You do have a good point about the hacker's approach ;)  When I was in Jr. High (middle school), I got to play with my first computers - Commodore PET.  Good old green screen, 1 piece unit.  One of the lab geeks showed me some little trick in machine code and I started to experiment with it.  Made the CRT do all kinds of goofy things and ended up frying the CRT.  I did not get an A, but I did have fun.  My friend got a job offer before he finished highschool, making more money than most of the professional adults I knew at the time.

 

Honestly, I'll probably do a bit of both.  I am not someone that generally follows structure in the long run, but do leverage it for absorbing knowledge when needed quickly.  So probably bulking up on tutorials to get an initial understanding of how the language works - syntax and structure - then my curiosity is going to take over and see what kinds of trouble I ca get into with my server.  I should probably warn my villagers...

Once upon a time I was quite good in Z80 assembly - had a Sinclair ZX Spectrum which got modded up to 80 kB (!) and I could swap out the ROM with the extra RAM. I coded the almost graphical looking "boot system" of ZX Spectrum+ to my poor old rig and also had a debugger which ran on 2/3rd of the screen and displayed the data on the remaining 1/3 (so I could hack sw that filled the full RAM of the machine).

I've stumbled into our modded version of the Speccy board game called Chaos on an emulator page lately- we have hacked it into a Star Wars themed one with my friend.

Sad news - all that knowledge is gone poof during the decades passed since...

Edited by Jaz
  • Like 1

Share this post


Link to post
Share on other sites

I know about a interactive course of Java for newbies. This is codegym. https://codegym.cc/
Had a quick look and it certainly looks very interesting, especially for a beginner. It happens to be free.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this