In which I explain shortly what this blog is going to be about.
I know there are many C++ blogs out there, best of which written by figures more prominent than I am. Having only a few years of professional software development I have a different perspective than, for example, people attending C++ committee meetings. That means the problems with the language I face every day aren’t problems anymore for them. If you’re like me you may find something useful in my posts.
Another purpose of this blog stems from my attempt to start working on compilers and related stuff in free time. I find that domain extremely interesting as well as extremely scary! It’s not a coincidence that this classic book in compilers has a dragon on its cover. Since the advent of LLVM and clang, creating tools for C++ became a lot easier. The sheer number of LLVM related projects speaks of the power of this technology. Nowadays clang-format, clang-analyzer, AdressSanitizer are in widespread use. There’s clang-based Vim plugin for code completion. QtCreator has a branch with an experimental code model implementation that facilitates clang. The modular design of LLVM/clang makes it all possible. There’s enough to choose from if you want to get your hand dirty, which is exactly what I plan to do.
What’s more, we have an abundance of new programming languages: Swift, Rust, Go, Julia, Hack, just to name a few. They pop up to address different needs and sets of problems in today’s reality. Those languages are as much interesting as their implementation. Do I have to mention that most of them have LLVM front end?
Those are the main topics I’ll try to cover in this blog. Please subscribe to the RSS feed if you think my posts may be of your interest.
Header photo “A Long and Winding Road” by Geee Kay, available under Creative Commons Attribution-Noncommercial-NoDerivatives license.