• Post Reply Bookmark Topic Watch Topic
  • New Topic

don't know where to start after the basics  RSS feed

 
Ranch Hand
Posts: 44
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've been a programmer for many years using SAPs ABAP language. I've been dabbling with learning Java for a few years, mostly in hobby mode, but I'm totally overwhelmed; the area is SO big, I don't know where to start after the basics, and more importantly, where to go after the basics have been somewhat mastered.

There are so many different areas to study. Things that I'd like to know:

- Good Java fundamentals (understand the classes available, best way to use them)
- Java Enterprise Service Beans
- REST services built in Java
- JAXP
- JSP
- JSF

I'm so totally overwhelmed, I don't know how to proceed! I currently have a copy of Java™: How to Program, Ninth Edition by Paul Deitel, which is within my comfort zone. I dabbled with the Head Start series (patterns, JSP and Java books a few years ago then dropped them. I guess they were entertaining but somehow not suitable for my learning style).

I'm familiar with OO concepts and use them in ABAP, so not inexperienced with the OO paradigm.

I had a list of fundamental questions, but then I realised that a list adds complexity to an answer, so I cut it down to one question:

- How can I develop an effective learning roadmap to cover the areas above?

I consider myself to be a person of reasonable intelligence, but not exceptional, and enjoy learning, but I just cannot seem to figure out a way to proceed without feeling totally overwhelmed! Every time I read a book above basic Java level, I realise there is an interconnectedness of knowledge that supports the subject I am trying to learn that I don't have sufficient breadth and depth of knowledge yet. For instance, I had a look at the book "RESTful Java with JAX-RS 2.0, 2nd Edition", and the target audience was suggested to be fluent with writing java EE applications. I'm not. So what to do? Learn Java EE I suppose. But how? What's the best resource? And what knowledge and skills does that rely on? Where's my map?

Can somebody please suggest a way to untangle this morass of interconnected knowledge and suggest a way I could structure my learning to achieve my objectives? I'm good at problem solving, bad at figuring out a roadmap to acquire the knowledge needed.

Has anybody else ever been in a similar situation? I'd love to hear from you! I need moral support and advice.

Help!!
 
Author and ninkuma
Marshal
Posts: 66307
152
IntelliJ IDE Java jQuery Mac Mac OS X
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yeah, it's like drinking from the proverbial firehose, isn't it?

Of your list, here's my take on which could be important:

- Good Java fundamentals (understand the classes available, best way to use them)
- REST services built in Java
- JSP with servlets

Good fundamentals is a necessity, period.

RESTful APIs are important and getting more so.

If you are going to dive into web development, then JSP with servlets (not just JSP, it's not a standalone technology) is a fundamental need you'll need for any server-side UI development.

Also, if web development is a target, you'll need client-side tech as well: JavaScript, HTML and CSS.

In my opinion, JSF is a mastodon stuck in the tar pits, doomed for extinction. EJB is pretty much in the same camp. There is a strong trend away from heavy server-side presentation engines, and you're better off looking at RESTful services with client-side knowledge.

JAXP is a small player and is really an odd addition to the list.

My 2¢
 
Bear Bibeault
Author and ninkuma
Marshal
Posts: 66307
152
IntelliJ IDE Java jQuery Mac Mac OS X
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
P.S. One way to help stop from feeling overwhelmed is to realize and acknowledge that you can't learn it all at once. That way lies paralysis. Don't overwhelm yourself with trying to spread yourself too thin.
 
Ranch Hand
Posts: 116
2
Eclipse IDE Java PHP
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Tony Bateman wrote:Has anybody else ever been in a similar situation? I'd love to hear from you! I need moral support and advice.

The Java world is small, concise, and straight forward. <-- Sarcasm

I completely understand where you are coming from. I am constantly feeling overwhelmed trying to figure out a road map for my learning and progressing.

I think the key is to narrow down the scope as much as possible and decide what you really want to focus on (web, desktop, mobile, etc). Then from there break it down into small pieces and move one step at a time. If you're most interested in web app development I'd suggest really getting used to JSP and Servlets. Maybe build a couple web apps using JSP and Servlets, then move into a framework like JSF or Spring. Then add in some other topics/technologies like RESTful services, Hibernate, etc.

I’m still trying to do this as well with limited success. What I'm trying to do right now is to come up with (or find on the web) some meaningful projects to work on like building a web based application for myself to use or building a Swing based game. By giving myself actual projects to work on I find I stay on track and learn a lot more on top of reading books and tutorial.
 
Scott Winterbourne
Ranch Hand
Posts: 116
2
Eclipse IDE Java PHP
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Bear Bibeault wrote:P.S. One way to help stop from feeling overwhelmed is to realize and acknowledge that you can't learn it all at once. That way lies paralysis. Don't overwhelm yourself with trying to spread yourself too thin.

Very very wise words. I fall into this from time to time. Well, more often than not lately
 
Bartender
Posts: 10575
66
Eclipse IDE Hibernate Ubuntu
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Tony Bateman wrote:I'm so totally overwhelmed, I don't know how to proceed!

My advice: stick with the basics, because there's plenty enough to keep you busy for several months right there (especially if you're simply doing this on a "hobby" basis).

Specifically:
  • Foundation classes (and there are LOTS, including some more obscure, but very useful, ones, like BitSet).
  • Enums.
  • The Collections framework.
  • Regexes, Patterns and Matchers.
  • Threading, synchronization and the 'concurrent' package; especially Locks.
  • Reflection (Ugh. For curiosity only I'd say; avoid it if you possibly can - but I'm biased )
  • Design patterns (not all; but certainly some of the more common ones, like Builders).
  • The API docs and javadoc.
  • (and I've probably missed out quite a few)

    That last one is quite important. I've been using Java for about 13 years now, but I always have a copy of the docs open on the desk when I'm working; and becoming familiar with them will really help you when you "step up" to other areas, because many of them will have complex classes of their own, and you simply can't keep everything they require in your head.
    Also, learning how to use javadoc can really help you to produce good documentation for your own classes.

    My 2¢.

    Winston
     
    Rancher
    Posts: 42972
    73
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    I'd recommend pretty much the same as Bear. Servlets/JSP+, JDBC (and maybe later JPA) +, Java fundamentals +, EJB -, REST +, JSF -.

    Depends a bit on whether there will be a web focus in your future. It sounds like you haven't really touched on that - it's good knowledge to have, given how widely it's used, but if somehow you know from your situation that you won't touch that layer then other aspects should come first.
     
    • Post Reply Bookmark Topic Watch Topic
    • New Topic
    Boost this thread!