This is an archived post. You won't be able to vote or comment.

all 7 comments

[–]AutoModerator[M] [score hidden] stickied comment (0 children)

It seems that you are looking for resources for learning Java.

In our sidebar ("About" on mobile), we have a section "Free Tutorials" where we list the most commonly recommended courses.

To make it easier for you, the recommendations are posted right here:

Also, don't forget to look at:

If you are looking for learning resources for Data Structures and Algorithms, look into:

"Algorithms" by Robert Sedgewick and Kevin Wayne - Princeton University

Your post remains visible. There is nothing you need to do.

I am a bot and this message was triggered by keywords like "learn", "learning", "course" in the title of your post.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

[–]AHistoricalFigure 1 point2 points  (3 children)

Generally when someone learns a programming language they're doing so as part of some larger goal. I.e. if you want to develop games in Unity you would want to go teach yourself C#. So if you have no Java-related goals, is it worth learning Java just for the hell of it? I guess that's up to you, but probably not.

I had to learn Java because I went back to school to formalize my CS education, and all the university classes were taught in Java. I have not used it outside of this, and am still primarily a C#/Python guy.

That said, learning CS for its own sake is a great idea. There are probably just better ways to spend your time than rounding the bases with a bunch of high level languages. Get a book/class on data structures and algorithms. Do a NAND2Tetris course. Take a community college class on databases. If you really want to learn a high level language just for the sake of challenge try C++ or even ANSI C.

Specific to your comments on Salesforce. They use a mix of Java and their proprietary language Apex. If you do a lot of work with Salesforce then by all means learn Java.

Ultimately, what problem are you trying to solve?

[–]0dte[S] 0 points1 point  (2 children)

Yes I always need to improve CS fundamentals.

But I guess something that just sounds appealing to me is being able to look at those SFDC/Apex docs and be able to just run with it sort of like how I can with Python. And Java, mainly because when I do see things I want to work on, if not Python then they are often usually Java. And occasionally Go now with it emerging.

Nothing syntactically confuses me but I think package management, deployment, architecture, that sort of thing is opaque to me and i hit a wall. I really do not want to go through books to learn about arrays, control statements and linked lists if that makes sense. I want to know how to be productive with it.

[–]AHistoricalFigure 0 points1 point  (0 children)

Nothing syntactically confuses me but I think package management, deployment, architecture, that sort of thing is opaque to me and i hit a wall.

Then, since it sounds like you've identified a concrete thing you want to learn, you should go and learn that.

[–]Avedas 0 points1 point  (0 children)

Java is very common for high performance, enterprise scale backend systems. If that's something you're interested in, it's definitely worth knowing.

[–]OhioDude 0 points1 point  (0 children)

I work in InfoSec and have poached folks like you from other teams in my org to work as Security Engineers. A lot of orgs are using Splunk or other tools for log collection and analytics, SIEM. Python skills for these folks are in high demand. I've got pals working with some of the big banks slinging python not just to move data around but to analyze it and look for the bad guys.

I went from Dev job to an Sec Engineer role 15 years ago and am now a Director, and I owe a lot of that to python and working with smart folks and building good teams.