Posts
craft::cpp
Cancel

Writing a Compiler - Part 1 - Defining The Language

Programming languages are tools that we, developers, use on a daily basis. Moreover, we fully depend on them: features, performance, learning curve etc. However, most of us might not have even thou...

Easy Way To Make Your Interface Expressive

Expressiveness is what makes every developer’s life easier. Whether we read or write code, it is definitely easier if we don’t need to jump back and forth between files to get a sense of what’s the...

When Is An Antipattern Not An Antipattern?

We have all been told that applying design patterns in our codebase is something we want to strive for. But I believe there are fewer of us who have been told what antipatterns are and how dangerou...

Valgrind - A Neglected Tool From The Shadows Or A Serious Debugging Tool?

DISCLAIMER: I originally posted this article on Microblink. A couple of months back, we took a look at C++ sanitizers — handy little tools that help us keep our code clean and free of memory bugs....

Be Wise, Sanitize - Keeping Your C++ Code Free From Bugs

DISCLAIMER: I originally posted this article on Microblink. For all of the losses it has inflicted, this pandemic has at least made us more conscious about our personal hygiene. We’re spraying sp...

Polymorphic Usage Of Non - Polymorphic Class

Some people may be mixing up following two terms: inheritance and polymorphism. And, while polymorphism, at least dynamic one, depends on inheritance, inheritance itself is a standalone feature of ...

Obscure Fact About References

We have all been told that marking variables const is a good practice and that we should all use it whenever we can. This is all true but sometimes const is not doing what it should, or at least, w...

Different Ways To Define Binary Flags

Using binary flags in software seems to be a common thing regardless of software domain and programming language used in implementation. Of course, this is not a coincidence. There are indeed sever...

Zipping By The Longest Range

Long time now, ranges have become a large part of every C++ codebase and, thus, a part of C++ programmer’s everyday life. And indeed, C++ offers many ways to operate on the elements of a range. Bu...

Expanding On Standard Threads

Parallel computing along with the concept of multithreading are two terms that most of the developers are afraid of and associate them with a huge amount of data races and hours and hours of debugg...

Trending Tags