Jeffrey van Binsbergen.nl

C and C++ are not dead

Recently I’ve picked up C++ development again and it is great. As most people know, I love fast applications and I love making them. With C#, Python, Node.JS and many more higher level languages gaining in popularity and performance getting pretty cheap, low level languages like C are often forgotten. Hopefully this article will encourage more people to give it a try.

Efficiency matters

A big reason to choose for a low level language is of course: Efficiency. You’re working close to the hardware and you suddenly gain flexibility to do all kinds of fun things, especially with memory access. And it still matters for any application which needs to do some actual work. Conversions, Machine Learning, Image processing or what I’m using it for at this moment: IoT data processing and aggregation. It all runs incredibly fast. To make it more fun for myself I’m testing it on a Raspberry PI zero (5 dollar Linux computer) and it can still handle thousands of clients at the same time. It is great!

Another reason why to think of efficiency: Running it in the cloud. Running things in cloud is actually not that cheap, especially if you need a bit more performance than the budget option. Most problems in the cloud can be solved by throwing a credit card towards it but all the costs add up. By making a small efficient application for any important processing, you can really get the required specs down.

Making something very efficient allows people to do more with your application. If data from a chart takes half a second to get generated, you can only put 1 or 2 on a web page before it feels ‘too slow’. When putting some effort in making a small efficient application. You can display your charts with a lot of additional information instantly and extract information from it the user actually wants to see.

Portability

It is incredibly portable if you are careful with platform specific features and libraries. The same code can run on Windows, Linux, FreeBSD, etc. with just some small modifications to the platform specific functions. You can even try to run your code on an embedded system like an ESP8266. This is especially useful when making a library which can be integrated into a wide selection of other projects on different platforms.

Downside

Making your application takes more time. You will have to worry about things you otherwise never see. Clean up your used data from the memory. A lot of the handy flexible features of your favorite high level language won’t be available. Also some other people will probably think you’re insane. I can definitely recommend taking a look and experimenting with it.

A new site

Hello and welcome on the new improved website where I'll share any interesting, funny or just random stories. This site replaces the old hacky blog I wrote in php a 5 years ago along with a nice cleanup of the old articles.

For those who wanna know: The technology I've used now is the latest ASP.NET MVC, written in the freshly released Visual Studio 2015 community edition. All data is saved and retrieved using the Entity Framework 6 and all traces of JQuery and Bootstrap were carefully killed with fire.

Show all articles