Stories
Slash Boxes
Comments

News for nerds, stuff that matters

C# Book Recommendations?

Posted by Cliff on Fri Mar 16, 2007 01:45 AM
from the which-one-is-the-best-to-learn-from dept.
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?"
This discussion has been archived. No new comments can be posted.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • Book? (Score:3, Insightful)

    by TodMinuit (1026042) <todminuit@noSPaM.gmail.com> on Friday March 16 2007, @01:50AM (#18371997)
    Just start screwing around. Build some stuff in it. Work on some open source stuff. You should be able to pick it up easily.
    • Re:Book? by WebCrapper (Score:3) Friday March 16 2007, @02:04AM
      • Re:Book? (Score:4, Interesting)

        by Osty (16825) on Friday March 16 2007, @03:03AM (#18372277)
        (http://www.daishar.com/blog)

        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 [microsoft.com] and XNA Game Studio Express [microsoft.com] 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?

        [ Parent ]
        • Re:Book? (Score:4, Interesting)

          by cyclop (780354) on Friday March 16 2007, @05:26AM (#18372773)
          (http://opendevice.blogspot.com/ | Last Journal: Thursday September 09 2004, @11:35AM)
          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.
          [ Parent ]
        • Re:Book? by WebCrapper (Score:2) Friday March 16 2007, @07:00AM
        • Re:Book? (Score:4, Insightful)

          by CastrTroy (595695) on Friday March 16 2007, @07:57AM (#18373613)
          (http://www.kibbee.ca/)
          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.
          [ Parent ]
      • 1 reply beneath your current threshold.
    • Even if he wants books by Nik13 (Score:1) Friday March 16 2007, @03:32AM
    • Re:Book? (Score:5, Interesting)

      by teslar (706653) on Friday March 16 2007, @05:54AM (#18372869)
      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.
      [ Parent ]
      • Re:Book? by CastrTroy (Score:3) Friday March 16 2007, @08:05AM
    • Re:Book? by CastrTroy (Score:3) Friday March 16 2007, @07:55AM
  • A few (Score:4, Informative)

    by Anonymous Coward on Friday March 16 2007, @01:58AM (#18372035)
    Professional c# 2005 and the .net 2.0 platform by apress is excellent. Read it from cover to cover (about 1000 pages but very high quality book). It will cover the basics of C#. Also it exposes you to database access with c#, and covers both data readers and datasets from .net library. It also covers winforms and gdi+ programming. It gives you a taste of asp.net 2.0 also. If you buy 1 book, buy this one. I bought it and just lucked out. I spoke with several other people and this is the one book everyone seems to recommend.

    Next up i'd look into beginning asp.net 2.0 with c# by wrox press if you are interested in web development. It is an example driven book. You read a little, then it walks you through doing something. It also has assignments at the end of the chapter to make sure you are getting it.

    Continue with pro asp.net 2.0 with c# 2005 by apress. It will give you a deeper look into more advanced topics of asp.net.
    • Re:A few by DeafByBeheading (Score:2) Friday March 16 2007, @02:10AM
    • APress is my new fave by WED Fan (Score:1) Friday March 16 2007, @08:51AM
    • Re:A few by Doctor Memory (Score:3) Friday March 16 2007, @11:02AM
    • Re:A few by Johnboi Waltune (Score:2) Friday March 16 2007, @02:46PM
  • A programmer's introduction to C# (Score:4, Informative)

    by martijn-s (456925) * on Friday March 16 2007, @02:02AM (#18372051)
    I got this book around when C# was first introduced. I started from the same languages you name, and I've quite possibly never read a better book about a programming language (and API of course).

    http://www.apress.com/book/bookDisplay.html?bID=45 4 [apress.com]

    (Actually, A programmer's introduction to PHP is also very good.)
    • Re:A programmer's introduction to C# (Score:4, Insightful)

      by xtracto (837672) on Friday March 16 2007, @07:03AM (#18373159)
      (Last Journal: Saturday October 20, @06:40PM)
      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 [oreilly.com] 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!
      [ Parent ]
      • Don't get the Nutshell one (Score:4, Funny)

        by Erioll (229536) on Friday March 16 2007, @09:59AM (#18375127)
        I've read a few of the "in a Nutshell" books, and the C# one is by FAR the worst. Most of the others are anywhere from good to great (the Java one is outstanding IMO), but the C# one just falls really REALLY flat. The examples are bad, and he often jumps in "assuming" that you know how things are supposed to work. But most glaringly, it doesn't even cover the most common operations. Like take a guess how to bring in an entire text file at once? Guess what: you basically need to go into the API and figure it out yourself, because none of the string or file I/O examples touch on it at all. Now true, I haven't seen it since first edition, but I wouldn't trust it at all. I'm just glad I didn't lay money out for it, but rather got it from a library.

        The authors of the "nutshell" books are not all the same, hence the vast differences in quality. Buyer beware!
        [ Parent ]
      • 1 reply beneath your current threshold.
  • MSDN (Score:3, Informative)

    by jfclavette (961511) on Friday March 16 2007, @02:02AM (#18372053)
    If you are familiar with object-oriented programming, then I dont believe you need a book. MSDN C# language page [microsoft.com] should be all you need. If you insist on getting a book, I recommend Programming C# by Jessy Liberty for a tutorial.
    • 1 reply beneath your current threshold.
  • CLR via C# [barnesandnoble.com]

    It skips over a lot of the hand holding that a "Learn Foo in X Days" book will give you but goes in to great detail about how the language is implemented, often giving examples of how C# code is compiled to IL assembly language and sometimes further giving examples of how it will be compiled by the JIT compiler into x86 assembly language.
  • I already knew C and C++, so I can't speak from a beginners point of view. Inside C# did the trick for me.
  • Head First Java (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.
  • Charles Petzold (Score:1)

    by Mordio (606397) on Friday March 16 2007, @02:24AM (#18372151)
    I liked the books of Charles Petzold: Programming in the Key of C# [charlespetzold.com] and Programming Microsoft Windows with C# [charlespetzold.com]. I don't know if they are up to date but I think they provide a basic overview.
  • "Pro C# 2005 and the .NET 2.0 Platform" by Andrew Troelsen is an excellent book.

    It isn't a "recipe" book that tells you how to do common things, or something that you read from cover to cover to learn the basic syntax for non-programmers, it's more of a reference book..

    In a nutshell:
    • The C# programming language.
      • The C# syntax specific stuff, if you wanted to learn Mono this is the only applicable chapter. Basic syntax, collections, object lifetime, Interfaces, Delegates, Generics, etc. Goes into lots of detail here.
    • Programming with .NET assemblies.
      • A fairly small section, only ~100 pages. How the CLR works, Multithreading, publishing .NET assemblies securely, using proprietary 3rd party assemblies, permissions, processes+contexts, etc.
    • Programming with .NET libraries.
      • If you know Java well this may be the chapter you refer to the most. File I/O, .NET remoting, XML, Windows Forms, ADO.NET DB access. It doesn't go into huge detail with any of these (it would have to be another book in itself), but gives you a very good sense of what you have available and how to do the basic things, without going into the specifics.
    • Web applications and XML web services.
      • Another small section which I haven't looked at, but it's probably similar to the previous section except geared towards ASP.NET servers instead of client libraries.
  • Translate (Score:2, Insightful)

    by devnul73 (749914) on Friday March 16 2007, @02:48AM (#18372229)
    (http://www.stankin.com/)
    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.
    • Re:Translate by DragonWriter (Score:2) Friday March 16 2007, @12:37PM
  • Book???? (Score:2, Insightful)

    by khooee (1076485) on Friday March 16 2007, @03:35AM (#18372397)
    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/ [microsoft.com]
    - http://www.apress.com/free/ [apress.com] (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.
    • Re:Book???? (Score:4, Insightful)

      by LizardKing (5245) on Friday March 16 2007, @05:24AM (#18372763)
      (http://www.chriswareham.net/)

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

      [ Parent ]
    • Re:Book???? by Shados (Score:2) Friday March 16 2007, @06:57AM
    • Re:Book???? by Thyamine (Score:2) Friday March 16 2007, @07:11AM
  • I can recomend... (Score:2, Funny)

    by Edam (911039) on Friday March 16 2007, @04:04AM (#18372485)
    (http://www.waxworlds.org/edam)
    I can recomend the Holy Bible (King James Version, leather bound):
    http://www.amazon.com/Bible-Giant-Print-Personal-L ibrary/dp/0834003511/ref=ed_oe_h/002-6705002-67456 10 [amazon.com]
    to help absolve your sins, my son...
  • Learning C# (Score:1)

    by jackv (1068006) on Friday March 16 2007, @04:10AM (#18372503)
    (http://www.itjobfeed.com/)
    The only one I've used is "Learning c#" Jesse Liberty . Which is useful to reference. But in reality, if you know OO , then as soon as you get on top of the syntax, the best thing to do is write code.
  • For technical IT books I recommend Safari [oreilly.com]. It has saved me a lot of money since now I can read all new IT technical books online and I don't have to buy dead trees anymore. It has also saved me a lot of space on my library, and the search feature allows me to find quickly what I need. For learning a new language, Safari is surpassed only by open-source, and if you combine the two you can learn C# as fast as you count 1, 2, 3.
  • C# Precisely (Score:1)

    by perl (117616) on Friday March 16 2007, @04:30AM (#18372559)
    P. Sestoft and Henrik I. Hansen, C# Precisely, The MIT Press 2004; second updated printing 2006. ISBN 0-262-69317-8.

    http://www.dina.kvl.dk/~sestoft/csharpprecisely/ [dina.kvl.dk]
  • SICP (Score:2)

    by John Nowak (872479) on Friday March 16 2007, @04:33AM (#18372571)
    Structure and Interpretation of Computer Programs [mit.edu] (full text online). Anyone who hires someone who doesn't know what's in this book is hiring people for the wrong reasons. Unless you want to work for such people, it doesn't make sense to go into the workforce with such a narrow knowledge (C/C++/C#). Learn everything you can about everything.
    • Re:SICP by John Nowak (Score:2) Friday March 16 2007, @04:36AM
      • 1 reply beneath your current threshold.
    • Re:SICP by LizardKing (Score:2) Friday March 16 2007, @05:14AM
      • Re:SICP (Score:4, Interesting)

        by John Nowak (872479) on Friday March 16 2007, @05:43AM (#18372829)
        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.
        [ Parent ]
      • Re:SICP by bonespsk (Score:1) Friday March 16 2007, @10:58PM
      • 1 reply beneath your current threshold.
  • by Dr_Barnowl (709838) on Friday March 16 2007, @05:09AM (#18372715)
    Get the Gang of Four [amazon.com], and other books on O-O like Holub on Patterns.

    Don't bother with books aimed purely at C#. If you know OO well, you can appreciate other languages too. I recently went from coding C# to Java for the first time, with very little change of pace, simply because the tools, APIs, syntax and general patterns are so similar. I'd expect the same from C/C++, because the C# syntax is both similar and simpler. In particular, context-completion features with popup help in IDEs mean that I very rarely refer to the docs anymore. VB6 used to pop up just the method signatures, with VS2005 and Eclipse, a short description of the routine pops up as well.

    But grokking OO after being a procedural programmer for a long time is the hardest mental hurdle to jump. I worked with a bunch of VB6 programmers who just didn't get it, even though the language supports polymorphism reasonably well. Since I left they've transitioned to C# - I hope they had a major epiphany, because if not, they have a lot of big, static classes with very large methods hanging around.
  • MSDN (Score:2)

    by Ingolfke (515826) on Friday March 16 2007, @06:10AM (#18372925)
    (Last Journal: Saturday January 13 2007, @02:19AM)
    • Re:MSDN by soosterh (Score:1) Friday March 16 2007, @07:02AM
  • MCAD (Score:1)

    by nikolajsheller (553835) on Friday March 16 2007, @07:08AM (#18373201)

    If you are looking for information on the .NET framework and namespaces, not syntax and language features, then consider getting one of the MCAD books.

    They cover a lot of subjects concerning the .NET framework, assemblies, deploying, databinding, controls, web services and many other things.

    Having worked with .NET for a bit over a year now, I have learned a lot of things about the .NET framework by reading the "Developing and Implementing Windows-based Applications with Visual C# .Net and Visual Studio .NET", that I have not touched upon otherwise while working with .NET. The book is a bit dated compared to the newer .NET frameworks, but still covers a lot of ground that can be very useful.

    -Nikolaj
  • I just paged through programming C# by jesse liberty (o'reily) - It's a great book and there's really only a few things about C# that are different from java, like the yield keyword, operator overloading, and delegates/events, and C++ Style compiler directives.
  • by keenada (1018094) on Friday March 16 2007, @08:35AM (#18373991)
    (http://www.keenada.com/)
    I graduated college without any C# experience, and heard the same rumours -- that C# knowledge opens a lot of doors. I bought the O'Reilly 'Programming C#' book by Jesse Liberty, worked through the examples, and it gave me enough knowledge to get hired as a C# developer.

    Since I've been developing C# professionally, I've found the 'C# Cookbook' and the 'ADO.NET Cookbook' extremely useful (both by O'Reilly). People on my team are constantly borrowing these books from me.
  • Essential C# 2.0 (Score:2)

    by plopez (54068) on Friday March 16 2007, @08:55AM (#18374203)
    From Addison-Wesley, by Michaels. ISBN 0-321-15077-5.

    It goes from 'Hello World' to generics, delegates, interfaces, reflection, threading etc. In short if you are stuck in a MS shop and have to build complex code (like I once was), it is very helpful.
  • by jdkc4d (659944) on Friday March 16 2007, @09:32AM (#18374651)
    I learned a lot from this book: Pro C# 2005 and the .NET 2.0 Platform [apress.com]. Since C# relies heavily on the .NET or MONO frameworks, I would also suggest downloading the MSDN Library. While you can read this all online, having it locally is very helpful when learning about .NET (also its free). Unless you have Visual Studio, I would also recommend downloading the C# Express IDE from Microsoft: [microsoft.com]http://msdn.microsoft.com/vstudio/express/visualcs harp/ [microsoft.com]
  • I'm assuming you're doing this on windows.

    1) Write a small program to start understanding the syntax. Use code you find on the web for reference.

    2) Become familiar with the following projects, and understand how they are implemented:
        a) mbUnit [mbunit.com], a fantastic example of modern, idiomatic c# design.
        b) DynamicProxy [castleproject.org], which pushes (abuses?) the CLR's reflection APIs past what you might think they are capable of.

    3) Get a copy of .NET reflector [aisto.com], which you'll need to overcome the lack of documentation for key useful pieces of the framework. This thing is magical.

    4) Write something larger.
  • by whitefox (16740) on Friday March 16 2007, @11:07AM (#18376121)
    After getting the basics of the language down, I would definitely recommend "Effective C#: 50 Specific Ways to Improve Your C#" by Bill Wagner (ISBN 0321245660).
  • by MilwaukeeCharlie (911858) on Friday March 16 2007, @11:29AM (#18376511)

    I liked this one: Design Patterns in C# [amazon.com]

    Though it isn't a primer (obviously, given the title) it does contain quite a bit of good information. The author was responsive to my email inquiries about it as well.

  • I question your assumption (Score:3, Informative)

    by Anonymous Codger (96717) on Friday March 16 2007, @11:58AM (#18377023)
    My experience in a recent job search is that the demand for Java exceeds that for C#. Unless you're enamored of Microsoft software and operating systems, you might want to learn Java first.

    One thing for sure - the demand for C++ programmers has collapsed, at least in the DC area.
  • by Tronster (25566) on Friday March 16 2007, @01:11PM (#18378059)
    (http://www.tronster.com/)
    I've been on/off developing in C# since 1.0 (2002). Two books I'd recommend, both my Microsoft Press:

    "Applied .NET Framework Programming"
    http://www.amazon.com/Applied-Microsoft-NET-Framew ork-Programming/dp/0735614229
    - Recommend reading this first, cover to cover
    - It gives the gritty details of .NET, with most all examples in C#.
    - Services as an invaluable reference

    "Visual C# 2005 Step By Step"
    http://www.amazon.com/Microsoft-Visual-C-2005-Step /dp/0735621292
    - Specifics on the latest release of C#
    - While guided, not too much fluff

    Good luck!
  • by shalla (642644) on Friday March 16 2007, @03:27PM (#18379955)
    I'd also like to suggest that if you aren't sure, you can always check your local public library. I'm the computer librarian (one of two) at mine, and we have most of the books I've seen mentioned here.

    So if you don't want to blow $40 on Pro C# 2005 and the .NET 2.0 platform by Andrew Troelsen and then decide that you really wanted was Programming C# by Jesse Liberty, that's always an option, too. At least it is if one of your local libraries has a good computer collection.
  • visual c# 2005 (Score:1)

    by agentker (919647) on Friday March 16 2007, @03:30PM (#18379999)
    I'm taking a C# class now and the book we use is pretty good. Beginning Visual C# 2005 [amazon.com] Of course, I'm not familiar with any other books on the subject, but my professor picked this one out of a whole bunch, so he must have had a reason!
  • You're already very familiar with OOP. If you're like me and just want the facts in hurry, I'd recommend something like C# Essentials: http://www.amazon.com/C-Essentials-2nd-Ben-Albahar i/dp/0596003153/ref=pd_bbs_sr_1/103-5749589-837266 3?ie=UTF8&s=books&qid=1174093734&sr=8-1 [amazon.com]

    It covers the language as quickly as anything I've seen. I felt fairly up-to-speed after a long weekend with this book. It won't waste your time telling you how to code "hello world" or giving you architectual guidance (there's plenty of that online). It's cheap too.

    Your biggest hurdle will be learning the .Net framework libraries and getting proficient will other aspects/pitfalls of .Net development. The language itself will be easy for you.

  • by littlewink (996298) on Saturday March 17 2007, @01:42AM (#18383649)
    Wiping the Slate Clean with C# [google.com] published by Breakthrough Technologies, Inc..

    It's the best C# introduction for both seasoned programmers and newbies.
  • FDG (Score:2)

    by JAFSlashdotter (791771) on Saturday March 17 2007, @01:54AM (#18383691)
    Framework Design Guidelines [amazon.com]

    It won't teach you to program in C#, but it will explain why things are the way they are, and give you a lot of good rules to keep you from making bad mistakes. Especially if you want to make reusable libraries, but even if not.
  • C# Books (Score:1)

    by ZenFu (692407) on Saturday March 17 2007, @10:09PM (#18391627)
    I hope you weren't thinking you'd only have to read one book...

    Learning the .NET API is key. For that, I would recommend:
    * read CLR via C#, Second Edition, by Richter

    I taught myself C# and my first year of code was rather hideous until I started spending time on Design Patterns. The following books are good:
    * Patterns of Enterprise Application Architecture (Hardcover) by Martin Fowler
    * Head First Object-Oriented Analysis and Design A Brain Friendly Guide to OOA&D By Brett McLaughlin, Gary Pollice, David West
    * Design Patterns C# (Hardcover) by Steven John Metsker (Author)


    For web, I would recommend the following ASP.NET books:
    * Programming Microsoft ASP.NET 2.0 Applications: Advanced Topics by Dino Esposito (Paperback - Mar 15, 2006)
    * Programming Microsoft ASP.NET 2.0 Core Reference by Dino Esposito (Paperback - Nov 30, 2005)

    You definitely need to do code so I would start some sort of project for someone, like a non-profit, in .NET. Unless you have a preference I would start with web as there are more jobs there. I think.


    .NET 3.0 is here and there are new ways you can structure your programs, particularly for a winform application. I would really learn that as well and try to do something interesting there.

    Also, C# isn't the only language thats hiring. You might want to consider Java or other alternatives to the windows world. Windows keeps me employed, but if I was to start my own company, the startup costs are too high for a windows environment.
  • Late to the party (Score:1)

    by gatesvp (957062) on Sunday March 18 2007, @10:55PM (#18398481)

    I'm late to the party, but I'll throw in my two cents here. Visit the MS site!

    The truth is, you know how to program, you want to learn details. Well MS wants you to learn those details too. So go to www.msdn.com and check out what they have. You should be able to download a free copy of VS 2005 Express Edition that will let you play around.

    If you really want to dig in, take an Microsoft Certification course. That means, buy a Self-paced training kit from MS and work your way from front to back (takes 50-100 hours). When you are done you will have a shiny certificate that says that you know some major aspect of C# (and you will).

    Now, when it comes up in an interview, you can confidently state that "yes I know .NET" and you can provide a document to prove it. Employers put different weightings on the value of certifications, but if you're up against other new grads, you have more proof than they do about your knowledge. Plus you'll have demonstrated your "dedication to lifelong learning" in a concrete fashion (rather than "I just read a book and got some of it").

  • Book (Score:1)

    by d3v1lman (1078751) on Thursday March 22 2007, @02:53AM (#18440345)
    i see a lot of good points to be made as to what book would be the best choice... I would recommend using something like the C# Black Book, or anything by O'Reilly or WROX publishing companies. I have found these to be most helpful in learning new languages. All that I can say, though, is that once you get to a point where you know a few languages, any book will just be reference, and you will only get some shortcuts and decent references to what you want to do. if you really have a grasp of what you want to accomplish, then I would recommend spending some time searching google or krugle and looking at source from sourceforge.net or some other open-source site to see how "real" programmers do it. don't get me wrong, I learn a lot from books, and never stop reading about my trade, but there is a lot more to be said about reading about how to do something, and seeing it done. I am more hands-on, and when I can see the methods applied real-world, it makes a huge difference. I used to teach a 200 level programming class, and that is the one thing that I cannot emphasize enough. Read, learn, educate, that is all well and good, but you must also make sure that you do, practice, exercise everything that you learn so you can discover how to do it better, more efficient, or just differently from the guy before you. You cannot go with just doing, and you cannot go with just reading... there is a reason that certifications are not as prominent in our profession, and that is simply because (and I cannot remember where this quote came from...) "those who cannot do get certified". Again, I reiterate, O'Reilly or WROX, don't rely on books, get out there and have fun! C# is a powerful language (even with the Microsoft branding) and has much potential! I have loved it since it came out, but sadly I am here doing more with PHP, ASP, JavaScript, and that sort (I am the only .NET developer in my company...) but take hold of a .NET language on top of ANSII standard C++ or come C-style syntax language and you are unstoppable! you get the best and the worst, the sweet and the sour, and you get to decide what falls on which side of the fence :) Sorry about the rambling... 3:00am here and just trying to take a quick break from work... hope this offers some new insite!
  • by caywen (942955) on Thursday March 22 2007, @07:15PM (#18452275)
    I find that with C#, the language is just the tip of the iceberg. You should make an effort to study the .NET CLR in depth, and I know of a great book by Jeffrey Richter called "CLR via C#." It's probably going to be pretty hard to get far in C# without understanding some fundamental (but non-obvious) things about assemblies, garbage collection, code access security, etc.
  • by triso (67491) on Wednesday March 21 2007, @11:41AM (#18430357)
    (http://snicks.bravehost.com/)

    Did he ask 'should I get a book'?

    No. Perhaps those of you that don't read books simply have a reading comprehension problem?

    He asked what books to get. He didn't ask what your opinion of using a book to get a jumpstart on a language is....
    To recommend no book is to recommend all books.
    Hyakujo.

    [ Parent ]
  • 9 replies beneath your current threshold.