I recently inherited Programming C# from the O'Reilly line, and I'm reading through it, and almost losing interest due to the fact that it looks almost identical to Java. I've programmed in Java for years, and have eventually come to not like it - not enough ways to optimize code, and maintain readability, not to mention the bazillion different methods inherited from other classes.
I'm running a Linux box, and when I get around to it, I'll get Mono for developing in C#. I left Windows programming a long tiem ago, and haven't really been able to look back. Now, in the event that you are - in a way - being forced to do Win32/Win64 programming, I wouldn't worry about not having any .NET backgrounding. The only semantics you would have to worry about are linking, and cross-linking, between .NET projects (ie. "amalgamating").
The fact that you know JavaScript, will help you out quite a bit with the C#. I - on the other hand - am not so lucky. I'm currently a part of a project where I was forced to learn Python. My main background in programming is Lisp (if you've never heard of it, definitely work Wikipedia'ing it). Lisp's syntax is all unto its own, and has no lookalikes (except Scheme, but it's a language derived from Lisp).
Switching between languages stinks, but JavaScript -> C# is a pretty good shift, I must say.
indienick
Junior Poster in Training
71 posts since Aug 2005
Reputation Points: 23
Solved Threads: 2