This week's book giveaway is in the Mac OS forum.
We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line!
See this thread for details.
The moose likes Features new in Java 7 and the fly likes The Well Grounded Java Deveoper Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Java » Features new in Java 7
Bookmark "The Well Grounded Java Deveoper" Watch "The Well Grounded Java Deveoper" New topic
Author

The Well Grounded Java Deveoper

paul nisset
Ranch Hand

Joined: May 13, 2009
Posts: 171
Hi,

Going by the title,you have probably seen some mistakes made by Java developers.
What ,in your opinion, is the biggest one or the mistake that stands out that Java developers make?

Thanks,
Paul
Martijn Verburg
author
Bartender

Joined: Jun 24, 2003
Posts: 3274
    
    5

Probably an overall attitude or misunderstanding that the JVM does everything for you (e.g. You can't get memory leaks, you don't need to tidy up after yourself etc). That and Design Driven Design which we've seen many Java 'architects' apply over the years (AbstractSingletonFactoryBeanImpl and the like....)


Cheers, Martijn - Blog,
Twitter, PCGen, Ikasan, My The Well-Grounded Java Developer book!,
My start-up.
paul nisset
Ranch Hand

Joined: May 13, 2009
Posts: 171
Thanks Martijn .
By saying Design Driven Design is a mistake ,do you mean a tendency to over complicate simple problems ?
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61310
    
  66

paul nisset wrote:
By saying Design Driven Design is a mistake ,do you mean a tendency to over complicate simple problems ?

I call this "Java Disease". Although it can happen with any language, for some reason problems in Java seem to become overcomplicated Rube Goldberg machines (cough, JSF, cough) that are more complex and cumbersome than the problems they are trying to solve. Just my 2¢, of course.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
paul nisset
Ranch Hand

Joined: May 13, 2009
Posts: 171
Bear Bibeault wrote:
paul nisset wrote:
By saying Design Driven Design is a mistake ,do you mean a tendency to over complicate simple problems ?

I call this "Java Disease". Although it can happen with any language, for some reason problems in Java seem to become overcomplicated Rube Goldberg machines (cough, JSF, cough) that are more complex and cumbersome than the problems they are trying to solve. Just my 2¢, of course.


I tend to agree with that.
You can sometimes abstract a single problem into several.
Then you ask yourself "What was it I was trying to do again ?"
Over engineering can be a real pain when it comes to maintaining someone else's program.
Martijn Verburg
author
Bartender

Joined: Jun 24, 2003
Posts: 3274
    
    5

paul nisset wrote:Thanks Martijn .
By saying Design Driven Design is a mistake ,do you mean a tendency to over complicate simple problems ?

Yes, and of course this happens in any language, but for some reason it seems to happen a little more in Java (could just be confirmation bias on my part though). :-)
Brick Riccardi
Greenhorn

Joined: Jun 01, 2008
Posts: 22
Martijn Verburg wrote: (e.g. You can't get memory leaks, you don't need to tidy up after yourself etc).


Does the book cover some of these things? It sounds like the book is more of a primer on "java devs should be familiar with these x,y,z and technologies." I did look over the book description here http://www.java7developer.com/ and it does look like you cover the new Java 7 features which will be useful.

I'm a bit unclear where 'most' of the focus of the book is (I know it's not an Effective Java replacement.) Personally I'll probably skip the chapters on Groovy (which I use), Clojure and Scala. I know they're important but there is no way an intro to them in a few chapters of a book will do them justice, and if I just need to know 'what they're about on a surface level' their respective home pages give this information. What could be useful are tips on when and why to shift from core java to a language to something like scala or clojure.

paul nisset
Ranch Hand

Joined: May 13, 2009
Posts: 171
Martijn Verburg wrote:
paul nisset wrote:Thanks Martijn .
By saying Design Driven Design is a mistake ,do you mean a tendency to over complicate simple problems ?

Yes, and of course this happens in any language, but for some reason it seems to happen a little more in Java (could just be confirmation bias on my part though). :-)

Thanks for the clarification Martijn .
Martijn Verburg
author
Bartender

Joined: Jun 24, 2003
Posts: 3274
    
    5

Hi Brick,

Brick Riccardi wrote:
Martijn Verburg wrote: (e.g. You can't get memory leaks, you don't need to tidy up after yourself etc).


Does the book cover some of these things? It sounds like the book is more of a primer on "java devs should be familiar with these x,y,z and technologies." I did look over the book description here http://www.java7developer.com/ and it does look like you cover the new Java 7 features which will be useful.

I'm a bit unclear where 'most' of the focus of the book is (I know it's not an Effective Java replacement.) Personally I'll probably skip the chapters on Groovy (which I use), Clojure and Scala. I know they're important but there is no way an intro to them in a few chapters of a book will do them justice, and if I just need to know 'what they're about on a surface level' their respective home pages give this information. What could be useful are tips on when and why to shift from core java to a language to something like scala or clojure.



