tags:

views:

408

answers:

10

I'm new in Java. I'm studying this program language and I guess that pure Java is not very useful. Can you advice me what related technologies / frameworks I should to study firstly?

+1  A: 

hai nicholas, Go for struts,spring and hibernate instead of jsp.....

Pandiya Chendur
++ definitive! ...
Martin K.
Agree with the fact that studying stuts, spring and hibernate is useful but why instead of JSP? That's just confusing..
NickDK
+7  A: 

Since pure Java is at the core of all the Java technologies out there, I'd argue that it is still quite useful. I'd still recommend starting with Java, servlets and JSP, and JDBC as a foundation. You can branch out from there as needed.

Bill the Lizard
+2  A: 

I think you should concentrate on the basics. a strong base will make sure that whatever technology you deal with in the future will be easy for you. focus on threading, networking and I/O.

Omry
+5  A: 

Pure Java is not very useful? That is like saying that words and grammar in a traditional language are not very useful when writing something like a story or a poem.

First understand the basics. You will automatically discover what you need or like most while doing that.

eljenso
+3  A: 

Study the JVM workings above all. Even if Java dies (a long and painful death), the JVM will definitely survive and thrive as it is the framework of many newer interesting languages (Scala, Clojure, Jython, etc).

Your knowledge investment will be secure.

Kensai
It's funny because the .Net camp used to champion the multiple languages on a single platform while the Java camp used to champion a single language on multiple platforms. Now, the Java camp is opening up to multiple languages but one JVM spec. What's next, VB for Linux?
Dan
Times change. It's not my fault if Sun hasn't created the best language ever. And I don't see "camps" anywhere near, just simple pragmatic solutions. At the moment, the JVM platform is much more of an asset for the Java world than the language itself.
Kensai
I agree Studying JVM is one good investment.
Mahesh
A: 

You really should start with pure Java. Starting with anything else is like trying to run when you can't walk. Every framwork you'll learn afterwards will be much easier to understand.

Try to get a good book or something about the basics, for me personally studying for the SCJP certification really did the trick, if you're not interested in taking the exam yourself the book is still very educating:

SCJP Sun Certified Programmer for Java 6

NickDK
+2  A: 

That's a little like asking what car to buy, without any information or where you drive, what your needs are, etc.

Most importantly, make sure you understand Core Java well. A good developer can easily learn new APIs just from looking at their JavaDocs. A bad programmer can use a lot of APIs, but may not know his way around core things like threading. Or as an analogy, Picasso could draw amazing things with a single piece of coal, but your kid isn't a Picasso just because he can use all the palette of Crayolas.

Understand that you can't know everything or be an expert at everything, and figure out the domains you care about. If you don't do rich UIs, skip Swing. If you might do databases, learn JDBC and Hibernate. If you would be doing large web applications or enterprise applications, look at J2EE.

This fact is often obfuscated by job listings, that simply have a wish list of 30 technologies that are unrelated to one another (I've seen my share of 'web programmer who is a Swing expert') and such.

Uri
+4  A: 

I second the recommendations to take on the SCJP, or find some other way to delve as deep as you can into the language (especially because it's not a particularly deep language...).

But most of your day-to-day development work will be in the libraries and frameworks that surround Java. So here's my short list of what to study next:

  • Spring
  • JSP (contrary to what a previous poster said, they're everywhere, so you need to know them)
  • JSF
  • JPA/Hibernate/iBatis
  • Tomcat/JBoss/GlassFish

Java is mature enough now that you'll feel like you're playing catch-up to a lot of other developers while you're learning these, but you'll also notice a lot of patterns that reappear in frameworks over and over (like the ubiquitous XML configuration hell).

Good luck!

rtperson
I concur, you just forgot hibernate?
MexicanHacker
@MexicanHacker, Didn't forget it at all. It's on the list, right next to JPA and iBatis.
rtperson
A: 

Pure Java is useful as well, see it as the basis of you want to do it, you need to understand the basics of the frameworks you use, but to the point.

I would learn JSP's and servlets (Changes are you are going to do a Web app and this will help you with the basics)

Also Hibernate and Spring are very popular at the moment.

MexicanHacker
A: 

Most Needed Java Technologies

  1. Web-Based Applications

  2. Enterprise Applications

  3. Java web service libraries like Axis and Weblogic

  4. JSP, Servlets, Custom Tags, JDBC, XML/XSL, EJB, JMS, JTA and JUnit

  5. BEA Weblogic application servers and/or IBM Websphere application
    Servers

  6. J2EE Design Patterns

  7. J2EE frameworks like Spring and JSF

  8. JPA frameworks like Hibernate and TopLink

  9. Eclipse IDE and Subversion/Git/CVS

  10. Object Oriented Design and UML diagrams

  11. Oracle, SQL, and database design

  12. Strong problem solving skills and ability to adapt existing systems to fast-changing requirements

  13. Production Support

  14. UNIX/Linux environment

  15. Building scalable customer
    solutions

Rachel