Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java for Software Developers [closed]

I am a .NET developer (and have been for a while now). I work for an organization that was just recently acquired by a larger company whose primary development language is Java. There are a few .NET developers, but the ratio of .NET to Java has decreased substantially now that the teams have merged.

That being said, I've decided it would be best for me to start Java development. However, most of the books I've seen so far for "learning Java" all take a very basic approach (what is a class, OOP principles, etc etc). I am comfortable with this part of development and don't need a primer (unless there are differences so profound that someone recommends the fundamentals from a Java perspective...).

Anyway, I'm looking for a book recommendation for Java development from a software developer's perspective that discusses today's techniques. For example, MVC architecture, application best practices (I am a web developer, this includes web services), is it worthwhile to work with JSPs or consider Ruby instead, etc etc.

A HUGE bonus would be "learning through doing". Something like Murachs, where I can step through a project from start to finish, and is light enough on fundamentals that I don't get bored. I'm hoping to walk away with enough basic knowledge to volunteer for some internal projects and grow from there.

I'm sorry if my question is needlessly broad, but I'm struggling to find a starting point aside from my Eclipse installation (I am doing this on Ubuntu, deliberately avoiding Windows).

Thanks for any direction or insight you can offer.

EDIT - After discussing with a co-worker, and reading Bert's great suggestion (all of them have been excellent, thank you all very much), it turns out the main focus is on EE, and Glassfish. They use NetBeans for development, since it is tightly bound to Glassfish.

This doesn't mean much to me, except that I think the parallel drawn is IIS/Web apps to Win32 apps. But perhaps it will help clarify some of the more open-ended questions in my OP.

like image 744
E. Rodriguez Avatar asked Dec 22 '10 13:12

E. Rodriguez


People also ask

Is Java still in demand in 2022?

The widespread use of this programming language, including web and mobile application development and modern technologies such as big data, IoT (Internet of Things), blockchain, and artificial intelligence (AI), makes it all the more worth looking for employment as a Java developer in 2022.

Is Java still used for software development?

Conclusion. Undoubtedly, Java will remain one of the most popular and extensively-used programming languages all across the globe in the nearest future. Java and all its additional features like frameworks and APIs will continue to let developers create scalable, secure, and powerful software.

Is Java developer still in demand?

Java is one of the most popular programming languages, and companies big and small use it in their tech stacks thanks to its speed and reliability. Check Uber, Netflix, Spotify, Google, and Amazon – each of these household names uses Java. As a result, Java developers are in high demand.

Will Java ever go away?

A major reason why Java won't go away is that this language delivers new versions after every six months. Developers don't have to wait for a long time for new and innovative features. The latest Java version – Java 17 was released in September 2021.


3 Answers

Effective Java By Josh Bloch

It may not be "learning by doing" but it gets into the details of how to use the Java language effectively.

I would then complement it with Java Puzzlers by Josh Bloch and Neal Gafter

like image 91
Jeremy Avatar answered Oct 06 '22 19:10

Jeremy


My best bet is to learn Spring based on your requirements:

MVC architecture, application best practices (I am a web developer, this includes web services), is it worthwhile to work with JSPs or consider Ruby instead, etc etc.

You can start by visiting SpringSource at http://www.springsource.org/

like image 26
chris Avatar answered Oct 06 '22 19:10

chris


There are a few points I would like to make to you:

  • The basic Java language is rather small and C-ish. To my understanding C# and Java works almost identically here.
  • The Java runtime library is VERY, VERY BIG, and rather unlike C#. Very few people know all of the Java 6 runtime library well.
  • There are several IDE's in common use for Java. You will want to learn the one used by the rest of the team.

I would suggest having a brisk walk through the Oracle Java Tutorial, just to get the hang of the spirit and do some of the exercises, and then look at the common "Java for C# programmer" cheat sheets on the internet. Then do a lot of code, and then read Effective Java.

(For those who think they know Java 6 runtime well, please consider if you are familiar with RMI, the Rhino Javascript engine, and XPath in the XSLT implementation and all the rest)

like image 22
Thorbjørn Ravn Andersen Avatar answered Oct 06 '22 19:10

Thorbjørn Ravn Andersen