The book has a chapter each on JVM internals, Java Performance Tuning, Concurrency and a chapter that discusses choosing different languages for different tasks. Hope that helps!
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 30586
    
154

JSF solves a problem? And yeah.

It's possible to write bad code in any language. I think it has gotten worse lately because we have "Java job" people and not "Java developers." Writing code by cobbling together code found online - without understanding - is not development.


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Joy Rose
Greenhorn

Joined: Jul 30, 2009
Posts: 6
It does seem a bit of a hodge-podge of topics, albeit ones of current interest to me. Can you explain how you came up with the title?

Thanks.
Joy


--Joy
Tauri Valor
Ranch Hand

Joined: Aug 03, 2005
Posts: 166
Book description says
...showcasing some important software craftsmanship techniques by taking you through an example (imaginary) project


Does the craftsmanship techniques mean the design issues of various java patterns ? how beneficial is the book for a java architect?
Anyways, the topics in the book look interesting and is worth spending time. Looking forward.

Thanks Ben and Martijn.


A Moment's insight is sometimes worth a Life's experience.
Martijn Verburg
author
Bartender

Joined: Jun 24, 2003
Posts: 3274
    
    5

Joy Rose wrote:It does seem a bit of a hodge-podge of topics, albeit ones of current interest to me. Can you explain how you came up with the title? Thanks.
Joy


Hi Joy, so we felt that there were plenty of books that covered Java syntax and recipes (cookbooks if you will), but not many that covered the wider range of skills and knowledge you need to be a "Well-Grounded Java Developer". We hope that covering the VM, concurrency, performance tuning, alternative languages to complement Java + some new insights into DI, TDD, Build and CI does exactly that :-). In other words, it's no longer about the language, it's about the ecosystem around it.
Martijn Verburg
author
Bartender

Joined: Jun 24, 2003
Posts: 3274
    
    5

Tauri Valor wrote:Book description says
...showcasing some important software craftsmanship techniques by taking you through an example (imaginary) project


Does the craftsmanship techniques mean the design issues of various java patterns ? how beneficial is the book for a java architect?
Anyways, the topics in the book look interesting and is worth spending time. Looking forward.

Thanks Ben and Martijn.


Hi Tauri,

That description is possibly a little misleading. There is a single project, but that simple contains all of the various examples in one Maven project (which does showcase Maven supporting polyglot nicely). We don't discuss many patterns except for Dependency Injection, which gets a full chapter. However, I do think the book is useful for the Java architect as it does cover details about the VM, java performance tuning, concurrency, build and CI as well as a chapter on how to choose languages outside of Java.
Bill Clar
Ranch Hand

Joined: Sep 21, 2006
Posts: 152

Martijn Verburg wrote:
Joy Rose wrote:It does seem a bit of a hodge-podge of topics, albeit ones of current interest to me. Can you explain how you came up with the title? Thanks.
Joy


Hi Joy, so we felt that there were plenty of books that covered Java syntax and recipes (cookbooks if you will), but not many that covered the wider range of skills and knowledge you need to be a "Well-Grounded Java Developer". We hope that covering the VM, concurrency, performance tuning, alternative languages to complement Java + some new insights into DI, TDD, Build and CI does exactly that :-). In other words, it's no longer about the language, it's about the ecosystem around it.


Martijn, thank you for taking the time to answer our questions.

Is a solid foundation in Java principles and coding a prerequisite to "The Well Grounded Java Developer"? I'm currently learning "Effective Java" but I'd like read both books simultaneously.
Martijn Verburg
author
Bartender

Joined: Jun 24, 2003
Posts: 3274
    
    5

Bill Clar wrote:
Martijn Verburg wrote:
Joy Rose wrote:It does seem a bit of a hodge-podge of topics, albeit ones of current interest to me. Can you explain how you came up with the title? Thanks.
Joy


Hi Joy, so we felt that there were plenty of books that covered Java syntax and recipes (cookbooks if you will), but not many that covered the wider range of skills and knowledge you need to be a "Well-Grounded Java Developer". We hope that covering the VM, concurrency, performance tuning, alternative languages to complement Java + some new insights into DI, TDD, Build and CI does exactly that :-). In other words, it's no longer about the language, it's about the ecosystem around it.


Martijn, thank you for taking the time to answer our questions.

Is a solid foundation in Java principles and coding a prerequisite to "The Well Grounded Java Developer"? I'm currently learning "Effective Java" but I'd like read both books simultaneously.


I would probably read Effective Java before or after our book. We love Effective Java, it's very focussed on getting the most out of the Java language features and APIs and most importantly working around some of its rougher parts! It is getting your brain to think at a very specific focussed part of Java, so that might not mix well with reading our book at the same time :-)
 
GeeCON Prague 2014
 
subject: The Well Grounded Java Deveoper