Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

The Well Grounded Java Deveoper

 
paul nisset
Ranch Hand
Posts: 236
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 3275
5
Eclipse IDE Java Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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....)
 
paul nisset
Ranch Hand
Posts: 236
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Pie
Posts: 65228
95
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
paul nisset
Ranch Hand
Posts: 236
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 3275
5
Eclipse IDE Java Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 22
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 236
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 3275
5
Eclipse IDE Java Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 34973
379
Eclipse IDE Java VI Editor
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Joy Rose
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Tauri Valor
Ranch Hand
Posts: 181
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.

 
Martijn Verburg
author
Bartender
Posts: 3275
5
Eclipse IDE Java Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 3275
5
Eclipse IDE Java Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 163
Eclipse IDE Java Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 3275
5
Eclipse IDE Java Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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 :-)
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic