49

What is the fastest-track set of resources for a C# developer wishing to hit the ground running in an enterprise-class Java team?

asked Feb 17, 2009 at 0:18
0

6 Answers 6

18

The language itself should be simple to understand. There are not as many language constructs, everything possible is done in libraries.

The libraries will take some getting used to. The two most critical things you can do to hit the ground running is:

1: Use NetBeans or Eclipse and hit ctrl-space ALL THE TIME. It's like the god key.

2: bookmark this page: https://docs.oracle.com/javase/8/docs/ (or the one appropriate for your version of java--but the version doesn't matter all that much) Each box in the graphic represents a library package, click one ones that you want to have an overview of. Try to get a handle on what each package does. Browse the packages that are of interest and scan the classes. This page also links to a lot of tutorials.

After that it's just a matter of learning what other libraries you'll need to do your job. there is a lot to J2EE if your group uses that, you'll probably end up using Hibernate, and you should look into messaging & maybe RMI (you may not be using it directly, but nearly all intra-java communications are based on RMI).

remember ctrl-space. It will give you parameters, lists of functions that match what you've typed so far, it fills in import declarations, it expands macros, ...

Oh, and two other Eclipse tricks: ctrl-shift-T. "Lookup Type" (in eclipse, there is one in NetBeans but I can't remember the key sequence, ctrl-shift-O maybe). Anyway, you type in a partial classname and it will give you a list of ALL matching classes in your project. Click one to open it.

ctrl-click. Jumps to the declaration/definition of whatever you click on.

answered Feb 17, 2009 at 2:07
Sign up to request clarification or add additional context in comments.

Comments

13

I would suggest the following books:

Java really is a different kettle of fish - there's a lot more to developing enterprise apps than there is to C#. You have all kinds of different things to worry about - EJB's, Enterprise vs. "Personal" runtimes, etc etc..

The best advice I can give you is to use the NetBeans IDE. It is big, slow and cumbersome, but it does guide you for most of the way.

answered Feb 17, 2009 at 0:31

1 Comment

I wouldn't say there's a lot more to Java enterprise apps than C# enterprise apps. I would say that there's a lot more differences to consider than just differences in language syntax though.
7

Be prepared for abstractions. Lots and lots of abstractions ;)

answered Feb 17, 2009 at 0:20

7 Comments

Sorry for being dumb, but, what does that mean?
@Ken it's a little dry, but a good start: en.wikipedia.org/wiki/Abstraction_(computer_science)
Thanks but I meant to ask why are you associating Java with data abstraction in a higher-level than C#? sorry for being unclear.
It's kind of a joke. The Java community pioneered a lot of frameworks and libraries designed for heavy abstraction before the .NET world really "got it". A lot of early .NET-ers saw themselves as pragmatists over the Java abstraction-fest. That sentiment is long gone now that both platforms are more or less at parity.
The language that is lacking abstractions is Java, no reified generics, no lambdas, no async programming support...
|
2

Read the API documentation for packages java.lang, java.io, and java.util. Seriously. The mark of an amateur, in java, is someone writing a loop when there is a method in java.util.Collections that already does what they want.

answered Feb 21, 2009 at 13:08

2 Comments

Thanks for your time, but I mean Enterprise-class java.
Ok, I was assuming you weren't also an experienced java programmer. Same thing applies, though - you can't go past reading the j2ee specs. You can learn JSP by reading a bunch of tutorials, or you can read the spec and know that you are not missing anything.
2

An understandable, structured and comprehensive wrap-up is at http://www.kynosarges.org/JavaCSharp.html .

It also mentions known workarounds for missing C#/CLR/BCL features.

answered Sep 19, 2017 at 15:59

1 Comment

It seems that this page is no longer available. Here is the version from the Internet Archive: web.archive.org/web/20230602194116/https://kynosarges.org/…

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.