- Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)
Beginning Microsoft Visual C# 2008 Paperback – May 5 2008
Special Offers and Product Promotions
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your e-mail address or mobile phone number.
About the Author
Karli Watson is a freelance IT specialist, author, and developer. He is also a technical consultant for 3form Ltd. (www.3form.net) and Boost.net (www.boost.net), and an associate technologist with Content Master (www.contentmaster.com). For the most part, he immerses himself in .NET (in particular, C#) and has written numerous books in the field. He specializes in communicating complex ideas in a way that is accessible to anyone with a passion to learn, and spends much of his time playing with new technology to find new things to teach people.
During those rare times when he isn’t doing the above, Karli is probably wishing he were hurtling down a mountain on a snowboard or possibly trying to get his novel published. Either way, you’ll know him by his brightly colored clothes.
Christian Nagel is a software architect, trainer, and consultant, and an associate of Thinktecture (www.thinktecture.com), offering training and coaching based on Microsoft .NET technologies. His achievements in the developer community have earned him a position as Microsoft Regional Director and MVP for ASP.NET. He enjoys an excellent reputation as an author of several .NET books, such as Professional C#, Pro .NET Network Programming, and Enterprise Services with the .NET Frameworks, and he speaks regularly at international industry conferences.
Christian has more than 15 years of experience as a developer and software architect. He started his computing career on PDP 11 and VAX/VMS, covering a variety of languages and platforms. Since 2000, he has been working with .NET and C#, developing and architecting distributed solutions. He can be reached at www.christiannagel.com.
Jacob Hammer Pedersen is a systems developer at Fujitsu Service, Denmark. He’s been programming the PC since the early 1990s using various languages, including Pascal, Visual Basic, C/C++, and C#. Jacob has co-authored a number of .NET books and works with a wide variety of Microsoft technologies, ranging from SQL Server to Office extensibility. A Danish citizen, he works and lives in Aarhus, Denmark.
Jon D. Reid is the director of systems engineering at Indigo Biosystems, Inc. (www.indigobio.com), an independent software vendor for the life sciences, where he develops in C# for the Microsoft environment. He has co-authored many .NET books, including Beginning Visual C# 2005, Beginning C# Databases: From Novice to Professional, Pro Visual Studio .NET, ADO.NET Programmer’s Reference, and Professional SQL Server 2000 XML.
Morgan Skinner started programming at school in 1980 and has been hooked on computing ever since. He now works for Microsoft as an application development consultant where he helps customers with their architecture, design, coding, and testing. He’s been working with .NET since the PDC release in 2000, and has authored several MSDN articles and co-authored a couple of books on .NET. In his spare time he relaxes by fighting weeds on his allotment. You can reach Morgan at www.morganskinner.com.
Eric White is an independent software consultant with more than 20 years of experience in building management information systems and accounting systems. When he isn’t hunched over a screen programming in C#, he is most likely to be found with an ice axe in hand, climbing some mountain.
Most Helpful Customer Reviews on Amazon.com (beta)
Big mistake. There are several big problems with this book:
1: The exercises are too short and too unrelated to give any feel of creating anything that is like an actual program. Many of the examples are just skeleton code that do nothing. This means that if at first you don't get it you probably never will because you can't see it working. It is much better to build a series of mini-applications that actually process information so a beginner in a language can learn by building something that will actually work (then see how the parts in it work). Then the concepts that are obscure to begin with become clearer as they are employed. In this book the "try it" sections are more typing exercise than anything else, and these are incredibly short. The authors' reliance on DoSomething() and Console.WriteLine() is both monotonous and uninformative. To really see what code can do, you have to actually make it do something other than the same nonsense over and over. It is best if the exercises actually have you figure out how to accomplish something with the code rather than just typing empty syntax.
2: The authors totally ignore the user interface as a part of the program. Real programmers do NOT make programs based on lines of straight text to and from the console. Besides the fact that it is deadly boring, this approach is also too simplistic to teach any sense of what a full application entails. Particularly in Visual Studio, it is important to consider the interface as part of the context of the application. Making the interfaces also gives a programmer the same stimulation that the programmer will need to provide for future end-users. Visual Studio and Visual Studio Express provide very easy access to those interfaces. Not using the interfaces really short-changes the would-be programmers.
3: The book is totally lacking appendices or other reference areas with a brief, concise summary of language features and syntax--or expanded information. This should be a vital part of a beginning book on any language. Want to review the syntax for a specific declaration? Trying to figure out the best approach for looping through a series of tasks or data? Normally one would go to the chart of program control structures at the end of the book to review the syntax for clues. Not with this book. Such a chart exists nowhere in it. Your only option would be to reread entire relevant chapters.
4: When you finally get to user interfaces, they are presented as something that is totally different from the programming techniques you learned in the earlier chapters. The various form features are introduced, along with their properties, but there is pretty much a complete disconnect from the programming that should be happening behind the forms. Working on interface as an integral part of the program instead of something different would make a much better approach.
I will not finish this book and do not recommend it to anyone who actually wants to learn to write code that actually does anything or interacts with users in a meaningful way.
There's something here for everyone including C# language basics, object oriented programming theory, introduction to UML, Windows programming, web programming, databases, etc. It starts with an intro to C# in 7 chapters before introducing Object Oriented programming which is a different approach than many books. You can download the code at wrox.com.
THE GOOD: The authors manage to keep it readable and concise at the same time. There's not a lot of extra anecdotes and filler like you'll find in many beginning programming books. Most every sentence conveys something useful without being excessively dry. I haven't found many mistakes which seem all too common these days in similar books.
THE BAD: The authors sometimes mention concepts they haven't explained or even introduced yet. Often they point out when they're doing so (i.e. "don't worry about xxxx we'll explain later") but in many instances the reader is left wondering if he missed something earlier in the book only to find the answer in the next chapter. A total programming novice might find this book a bit intimidating as the authors do sometimes assume significant knowledge on behalf of the reader. For example the Object Oriented chapters dive right into UML and other confusing topics with little hand holding. But, personally, I think they did a good job of trying to include lots of useful information versus spending lots of pages on things that most readers will already know.
After perusing the many books that Amazon has I found this book and decided to give it a whirl. I'm up to the chapters concerning Object Oriented Programming now and I feel I can say that this guide provides a good starting point for a real beginner. Each chapter provides an in depth look at each topic and isn't too hard to understand. All of the examples in the book have step-by-step analysis of the code and what it does. It even discusses in the first chapters how to get the tools (for free) to work in Visual C# and compile it (Microsoft Visual C# Express 2008). I'm also impressed with the breadth of topics covered in the later chapters. I can't say I'll use them all but it's nice to know I have access to that information if I need it.
The only quibble I have with this book is it's lack of code in response to the exercises at the end of each chapter. Granted most of the examples in the chapter would give you the knowledge necessary to complete the exercises but sometimes it's nice to see how a professional would do it. Their website does however provide the code for download for the examples in the chapter, but you're left on your own as far as the end-of-chapter exercises.
All in all I'd give this book a go if you've had no programming experience but would like to develop that skill.
My main complaint is that the authors' exercises are overly complicated to demonstrate C# programming concepts. It seems as though in their desperation to show real-world applicability, the authors take the long way around. I am pointing in particular to the various Card Deck and Vector exercises. If I have to figure out exactly what it is you are trying to do with the program AND work at wrapping my head around a particular C# programming concept, then the exercise becomes less effective, especially for a BEGINNER. In short, the authors seem to have chosen to neglect the Keep it Simple Stupid (KISS) principle in many of their exercises.
I also do not think this book is organized effectively. As another reviewer mentioned, the authors have a terrible habit of referencing material that will come later in the book. This should be a big clue to the authors that perhaps they have not organized the material well. And, generally speaking, the book does not build effective transitions from one concept to the next. (As an example, in one of the first chapters the authors have an extensive lesson on Bit Twiddling, although they admit that it is not used very often in C#. Why bother?)
Given the complicated nature of the example exercises and the lack of organization and effective transitions, I found myself starting to swim about 200 - 250 pages into the book.
And one final complaint - I hated having to go back and modify code that I had already written so that it would fit into some new concept. I'm not talking about Adding to existing code that had been completed in a previous exercise, but modifying very specific lines to accommodate some new concept.
I give this book 3 stars, because I think it is a comprehensive reference guide, but if you're a beginner with C# you should probably get your feet under you with another book before you come to this one. I found Daniel Solis' Illustrated C# 2008 to be much more effective in its introduction to C# than I did this book.