This is a book for those who are interested in learning how to program. It introduces C#, a modern object-oriented, cross-platform language that is used extensively in business and web applications. It provides a robust library of functionality that increases cross-platform capabilities and prevents programmers from constantly having to implement basic and advanced functionality from networking to I/O operations to security functions. C# and .NET have a vibrant developer community and are commercially supported by Microsoft.
I have been programming C# since its public release in early 2002. I have used it for web development, system administration, and database applications. I have used it in the educational, financial, telecom, warehouse management, and procurement sectors. C# is not the first language I learned to program, but it has been my most productive.
This book does not start out with the reader copying text into a text editor. It begins with a thorough foundation of the basics of programming C#. Many programmers that I interview today do not know the foundational basics required to be great C# programmers. The typical pattern for learning C# in recent years has been to code first and ask questions later. These questions are rarely asked and often lead to poor quality software.
This book does make some generalizations and does not cover every aspect of the C# language such as bitwise operations. It provides the reader with the amount of information I feel is relevant to creating a good programmer. There are many great resources available for learning about the history of computing, design patterns, refactoring, object-oriented programming, Entity Framework, and ASP.NET MVC. This book prepares you to understand those books.
I hope this book is helpful to all those who read it. I taught myself to program and hope to help you do the same.
The Author