• Post Reply Bookmark Topic Watch Topic
  • New Topic

relearning java  RSS feed

 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi there every one i am a new green horn ,


I learned java back in 2007 '2.5 or 2.6' in College but never moved to the next step, i know mostly the basic of java but my programs look dull stupid boring repetitive and totally wrong and yes they work great .

my question is what should i do ? should i restart learning java '7' from the basic maybe i get them wrong? should i start taking on some advanced topics ? or should i try to learning more about design and java specific ?

thanks in advance!
 
Bartender
Posts: 10575
66
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
enzo nakama wrote:my question is what should i do ? should i restart learning java '7' from the basic maybe i get them wrong? should i start taking on some advanced topics ? or should i try to learning more about design and java specific ?

It's very difficult to answer questions like this because everyone is different, but personally I'd say the latter. You can install the latest version of Java without necessarily using its features, and if you already worked with v6, then you've probably been introduced to two of the major recent additions to the language: generics and annotations.

And I hate to say, but a fair bit of programming is dull and repetitive. The trick is not to write the same code twice.

My advice: Install v7 and spend a few weeks re-familiarising yourself with the basics. Write some programs and make lots of mistakes; and maybe pick up a good practitioner's book like this one - the best "why to" book I've ever read about any language.

Once you're happy that you've got the basics back, then might be the time to move on to books about design patterns. Alternatively, you might enjoy this one, which includes lots of examples of expert code. Some of it is quite advanced, but there's also plenty in there for the novice; and seeing how other people do things - particularly experts - is a good way to become better yourself.

HIH

Winston
 
enzo nakama
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
thanks for the replay.

i don't recall working with generics or annotations, i learned basic stuff , OO programming , Exception , Inheritance. is there a book that would let me grasp the rest faster ? thinking in java & head first java are both highly recommended, which one to pick or should i pick another one since they don't cover java 7 ? any recommendation?

i did look into effective java but it looked a bit complicated since there is some concepts i still need to learn, for design patterns i might pick Head First Design Patterns "any thoughts '.

thanks on advance!
 
Winston Gutkowski
Bartender
Posts: 10575
66
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
enzo nakama wrote:i don't recall working with generics or annotations, i learned basic stuff , OO programming , Exception , Inheritance. is there a book that would let me grasp the rest faster ? thinking in java & head first java are both highly recommended, which one to pick or should i pick another one since they don't cover java 7 ? any recommendation?

Well, Thinking in Java is a bit more advanced than Head First Java, but it probably contains more of the 'concept' stuff that you seem to want. HFJ is really a book for learning Java from scratch - albeit it, a very good one.

i did look into effective java but it looked a bit complicated since there is some concepts i still need to learn, for design patterns i might pick Head First Design Patterns "any thoughts '.

Like I say, everyone is different, but personally, I'd look at EJ before delving into design patterns. Why? Because it's a practical book that shows you good coding techniques, arranged in simple, easy-to-understand rules. Books on design can tend to get a bit esoteric, so unless they contain a lot of good code examples, they can be harder to follow.

And because it's arranged in topics, you don't have to read it in sequence. Several of the "rules" can be picked up in a dozen pages or so. Also: it's actually based on a lot of principles that come directly from design patterns, so you can get a lot of pointers as to what to read next if patterns really interest you.

My 2¢.

Winston
 
Ranch Hand
Posts: 4696
8
Java Scala
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
personally i picked up most of this gradually. no book. start with good style. good style leads to good design. try to keep your classes and methods as short and one featured as you can. remember what you learned about OO. i went straight from java2 to java7. that is no problem. i picked up the new features as i needed them. i even refactored an old applet written entirely in java1 and compiled it in java7. it is still all java1.
 
Java Cowboy
Sheriff
Posts: 16060
88
Android IntelliJ IDE Java Scala Spring
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
About the Java version numbers: Sun has made this a bit complicated and confusing.

At first (in 1997 or so), there was Java 1.0, and then Java 1.1 (in 1998).

Then, for some reason, Sun decided to name the next version "Java 2 Standard Edition" (J2SE), version 1.2. Nobody knows why they suddenly added the "2" to the name.

Then we got J2SE version 1.3 and 1.4.

The next version was called "Java 2 Standard Edition version 5.0", but they also said the "developer version" was "1.5". Nobody knows why someone decided that this had to have a "commercial version" number 5.0 and a "developer version" number 1.5. Probably someone at Sun thought that for marketing reasons it would be a good idea, but in practice it's only confusing.

For the next version they decided to drop the "2" again. So the next version was called "Java Standard Edition" (Java SE, no longer Java 2 SE) version 6.0 / developer version 1.6.

That numbering scheme is what's still being used today. So, we have Java SE 7.0 (1.7) and soon we'll have Java SE 8.0 (1.8).

Major language changes (generics and annotations) were added in Java 5.

There was no major difference between Java 5 and Java 6.

Some new language features (but not as big as in Java 5) were added in Java 7.

In Java 8, a number of major new features are going to be added. The biggest one will be lambda expressions.

The current Java version is still compatible with version 1.0, so I'd just use the current version (which is Java 7) and learn the new features once you're comfortable with the language again.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!