Day 84 of 1000

I wrote a post a few days back about C++ programming.  I have been trying to figure out whether the language has enough legs for me to make a living with it for the next 10-20 years.  I have reflected on that post quite a bit since the day I wrote it and think the answer is most certainly, yes.  That was solidified even more after a recent visit to Charlotte.  I went up there to see some new friends who need some help with machine vision.  They have other devices beside machine vision.  Every one of those devices has some kind of GUI, spreadsheet, or scripting language to handle the bulk of their applications.  Many of them also have a software development kit (SDK) so all the functionality of the devices is accessible programmatically via libraries.

That is the thing that reinvigorated my enthusiasm for C++.  All the easy functionality is available via the easy programming methods (GUI’s, spreadsheets, scripting languages, etc.).  The problem is that many of the devices generate a ton of data.  That opens up two opportunities:  1) Development of new functionality inside the device and 2) Analysis of the data generated by the device on an external computer.  Number 1) is exciting because the computational capability (processor speed, memory, etc.) is so small that a very efficient, machine-centric language (C++) is the best option.  Number 2) is exciting because the devices in question are shoveling lots and lots of data around and need real-time calculation results.  That also calls for lots of efficiency of memory management and speed.  It is possible to use Java, C#, Python, and even BASIC, but C++ works great and will always have an edge when it comes to those topics.

So, on Saturday at the NCSU D.H. Hill Library, I updated QT Creator on my laptop and will update the OpenCV libraries to the latest version.  When I am all set up, I will download the IPP and prepare for my next project.  In C++!!!