views:

275

answers:

11

I'm working my way through Pro C# 2008 (Troelsen) and am thinking about what to read next. Over the past few weeks, I've accumulated this list of possibilities:

My goal is to move beyond C# syntax and bring my software engineering skills to the next level. Any recommendations will be welcomed with interest, such as a proposed order in which to read these or additional titles to be considered.

+8  A: 

Try to create an application yourself. No books needed, only Google and Visual Studio.

Why do I suggest this? Because the best way to learn a programming language is to use it!

luiscubal
Yeah... define a little project for yourself and get started, that's the way to go. Create a little game or something :-)
TimothyP
books helped me about 25% of the time. Writing apps and doing this stuff on the job was where I learnt most. +1
Ferdeen
Writing small personal apps are a great way to try out new things. I have been messing around with the charting feature in .NET for no practical purpose other than entertainment. A fun app to write is a small checkout app for checking books out to friends or I am always a fan of lunch randomizers.
ahsteele
Yup, I've tried using books, they are helpful, but I hate programming books, everything I know today about c# and even when I started coding in BASIC were all learnt by doing. Fold up your sleeves and get dirty in coding.
simplyme
+2  A: 

Code Complete and Pragmatic Programmer are a "language agnostic" must read.

CMS
Couldn't agree more.
ahsteele
+1  A: 

C# in Depth: What you need to master C# 2 and 3 for sure.

I would also suggest to have Essential C# 3.0: For .NET Framework 3.5 handy.

Also, C# 3.0 Design Patterns (Bishop) is very dry read. i started reading it to move my pattern knowledge to the C#/.NET domain, and it ended to be a good sleeping pill.

Also, are you looking for c# specific books, or programming in general?

A: 

Two great lists of books from Joel Spolsky and Jeff Atwood:

Joel's book list

Jeff's List

I recommend Joel's book, Joel on Software.

daustin777
A: 

I recommend Patterns of Enterprise Application Architecture (Fowler). It is an amazing book.

But, I agree with Bob, you must create an application just by yourself to learn much more about programming.

Good luck.

rpf
+2  A: 

I'd like to humbly recommend my own book - C# in Depth. It's still "C# syntax" but may encourage you to think a little more deeply (and perhaps in a different way) to the possibilities C# 2 and 3 provide.

Your list contains a mixture of "language specific" and "completely agnostic" books. A mixture of both is definitely a good idea. Personally I wasn't too fond of Code Complete when I read the first half of it some time last year - I must finish it some time. I know that heretical to even mention, but there we go.

One "off the wall" suggestion is Effective Java, 2nd edition, by Josh Bloch. Not all of it is applicable to C#, but a lot is and it's pure gold in general. It's worth being really comfortable with C# first so you can try to work out which bits apply, mind you.

Jon Skeet
+4  A: 

My favorite advanced C# book is CLR via C#, Second Edition by Jeffrey Richter. It will really get you into the nitty gritty details.

thr
Ooh, absolutely. That's a fabulous one.
Jon Skeet
@Jon Skeet: Yeah, I get all warm and fuzzy inside when I read it :)
thr
great book, but not for everyone, and I'd guess not the best next book for the OP, but +1 anyway, great book
MikeW
@fredrikholmstrom, @Jon Skeet: CLR via C#, Second Edition is also on my toreadlist. When do you think it is appropriate to delve in? thx
@Sasha: When you're *reasonably* comfortable with C#. You don't have to be an expert though.
Jon Skeet
+1  A: 

Hi, this is my first answer so be gentle :). I find myself in the same position, so I've decided not to go on the LANGUAGE SPECIFIC way, but to go on the architectural aspect of the picture, DESING PATTERNS.

One of the best books to start with that is the one you mention, HEAD FIRTS DESIGN PATTERNS, however is JAVA oriented is one of the best I found out there, after reading that and grasping the founding blocks of enterprise architecture, go on a more technical vision as BISHOP, Design Patterns provide.

And open Visual Studio and get your hands dirty while you are reading it.

Best Regards!!!

MRFerocius
+1  A: 

Patterns of Enterprise Application Architecture (Fowler) is classic and therfore should be read just to be on the smae page as the other devs you will work with in the future.

Of course you should also jum in and get your hands dirty like the others have said. Just dont make the same mistake I did. I started working on a project that used a lot of technologies but had no practical use and was boring to code. It didnt get me anyware because i stoped in middle. Pick an app that you think would be useful and design/devlop it yourself using only VS, MSDN and Google. Dont worry about what technolgies it does or doesnt include. Just make sure to do it right and have fun while your at it.

Another good read is this: Applying Domain Driven Design and Patterns

its not in depth but it covers a lot.

Sruly
A: 

Design patterns looks great but it requires solid knowladge of the language also domain driven design is great

Yassir
A: 

Check out my list of recently published books related to .NET development:

http://www.riaguy.com/books/

Also there is an RSS feed.

Koistya Navin