| Murach's C++ Programming |
|
Author: Joel Murach C++ is a controversial language that divides programmers. Some think it is a terrible mess of different ways of achieving anything and some simply embrace the mess and get on with it. What does this mean for the beginner? It is possible to present C++ as a very logical and very clean language and leave the confusion and complexity for later. Murach books are generally logical and complete. That is, they are not "fireside chats" about a language, but detailed textbooks that proceed through the material as if it was all logical and connected, and so it is with this book. The first section is about "Essential skills" which basically means that it is an introduction to programming using C++. This is hard to get wrong and the book makes its way through the usual topics - a first program, conditionals, loops, I/O, basic data types, functions and testing and debugging. I'm pleased that testing and debugging are included here as many books skip this all together. The descriptions of things are simple and mostly very clear. Included with each topic is a table of variations of the syntax and a list of very simple examples. In this case very simple is best. The IDE's used are Visual Studio and XCode. Personally, I think that NetBeans would have been a better choice as it runs under Windows, Linux and Mac. Essentially this part of the book is dealing with C++ as if it was C - no confusing objects except for using them where unavoidable, e.g. strings. Section 2 is about more skills - in this case mostly using the STL - the Standard Template Library. In most books this is left until much later. The STL is generally considered to be advanced, but it isn't and putting it this early has lots of practical advantages. Having said this, it has to be admitted that the level increases at this point, but it still has the same very simple examples which make it easier. Towards the end of this section we also meet C-style null terminated strings - one of the disadvantages of C++ as a teaching language is that it has all of C within it and we have to deal with high level and low level programming. Section 3 is about object-oriented programming, which can be avoided no longer. The idea of class and object is introduced by way of an example. Most of this part is illustrated by bigger examples because we have moved on from explaining single statements or features and are now discussing how the whole thing works together. There is just so much to master. The final section is titled "Skills for legacy and generic programming". I'm not sure what legacy and generic have in common. It starts with a look at C-style pointers and memory management. It is sad that we have to go back to such low-level techniques in a language that is supposed to be high-level. The book does do a good job of explaining how best to use objects to make memory management less dangerous. We also learn how to create templates and this helps with understanding the STL. |
Beginning Programming All-in-One For Dummies Author: Wallace Wang This is a collection of seven shorter books introducing key aspects of programming, but it fails through trying to cover too [ ... ] |
Learn dbatools in a Month of Lunches Author: Chrissy LeMaire et al This book aims to make it easier to manage your SQL Server estate, how does it fare? |
| More Reviews |

