‘C++ Today’ review
As I’ve mentioned a couple of times – I’ve been around programming for quite some time. My first programming experience was rewriting BASIC programs from programming magazine called ‘Bajtek’. Hardware was Timex 2048, and I was circa 6 years old.
Why this long lead? I just want to clearly depict that besides long journey in the programming world I’ve always used high-level languages. I did not care about memory, cut-throat performance or low-level system calls. Of course, having programming background helps to get a grasp of it, but it’s still *terra incognita* to me. What is more – here and there I hear voices stating that C++ is a baroque-ish language with tons of abstractions over abstractions that nobody fully understands and uses.
As nobody of my friends is in any way related to C++ I’ve eagerly welcomed a book by O’reilly – ‘C++ today. The beast is back‘. The title might seem a little bombastic but as authors (both working at Amazon at the time) say:
In this book we are referring to C++ as a ‘beast.’ This isn’t from any lack of love or understanding; it comes from a deep respect for the power, scope, and complexity of the language, the monstrous size of its installed base, number of users, existing lines of code, developed libraries, available tools, and shipping projects.
The book was published in 2015 – which is quite some time in the ever-changing IT world. However, for the newbie I am it was a great read, as I got a view-from-above overview of the language. The first chapter introduces the reader to the language main goals and purpose. It presents where C++ is great and where its application is non-existent or even wrong, and that’s just for starters. Next there are two very interesting (in my opinion of course) chapters about how the language was created, evolved and was somehow rediscovered in the beginning of XX-century. As an author’s profile say – they were using C++ for the last 25 years – I assume they really know what they are writing as they were there to witness it.
Next comes a chapter about the organisational aspects of the language’s standard – named ‘The beast awakes’. In my opinion it is a catchy one but also true. When You compare the sad reality of tools and compilers’ support of the standard in the 90s to what suddenly happened with 2003 language standard release is a giant leap. What is more C++ also boarded the plane of open source, which resulted in new compilers and tools being created. Where are good tools and practices, usually people follow. That is the main goal of chapter four – ‘The beast roars back’. Authors present how the state of whole ecosystem evolved. As I’ve mentioned – there were new tools being created and an actual interest in a new standard. However, for the language to be successful it requires also libraries that solve programmer’s everyday problems. In C++ ecosystem this role is played by the Boost library. We learn how it came to life and how it still influences the community. Ah, yes, the community.
This is the part I find very interesting – chapter four lists (not all, of course) new initiatives in the community. With the growing number of conferences, user-groups, podcasts and books – we see that the landscape is changing and getting more robust every day. I must say that after finishing reading of this chapter I’ve almost wanted to find nearest C++ user group and join it instantly. Not worrying about the fact that I really don’t know the language 😉
Two last chapters of the book were of a less use to me. That is because I do not know the language at all, and chapter five concentrates on the new features of the language added in the latest versions (remember – it’s still 2015 we are talking about). The last one is about predicting the future of the language. Here I also don’t have a grounded opinion due to my lack of knowledge of the language.
To sum up – was it worth reading? Absolutely! First thing – it’s free. You can download the book directly from O’Reilly pages. One might argue that the book was released 5 years ago, but in my opinion, to describe the history and renewal process of the language it does not matter. I know that since then two new versions of the standard were published. It does not change the value of this book. I find it an interesting read, especially that it covers areas yet unknown to me. If that’s the case for You too – do not hesitate – grab it and have fun.