[java] What do I need ?

Started by
16 comments, last by Tanaric 19 years, 3 months ago
Hi guys, So far I've installed the Sun J2SE 1.4.2 SDK and actually used DJ Decompiler to decompile some stuff and re-compile it. Well now I want to get involved with some serious Java server-side stuff. I know C++ so I shouldn't have many problems. But what do I need ? The new JDK 5.0 ? Or maybe stick with 1.4.2 ? What about NetBeans, how's that for the IDE ? Basically I want to make stuff to run on the server, like a chat room that I can interface with, say, a Flash client. Things like that. Any guidence would be appreciated. Take care, Cyrus
Advertisement
Grab a copy of JDK 1.5, and then either Eclipse or Netbean.
The check the Java Tutorial: http://java.sun.com/docs/books/tutorial/
I would suggest that you stick with JDK1.4.x for now. The new 1.5 breaks a fair amount of old code, so I'd wait until it gets updated :)
Also, I would personally suggest that you don't use any of the available IDE's for now....these hide a lot of the basics like classpath stuff and creating JAR files and manifests. Point being, that you may find yourself in trouble later on because you haven't got to grips with the basics (especially classpath issues). A simple text editor should do you for now.
That said, eventually I'd recommend Eclipse over NetBeans....and I used to be a NetBeans fanatic. Eclipse rocks really quite hard indeed.
Don't go anywhere near java 1.5 / 5. It screws up basic java syntax (the moron / ****head who authorized generics in java 5 should be shot - arrays no longer work!!!).

For server-side work, you MUST use 1.4.x or above, since the libs for doing almost all networking didn't arrive until 1.4.0. Make sure you have the latest version - 1.4.2_06 or later - since there were many bugs that weren't fixed until the very latest versions.

1.5.x introduces some extra networking that would be nice to have, BUT the critically important stuff that 1.4.x is missing is officially delayed until java 6 - so don't bother with 5. Also, some features (like faster JVM loading) from java 5 are officially disabled if you use java in server mode, which you typically want to do for a server (not because the name suggests it only works on servers, but because it's the high-performance mode for long-running applications, which your server will be).

PS: yes, I am very bitter about the pile of shit that is java 5.

redmilamber
weird, all my code works in Java 5, what's wrong with you guys?

[Formerly "capn_midnight". See some of my projects. Find me on twitter tumblr G+ Github.]

I would stick with v1.4.2 for now. The Java Tutorial has not been updated yet with v1.5 language features. Also most IDEs probably have not been updated either. As RageMatrix suggested, start without using an IDE until you are comfortable with how the compiler works. Then I would suggest Eclipse(my biased opinion :) )

When you do The Java Tutorial, I would also sugest that you do it from start to finish. Then pick up the J2EE tutorial. J2EE is where the server side stuff is. But you need to know your core Java before startng that.
"None of us learn in a vacuum; we all stand on the shoulders of giants such as Wirth and Knuth and thousands of others. Lend your shoulders to building the future!" - Michael Abrash[JavaGaming.org][The Java Tutorial][Slick][LWJGL][LWJGL Tutorials for NeHe][LWJGL Wiki][jMonkey Engine]
Quote:Original post by capn_midnight
weird, all my code works in Java 5, what's wrong with you guys?


If you work on a team that agress "never to use any java 5 features" then you're safe.

But...what's the point in using java 5 if you refuse to use any java 5 features?

Unfortuinately, there's no way to throw compiler errors when some bastard you're working with decides to use generics (which break arrays, amongst other things), there's no:

javac -refuseToUseCodeThatUsesShittyGenerics *.java

that would throw compiler errors if any of your 3rd party libs or linked libs tried using generics.

wow, redmilamber, you're really angry XD
You helped me a lot in many posts I made, so I will take what you said in consideration. But, I've been using the new JDK for a while and got no big problems, really.

To answer Endemoniada's question (are you from Brazil?), take a look at java NIO (java new I/O), which was introduced in JDK 1.4.2, and help you do asynchronous networking without a great mess of native code. Unfortunately, it lacks good documentation, and you may suffer for a while.

I use NetBeans IDE 4.0, and I quite like it, but RageMatrix is right... If you're new to Java, try your hands at JCreator first. The Java Tutorial is a good place to start.

Forgive my awful english..
a.k.a javabeats at yahoo.ca
Quote:Original post by Anonymous Poster
Quote:Original post by capn_midnight
weird, all my code works in Java 5, what's wrong with you guys?


If you work on a team that agress "never to use any java 5 features" then you're safe.

But...what's the point in using java 5 if you refuse to use any java 5 features?

Unfortuinately, there's no way to throw compiler errors when some bastard you're working with decides to use generics (which break arrays, amongst other things), there's no:

javac -refuseToUseCodeThatUsesShittyGenerics *.java

that would throw compiler errors if any of your 3rd party libs or linked libs tried using generics.


In what way do Generics break arrays? I've been using Java 1.5 for the last six months at work and I've had no problems with any of the new language features (and we have used most of them). Can you provide a code sample that doesn't work properly?
Quote:Original post by Anonymous Poster
Unfortuinately, there's no way to throw compiler errors when some bastard you're working with decides to use generics (which break arrays, amongst other things), there's no:

javac -refuseToUseCodeThatUsesShittyGenerics *.java

that would throw compiler errors if any of your 3rd party libs or linked libs tried using generics.

Can't you just use the "-source 1.4" flag with the compiler? Although personally I'm staying firmly with 1.4 for the forseeable future.

OT.

This topic is closed to new replies.

Advertisement