Open source projects could be also considered as code quality tutorials.

Quality is not something that can be easily added later. It’s preferable to take care of it from the beginning. Many companies dedicated a big budget to purchase tools with many thousands of dollars and called upon independent consultants to audit their code base and produce some reports. This is still a good initiative to improve the code quality. Continue reading “Open source projects could be also considered as code quality tutorials.”

Detect not well implemented C++ design patterns automatically.

Design patterns are solutions to software design problems you find again and again in real-world application development. Patterns are about reusable designs and interactions of objects. Some of them are very popular like singleton, factory, and strategy.  Others are not widely used like the flyweight pattern. Continue reading “Detect not well implemented C++ design patterns automatically.”

Chris Lattner, the young developer who made a revolution in the C++ world.

Maybe almost all C++ developers know the LLVM infrastructure and the Clang compiler. But how many know that Chris Lattner is their creator when he was only 25 years old. How it’s possible? I remember when I was 25 years I spend my time to understand the C++ basics 🙂

The story begins with a thesis

In late 2000, Lattner joined the University of Illinois at Urbana-Champaign as a research assistant and M.Sc. student. While working with Vikram Adve, he designed and began implementing LLVM, an innovative infrastructure for optimizing compilers, which was the subject of his 2002 M.Sc. thesis. He completed his Ph.D. in 2005, researching new techniques for optimizing pointer-intensive programs and adding them to LLVM. Continue reading “Chris Lattner, the young developer who made a revolution in the C++ world.”

Crossing the chasm theory could explains the C longevity, the C++ reborn and the python rising.

How many times do you read “C++ is dead” or “Is the C programming language still used?”, but in the reality they still very popular.

And how many times we read “WOW this newcomer programming language is the best”, but after few years nothing really happens and the new language decrease in popularity. However, there are some exceptions, the most interesting one is python which rise from a not widely used scripting language to a very popular programming language. Continue reading “Crossing the chasm theory could explains the C longevity, the C++ reborn and the python rising.”

How to avoid the Jack Bauer attitude when you have 24 hours to deliver?

Have you already be confronted with this scenario:

After 24 hours you have to deliver a version or an update to a client and the version is not ready yet, or at the last time, a serious problem occurs and you have to work under pressure to deliver the product.

How do you manage this situation? do you adopt the Jack Bauer attitude where you do many things evil and you are convinced that If you want results, you have to get your hands dirty. It’s just part of the job, something that has to be done (and the job must be done).  It is evil that is pragmatically necessary, unavoidable. Continue reading “How to avoid the Jack Bauer attitude when you have 24 hours to deliver?”

Defensive programming with new C++ standards

Defensive programming is a form of defensive design intended to ensure the continuing function of a piece of software under unforeseen circumstances. Defensive programming practices are often used where high availability, safety or security is needed.

Defensive programming is an approach to improve software and source code, in terms of: Continue reading “Defensive programming with new C++ standards”

Each piece of code has a story, give it a good end from the beginning.

As software developers, we can write a lot of code each day. Each piece of code has its story, the code could be:

  • Inspired by a web resource ( forum, tutorial, blog post,…)
  • Inspired by an open source project from Github, Sourceforge or other.
  • Copy/Pasted from the project itself.
  • developed from scratch.

Continue reading “Each piece of code has a story, give it a good end from the beginning.”