As the title says, the book is addressed to advanced software designers specializing in C# coding, as the author shares his 20 years of experience with the C programming languages. The first question a computer programmer usually asks is what kind of applications can be created using a book: where exactly is the border between the advanced and the novice programmer when determining if a book is right for him or her? How clear is the explanation of the source code presented? What environments are described?
Here, the reader can find all of the answers to these questions. The book introduces programmers intending to develop their skills in C++ to the world of Microsoft Visual Studio 2013 (MSVS 2013), in particular indicating the main differences between C# and the MSVS 2013 environment and emphasizing the code-specific features related to this popular version.
The introductory part describes the .NET Framework, common language infrastructure, and common type system with its data types; in other words, the routine components of the C language environment. The book is then divided into three parts: fast track to C++, details, and advanced concepts. Again, the reader may concentrate on the part most suitable for him or her. In the beginning, the reader is provided with a primer on building the first console applications in C++ of the “Hello World” type, and compiling and running them. The last part is really for advanced programmers since it deals with details like the preprocessor commands, the functions, the standard template library (STL), and multiple language support.
The tables systematically present differences between C# and C++, and provide great support for understanding the algorithms proposed, as do the screen shots, which make it simply a fun way to navigate through the interface’s numerous options. Each chapter contains a brief summary at the end.
Rather than describe what applications the book covers, I would like to underline the fact that, through the variety of examples, the author leads the reader through all possible kinds of applications, exposing specific aspects such as particular C++ syntax, the libraries, properties, pointer operators, conversion tables, data types, classes, tools, and polymorphism. While reading the book, and especially when using the coding for special purposes, I felt like a child playing some fascinating computer game, completely unaware of how greatly knowledge progresses from chapter to chapter when guided with language that is both friendly and suitable for the reader of every level of programming skill. This well-organized, solid book is definitely recommended for anyone interested in developing coding skills and logical thinking through the use of computational processing.