C# Book Recommendations? 116
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?"
Re:Book? (Score:4, Interesting)
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?
Re:Book? (Score:4, Interesting)
Re:SICP (Score:4, Interesting)
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.
Re:Book? (Score:5, Interesting)
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.
Re:A few (Score:3, Interesting)
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