• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Liutauras Vilda
Sheriffs:
  • Rob Spoor
  • Junilu Lacar
  • paul wheaton
Saloon Keepers:
  • Stephan van Hulst
  • Tim Moores
  • Tim Holloway
  • Carey Brown
  • Scott Selikoff
Bartenders:
  • Piet Souris
  • Jj Roberts
  • fred rosenberger

How to keep developing java skills after having read HeadFirstJava?

 
Ranch Hand
Posts: 79
3
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hey guys,

The title is quite self explanatory. I just finished reading HeadFirstJava. Currently, I am developing my own small simple games such as snake, space invaders and heli attack 2. How would you guys advice me to continue developing my java skills.

1) Are there any books that are a good follow-up to HeadFirstJava?
2) Tutorials are nice, but they are a lot of watching and not a lot of doing. Are there any other methods to develop Java skills?

Regards,
 
Java Cowboy
Posts: 16084
88
Android Scala IntelliJ IDE Spring Java
  • Likes 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You are already on the right track by creating and working on your own little projects. In my opinion, programming is something that you learn for a large part by doing, not just by reading theory.

One very good book to learn about best practices and pitfalls is Effective Java.
 
Bart Boersma
Ranch Hand
Posts: 79
3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Yeah that is in my line of thought, good that it is confirmed by more experienced java users.

I will defintely pick up the book you suggest sooner or later.

Thanks
 
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
When studying programming one learns (1) to explain what he wants to JVM (2) to write code that other programmers can read.

HeadFirstJava helps with first part. Derek Banas tutorials for transition. Clean Code by Martin helps with the second part.

HeadFirstJava is the best Java book that I know of, but it is not good enough. After reading, whenever I needed a Dictionary I would go for While it does work, there are two problems:
(1) One should use an abstract List, rather than a concrete implementation whenever possible.
(2) Dictionaries should be implemented using , not a pair of
This isn't a question of preference. Bad style makes it prohibitively difficult to support a project. One should learn to write readable code in order to improve coding skills.

I am not a big fan of other Martin's books (to me, those are boring to read and not concise enough), but Clean Code is awesome. It explains that code is written once and read many times. Write-only implementation of a new feature is a disaster for a project. Someday someone would have to change the behavior of this feature and that would be a pain. There are techniques to make code more readable.
----
On a side note, does this forum support post editing/deletion?
 
okom ijin
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Bart Boersma wrote:
2) Tutorials are nice, but they are a lot of watching and not a lot of doing. Are there any other methods to develop Java skills?
Regards,



Once again, check out Derek Banas.

Typical tutorial of other guys: " So... Hmm.. I will teach you today to use Java Swing. Well (5 sec pause) it is a way to display GUI and windows in Java" ... 10 minutes later you finally see a single line `JFrame window=new JFrame();` inside of main method.
Viewer has a dilema - fastforward and miss an important point or Mait for 10 more minutes to get an extra line of code.

Derek tutorial : "In this 15 minute video tutorial we will cover all fundamentals of a language" ... 4 minutes later there are two pages of code that Derek commented as he typed. It now can display several elements.
https://www.youtube.com/watch?v=3XB3in9Xqy8
 
Sheriff
Posts: 17005
298
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Practice only makes habit; only perfect practice makes perfect. The code you write when you're focused on learning the mechanics of a language and following tutorials is probably not going to the best code in terms of quality, maintainability, expressiveness, flexibility of design, testability, etc.  My advice would be to start learning the aspects of programming related to craftsmanship.  If you go back to the Java code you've written and see mostly static methods, then read up on object-oriented design principles. Learn how to test your code. Learn how to refactor.  Many programmers like to chase that next technology that they can put on their resume but the ones who really stand out from the crowd are the ones who can demonstrate the skills it takes to write good quality code.

A few books you can start with, besides the ones that have already been mentioned:

1. Clean Code by Robert Martin
2. Understanding the Four Rules of Simple Design by Corey Haines
3. Refactoring by Martin Fowler

These books will reference other good books from which you can learn much more about programming and it's just an endless chain after that.
 
Marshal
Posts: 75836
361
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Also post as much as you can on websites like this one.
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic