Slashdot Mirror


C# Book Recommendations?

Stevecrox asks: "I'm in my final year of university and have a working knowledge of C/C++, Visual Basic, VHDL and a variety of Assembler languages, however chatting to a friend on his placement year I've been told that C# is what employers are really looking for. What book would you recommend to someone looking to learn C# with my experience?"

11 of 116 comments (clear)

  1. Book? by TodMinuit · · Score: 2, Insightful

    Just start screwing around. Build some stuff in it. Work on some open source stuff. You should be able to pick it up easily.

    --
    I wonder if I use bold in my signature, people will notice my posts.
    1. Re:Book? by WebCrapper · · Score: 2, Insightful

      Well, that doesn't work on people like me that work MUCH better if they're programming something for a reason. While I hate to admit it, I don't have the personality of "I'm going to do this just for the hell of it" - I need a reason to make my life easier, etc.

      While I'm not the story parent, I've recently found projects to work on in C# so I can learn...

    2. Re:Book? by CastrTroy · · Score: 2, Insightful

      Languages aren't that hard to pick up, it's the API that's important. And you really can't learn an API from a book, you just have to use it. Not only that, C# (.Net more specifically) has a great API reference. There's no reason to buy a book at all. If you understand C++, then you shouldn't have any problems using the same concepts in C#. I never understood employers who required that you have 10 years experience with a certain language. You can learn the Language in 1 week. If you've been working with VB.Net for 3 years, there's no reason that you shouldn't be able to do similar stuff in C# after a week of getting used to the differences in syntax.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    3. Re:Book? by CastrTroy · · Score: 3, Insightful

      Everybody wants to build a games. Nobody ever does. Building a game takes a lot of time, and really isn't much more interesting than programming any other application. Plus it takes a lot of time before you get something useful. Plus, there's a lot of other skills required. You probably have to do the art, textures, character models (3D or sprites), level design, and the list goes on. Making an application that fits some need you have would probably make a lot better use of your time.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    4. Re:Book? by CastrTroy · · Score: 2, Insightful

      Case in point. I learned C in first year university. In second year, we took a file structures course that required use to use C++. I had never used C++. But I did know C. So instead of using strings.h, I used characters arrays. Sure you can do all the same things, but one requires much more work than the other. There's easy ways to do things, and hard ways to do things. If you read a book, you can often find the easy ways to do things, that would be very difficult in another language.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  2. Head First Java by MrAnnoyanceToYou · · Score: 1, Insightful

    Around here, C# is a silly thing to ask a question about. As a side note, if you really want to learn C#, you can just go to M$'s website and poke around. There are piles of tutorials. I hate to say it, but I don't recommend "Learning C#" from O'Reilly. They're great on lots of other stuff, but that particular book was a good primer on the syntax of C# - which is surely important - and not that great a primer on the actual functionality of Visual Studio. The only great thing about Microsoft development is the tools you have to do it with. Taking full advantage of them is extremely important.

    1. Re:Head First Java by Tim+C · · Score: 2, Insightful

      Around here, C# is a silly thing to ask a question about.

      Which is a shame, as it's a pretty nice language backed up by a comprehensive framework. If it weren't for the fact that it's from MS and therefore automatically evil in the eyes of so many people here, I think it would be rather more popular.

      that particular book was a good primer on the syntax of C# - which is surely important - and not that great a primer on the actual functionality of Visual Studio.

      That's probably because it's called "Learning C#" and not "Learning to Develop C# with Visual Studio". Other IDEs are available, such as the open source #Develop, and Borland's C# Builder. The .NET Framework SDK also ships with all the tools you need to compile and debug C#, and combined with Nant (a .NET port of Ant) may well be sufficient for small-scale development work or those who dislike IDEs.

      The only great thing about Microsoft development is the tools you have to do it with.

      Plus the size of the potential user base, the amount of information available on MSDN, the sheer number of forums and other user-driven resources... In fact, coming from a Java background, Visual Studio is one of the weakest points of developing for Windows, it really doesn't hold a candle to IDEs like Eclipse or even JBuilder in many areas. (Not that either of those IDEs are anything like perfect)

  3. Translate by devnul73 · · Score: 2, Insightful

    This might sound simplistic, but take some of your old code that you are very familiar with and rewrite it with C# constructs, if possible. I'll admit my knowledge of C# and its relationship to other languages in minimal, but this has almost always helped in learning of new syntax/datatypes/limitations for me.

  4. Book???? by khooee · · Score: 2, Insightful

    Echo the 1st reply..

    Books are a waste of time.. The only time I'll buy a book is if the info is very difficult to source online.

    If you can read C++, you can read C#. The class naming and hierarchy of their APIs are so verbose that you should be able to understand any sample code.

    If you're not in any projects (open source or not), get in & hack hack hack away. C# is pretty widespread now so any issues, just Google it. If you don't like MSDN doco, learn to like it, because it's free and pretty good once you know how to navigate it. And there are a truckload of MSDN blogs as well.

    Also look at: - http://msdn.microsoft.com/msdnmag/
    - http://www.apress.com/free/ (Dissecting a C# Application on the bottom - is about SharpDevelop IDE, which is pretty good)

    Who are you planning to be employed by? You might be better off learning .NET 3.0 (WPF, WCF and Workflow Foundation) since it's where Microsoft want to go... however corporates will probably give it a few years before it becomes more mainstream.

    1. Re:Book???? by LizardKing · · Score: 3, Insightful

      You suggest books are a waste of time, and to just dive in and start hacking. This attitude is a major reason why there is so much bad code out there. As I point out in reply to another post that recommends a book on Lisp to someone wanting to learn C#, if you don't know the common idioms of the actual language you are using then you will produce terrible code. A good book wont just teach you the nuts and bolts of a language such as the raw syntax, it will also encourage good practices - what I think James Coplien or Tom Cargill described as teaching "programming in the large".

  5. Re:A programmer's introduction to C# by xtracto · · Score: 3, Insightful

    I recommend Deitel's C# book. It is a very comprehensive book and has everything you can need.

    I will also recommend the In a Nutshell book. I am a big fan of those books as they cut all the crap and take you directly to the meat (I loved specially the SQL IAN book).

    And for all the people saying "dont buy a book", STFU. If you do can not answer the question of the poster just do not post anything. His question is not "Should I buy a book?" but "Which book to buy". If there is something I have learned is that reading a book is *never* a bad idea. Or what, if someone asks you in the street how to get to X you answer "No, dont go to X, go to Y, X sucks" ?.

    sheesh!

    --
    Ubuntu is an African word meaning 'I can't configure Debian'