Learning Java

MTXR

[H]ard|Gawd
Joined
Nov 4, 2000
Messages
1,324
Hello [H],

I searched the web via google and tons of hits pop up...but which site is really good?

Can the [H] help me and list some great sites you have already used to learn java?

I am a total newb to Java but have programmed in VB before.

So i should hopefully pick up this language fairly easily, lets hope anyway.

Thanks.
 
java is quite different than VB, both in syntax and in the environment. But you should be able to pick it up alright. I am speaking as a person who doesn't know java yet, but know about java, and know c# and c++. I need to learn it here soon since all my team at work seems to use java. I haven't decided how I am going to learn it but I plan to just download the Java EE SDK and eclipse and come up with some use cases for myself and bang it out by googling for whatever I need to know and asking the guys I work with for help when I get stuck. In my opinion once you learn c++ most other languages are easy to learn. VB is not bad though because at least you learn the basic control structures like if, while, for, switch, etc. I do hate VB though every time I see code examples on MSDN. It seems like each line is written backwards to me... that's just cause I write in c# though.

Dim x as Integer
versus
int x;

seems wrong to me cause the data type is on the right not the left. Not saying it is wrong, just to me it seems that way cause that's the way I think.
 
Oh crazy, you scared me... it's that different? it can't be can it?
 
Good page. Suns website has a lot of good stuff.

Also what type of java are you looking to learn? SE, ME or EE?

I still don't have a really firm grasp on what "Java EE" really is or where one would start - it seems to be a really big umbrella encompassing dozens of vaguely related technologies with no clear entry point.
 
Which version of Java do you recommend learning? I think i would do a lot of web stuff though and multimedia...
 
Which version of Java do you recommend learning? I think i would do a lot of web stuff though and multimedia...

Start with Core Java (SE) first. Learn the syntax, semantics, and concepts of the language first.

EE is enterprise edition, and ME is mobile. (EE is like extended functionality, where ME has a more 'limited' range so to speak)


If you want to do web stuff, you might want to look into JSP/Servlets (somewhat on the EE side) You would do well to also familiarize yourself with JDBC in that case too.
 
Hello [H],

I searched the web via google and tons of hits pop up...but which site is really good?

Can the [H] help me and list some great sites you have already used to learn java?

I am a total newb to Java but have programmed in VB before.

So i should hopefully pick up this language fairly easily, lets hope anyway.

Thanks.

VB is a great language for learning programming logic... but the syntax is very different from C languages, Java, PHP, Perl, Python, or any other common language you might encounter. The good news is that it shares many similarities with ASP, if you want to go into web development!

Anyways, start with J2SE using the basic tutorials. I'm of the opinion that Java is quite a bit easier than C or C++ (though it might be b/c I already know a fair bit of Java, while I am still just starting to learn C++) and it's really not that hard to pick up as long as you *think* like a programmer. You can learn Java syntax in a day depending on your level of programming expertise. Good programming logic and problem solving skills require far more time and experience. Oh and trust me, once you start using C or Java you'll never want to touch a piece of VB code again.... until you get to pointers in C++
 
I still don't have a really firm grasp on what "Java EE" really is or where one would start - it seems to be a really big umbrella encompassing dozens of vaguely related technologies with no clear entry point.

True, i am a SCJP/SCWCD and as of last week SCBCD sun certified programmer, and in my experience Java EE is just that, a collection of extended functionality API's designed to allow Java to do much more then just what SE does. It includes webpage functionality, database acces API's and other stuff usefull in an enterprise environment.

If you want to introduce yourself to the java platform in broad sense, try to find some study material for the SCJA examn, it steers clear of the heavy syntax details (for which SCJP study material is much better), but gives you a nice overview of the Java platform, and a small introduction into Syntax.

I'd say, just download netbeans (my fav java IDE), and start by doing some simple stuff, try to get a feel for the syntax and for what you can do with the language
 
Full Java EE is probably very much what you don't want to be trying to learn right now. It's massively complex and in many people's estimations relatively obsolete these days. However, what you need to understand is that Java EE is a framework for building applications; it sits on top of Java, rather than being a real part of it.

