tags:

views:

553

answers:

4

I heard a lot about effective java book, as a c# developer is this book useful for me? Is it going to add a value to my c# knowledge, is it going to get me some confusion (no java experience at all)? Thank you in advance.

A: 

I don't think it could hurt to read it for certain chapters, specifically the chapters on Classes and Interfaces, Methods and General Programming. A lot of the tips apply to C# as well, and it might be a good excercise to convert the sample code from Java to C#. Besides those chapters, the rest might be too Java centric, although I'm not completely familiar with C# so someone else might have a better answer.

Ryan Thames
+2  A: 

As a old Java Developer and now C# developer I can say that you can benefit from book. It contains a lot of general programming, OOP.. advise. For example "Favor composition over inheritance","Create Factory methods..."

mcaaltuntas
+7  A: 

Most definitely.

While some items in the book are only relevant to Java ( like Provide a readResolve method when necessary )

Many of them are general programming items ( most of the first 7 chapters )

Plus, C# was strongly influenced by Java, so many of the items will make sense.

OscarRyz
A: 

As a C# developer, reading books specific to C# is the best way to benefit your C# skills overall, however, books such as Head First Design Patterns and the GoF's Design Patterns will help your overall OOP skills from a more-or-less language agnostic point of view.

For example, the Head First Design Patterns book uses Java for the sample code within, however, knowing (say) only C# will certainly get you through it quite easily, and you'll probably pick up a bit more knowledge of Java, and the differences between C# and Java, too (The chapter about Iterators and Enumerators springs to mind).

If you're a C# developer and you're wanting to learn more about Java, then you probably can't go far wrong with Thinking In Java.

CraigTP