• 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:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Effective Java (2nd Edition) by Joshua Bloch still relevant?

 
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
is effective Java still relevant for Java 8? I was reading great reviews about this book but I'm afraid it may be outdated since its from 2008. If so what other more recent book are similar to this one?.
thanks
 
Sheriff
Posts: 5555
326
IntelliJ IDE Python Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A similar question was asked a couple of months ago: Should Bloch write a 3rd Edition for Java 8?
 
Marshal
Posts: 79178
377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you for referring to my question.

Yes, the book is still relevant.
 
Sheriff
Posts: 22783
131
Eclipse IDE Spring VI Editor Chrome Java Windows
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I've re-read the book just a few weeks ago, and yes, it's still very relevant. The only things that I found funny were statements like "interfaces can't have static methods" and "interfaces can't have implementations" - which they can since Java 8.

I would like to have an updated version for tips and tricks for streams, lambdas and other Java 8 language features, but we'll just have to wait for that.
 
Bartender
Posts: 10780
71
Hibernate Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Rob Spoor wrote:I've re-read the book just a few weeks ago, and yes, it's still very relevant. The only things that I found funny were statements like "interfaces can't have static methods" and "interfaces can't have implementations" - which they can since Java 8.

I would like to have an updated version for tips and tricks for streams, lambdas and other Java 8 language features...


Me too; mainly because I suspect that these new features are likely to get abused.

The docs will tell you what these new features do; but they rarely tell you when (or, maybe more importantly, why) you would use them. And that's what Effective Java has always been so good at: It's a "why to" book.

For example: When is it worth implementing a 'default' method? I'm sure there are good cases for it, but I'm equally sure that you don't want to do it all the time. After all, the language survived for almost 20 years without them.
Same with streams and lambdas: they look very useful to me; but I'm not sure I'd want to see a program littered with 'em. Java isn't, and never will be, a functional language, but version 8 is starting to look a bit like the early version of C++ - "Java with closures".

So Josh, please tell us why and when.

Winston
 
Bartender
Posts: 5465
212
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Winston Gutkowski wrote:(...)
For example: When is it worth implementing a 'default' method? I'm sure there are good cases for it, but I'm equally sure that you don't want to do it all the time. After all, the language survived for almost 20 years without them.
Same with streams and lambdas: they look very useful to me; but I'm not sure I'd want to see a program littered with 'em. Java isn't, and never will be, a functional language, but version 8 is starting to look a bit like the early version of C++ - "Java with closures".

So Josh, please tell us why and when.

Winston


You have answered your own question: if you didn't need something in the last 20 years, you don't need them now.
Same with streams and lambda's: is there anything that you can do with these things that you couldn't do before?

But it all is new, and so is the urge to use it huge. And rightly so, you can do some things much more easily or
much more shorter.

My advice: don;t wait for mr. Bloch to come with the answers. As soon as you gain some knowledge and some
experience, in Java and/or programming, you'll find it out by yourself
 
Winston Gutkowski
Bartender
Posts: 10780
71
Hibernate Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Piet Souris wrote:You have answered your own question: if you didn't need something in the last 20 years, you don't need them now.
...
My advice: don;t wait for mr. Bloch to come with the answers.


Don't worry, I won't. However, there are a pile of things in Java that aren't strictly needed, or are best done or used in a particular way - and that's what EJ has always been so good at: Explaining why.

Perhaps it needs someone with more experience in functional languages; but I'd really like to see (or know about) a version 8 "why to, and when to" book - whether it's EJ, or any other.

Winston
 
Melvin Guntanis
Greenhorn
Posts: 4
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
thanks for the answers, I'll go buy it now!!
reply
    Bookmark Topic Watch Topic
  • New Topic