Learn Java SE - that's the language and the base class libraries which apply to all Java programs. After that, if you want to build web applications, choose the framework based on the requirements (which you'll know a lot more about once you know the language). Bear in mind that although almost every web-based Java job out there says that they require Java EE, they actually mean that they want somebody who can write JSP and servlets, which is an entirely different proposition.
 
In a general sense Java EE is a set of specifications describing interfaces and abstract classes which vendors (IBM, Oracle, Apache, Red Hat, etc) implement in the form of an application server (Websphere, OC4J, Geronimo, JBoss, etc) . There is however overlap between Java SE and Java EE and sometimes even differences between the same interfaces (i.e. Web Services in Java EE 5 vs Java SE 6). Not all implementations of Java EE implement the entire specification. (i.e. Apache Tomcat only implements Servlet and JSP specification, and a few other minor ones like JNDI). For the most part Java EE is confined to server-side Java, of course there are always exceptions to the rule though.

That all being said knowing particular interfaces in Java EE is great for a resume, but you need a strong foundation in Java SE in order to take full advantage of Java EE, so Java EE is definitely not a good place to start.
 
Bear in mind that although almost every web-based Java job out there says that they require Java EE, they actually mean that they want somebody who can write JSP and servlets, which is an entirely different proposition.

The JSP and servlet API's are part of the EE specification, and most likely those jobs require some JDBC/JPA or possible EJB knowledge, so it would be fair to use java EE in the requirements imho..
 
I'm a .net programmer and I have very strong OOP understanding. I've been thinking baout learning Java as well to broaden my scope of programming languages. I mainly code in C# for web and winform apps. How hard will it be for me to learn Java? I looked at the sun tutorials really quickly and I see a lot of similarities between the two languages.
 
I'm a .net programmer and I have very strong OOP understanding. I've been thinking baout learning Java as well to broaden my scope of programming languages. I mainly code in C# for web and winform apps. How hard will it be for me to learn Java? I looked at the sun tutorials really quickly and I see a lot of similarities between the two languages.

Answer: not very. The general syntax is pretty much identical, although there are a few funnies in Java which don't exist in C# (like only being able to switch on integers). The main challenge will be getting used to the different base object library - when Microsoft copied Java for C#, they took a lot of the methods and switched parameters around. Of course, some things behave completely differently altogether.
 
the languages themselves are almost identical. if you know one well, you know the other one at about 90% of the rate you know the first one.

the API's are extremely different, though. Although most of the same functionality is provided from one language to the next, how to get the job done can be very different at times.
 
Ok thats cool, it didnt take me long to really know the .net API's. So my next question is environment, .net as VS2005/8. What is the equivilent for Java?
 
Ok thats cool, it didnt take me long to really know the .net API's. So my next question is environment, .net as VS2005/8. What is the equivilent for Java?

Eclipse or Netbeans are the big ones - unfortunately, they're not just big in terms of usage. They're both quite bloated (especially Eclipse when you have lots of plugins for XML, HTML, database etc), and this can be a source of frustration. My advice would be to run it relatively stripped-down and use as few plugins as you can.
 
I've tried both Netbeans and Eclipse on my Ubuntu partition, and I had some performance issues with Eclipse, and I felt that the debugging was funky, whereas Netbeans ran fine and was more intuitive. That said, I think they are both far far from being as good as Visual C++ or Visual C# (especially in the debugging department), but they are most definitely usable... I'd say on a similar level as an IDE such as Code::Blocks. On the other hand, just about anything beats the tedium of GDB command-line debugging.
 
If you're looking for a more basic programming environment for java, try BlueJ. It's simple, and doesn't have any of the advanced features like NetBeans does, but it does a good job of showing you the relationships between your object classes and it does have an interesting debugger style. I use it in conjunction with NetBeans, using BlueJ to define my classes and do most of the basic planning, then NetBeans to do the actual code implementations.

www.bluej.org
 
Back
Top