|
Inside C# Buy it at Amazon Read Chapter 7 from the Publisher |
|||||||||
|
For VBers who are contemplating the soon to be inevitably everywhere .NET platform, the question is whether to remain a true blue BASIC or to move to a new, cleaner language, called C# (for the two people that haven't heard of it yet, it is pronounced "see sharp"). One of the key advantages is that C# is in theory cross-platform, since MS has submitted the language to an international standards body. Indeed, Corel is working on a FreeBSD port, while Ximian (i.e. Linux Gnome project) is porting it to Linux. It is interesting to note that Ximian is also porting the CLR, so in theory, if Microsoft chose to do so, it could port C# or VB.NET or whatever else to Linux with one recompile. To help you make the decision on which way to go, Microsoft Press has put out a fairly definitive guide. This book quickly brings you up to speed on the language basics and dives into the more interesting stuff like how to really take advantage of very well implemented rules of OOP. The author states outright that he would rather be coding than writing books and it shows - the paperback is chock full of code. He even dives into MSIL ( disassembly) code showing what is really going on behind the scenes - useful for tweaking the performance.
Bottom line - it is a great book. What separates it from others (many of which are so shallow) is that the author had easy access to the developers of the language. He covers so many things that they are difficult to list, but I'll try: arrays, assemblies and deployment in c#, attributes, boxing and unboxing variables, c# reflection and metadata, c# types, com interoperability, command-line .net tools like c# compiler and the disassembler, delegates and event handlers, exception handling classes and techniques, indexers, interfaces, members and methods, constructors, constants and read-only fields, garbage collection, and inheritance, method overloading, operator overloading, program flow control, properties, threading techniques, unmanaged code, like pointers in c# (seriously, let's not go backwards), virtual and static methods. Like I said: too numerous to list. Well worth the cash, particularly if you have already committed to C# and aspire to be one of the first language gurus.