Blogging is something I’ve thought about doing for a long time. I enjoy hashing out ideas with other people on all sorts of topics ranging from philosophy, sports, to technology and beyond. However on the contrary, I try to keep many of my opinions to myself these days, as it seems we live in a world where everyone (and I mean EVERYONE) has something to say about almost anything. Thus if I’m going to speak, I want there to be at least a decent reason to do so.
Instead of writing opinions pieces derived from my own musings, I’d like to do something which I hope ends up generally useful for others to read: collecting, categorizing, and explaining things I’ve learned from others. At the time of writing this post, I’m officially 5 years into my professional career as a software engineer (currently at Intel). That means to some people may believe I have a thing or two now to say about how to write good code, but I’d guess that more people think I’m a very young professional with much to learn… and I would agree with that!
With this mind, I will share interesting and useful ideas, patterns, tools, and workflows that I encounter, but I will do as much as I can to reference the source of the content. It is unlikely that anything I share here on this blog is a novel idea or personally discovered, thus I want folks to know where I get ideas. I see twofold benefits to this: 1) I get to have my own repository of knowledge that I can always reference and evolve, and 2) it’s a way to share knowledge in a form where people can take it on their own time, at their own pace, and as they are comfortable doing so (it seems rare to find people who like having information crammed down their throat in person).
If it’s not already obvious, I’m going to keep this blog entirely focused on C++ and the tools I use to write code everyday. The title of the blog “Beauty Through Simplicity in C++” says what most of the content is geared toward: making C++ simpler to read, to write, and to work with. I’ve always been a big believer that code should be written for humans first and machines second (more detailed posts to come on that!). Obviously there are no hard rules there, but it’s amazing how so much more often I read code which was written with little thought for the reader. Just in case you’ve already jumped to a conclusion: I’m not talking about code formatting! This space is so much larger than formatting, and I hope to never need to write about that topic, EVER.
Lastly, I enjoy thoughtful discussion. If you read this blog (if there’s anyone out there), tell me what you think! The C++ community I was exposed to at CPPCON 2016 was bright and eager to explore the possibilities in writing better code, so I hope that this blog can be a two-way street for those who share the same passion.
So, without further ado…
extern void work_on_code(); extern void write_about_code(); int main() { while (true) { work_on_code(); write_about_code(); } }