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?"

5 of 116 comments (clear)

  1. Re:Book? by Osty · · Score: 4, Interesting

    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

    Reading a book wouuldn't help in your case either. My suggestion? Every computer science student at one point or another has had the desire to build a game. Go download Visual C# Express and XNA Game Studio Express for free and learn C# while scratching that itch at the same time. While the XNA bits won't necessarily be directly applicable to getting a job outside of game development, you can use the full .NET framework for Windows games (XNA on Xbox 360 uses a more limited version of the Compact .NET Framework). Could there be a more fun way to learn C# than by building a game?

  2. Re:Book? by cyclop · · Score: 3, Interesting

    I personally don't like computer games that much (expect perhaps for Civilization-like things), and I always found programming games, when I tried, unbelievably boring. However, YMMV.

    --
    -- Patent no.123456: A way to personalize /. comments with a sig attached to the end.
  3. Re:SICP by John+Nowak · · Score: 3, Interesting

    SICP isn't about learning Lisp or Scheme. It's about learning how to program.

    That said, how many times have I used Lisp for commercial development? None. How often have I applied its idioms? I do so on a daily basis.

  4. Re:Book? by teslar · · Score: 4, Interesting

    I disagree. To learn a language you have to know what its strengths and weaknesses are, which approaches work well, which don't. You could get that knowledge from just playing around, but it'd be a lot quicker if you read a book that tells you. Especially if you know another language, a list of the crucial differences is very much required. If not you end up writing things in the style of one language that really should be expressed differently.

    Example: C programmer in Matlab. Task: Take two vectors of same length, for every i smaller than length, multiply the ith element of the first with the ith element of the second vector.

    Results:

    Just playing around, as you suggest:
    function y = multiply_vectors(a, b)
          y = zeros(size(a));
          for i = 1:length(a)
                y(i) = a(i)*b(i);
          end
    end


    Doing it the proper (Matlab) way:
    y = a.*b;

    It's a simple and therefore unlikely example, granted, but there are many such differences between programming languages. Just playing around doesn't easily allow to find them because, technically, the code works. It just doesn't work efficiently. That said, once you know how to deal with the language, by all means, screw around. A lot.

  5. Re:A few by Doctor+Memory · · Score: 2, Interesting

    i'd look into beginning asp.net 2.0 with c# by wrox press Since the question was about C#, why not mention that there's a corresponding Beginning Visual C# 2005? I found it to be very helpful, unlike the other C# book I bought (Core C# and .NET from Prentice-Hall). It starts off with C# itself, and only after covering that thoroughly does it get into Windows-specific topics (ignoring the fact that C# itself is largely Windows-specific).

    On a meta-note, be sure to check out what employers in your area (or the area where you'd like to live) are actually looking for. Here in the Midwest, it's largely C#/.NET, but on the coasts there was a lot more Java work. Java also seems to be more prevalent in companies that have large systems, whereas .NET dominates in the small-to-medium size business market. Think about where you want to live and what kind of company you want to work for. I'm sure you can find work no matter where you go, but speaking as a Java developer in the heartland — well, there's a reason I have these "Learning C#" books on my shelf... :/
    --
    Just junk food for thought...