Programs used to work in isolation on a single PC somewhere before the internet became prolific. Computer science classes at university used to be all about programming in C or C++ or something like scheme. But now with the advent of the internet, most of the programming skills we learn at universities are obsolete.
The thing I remember the most about my time in programming classes was dealing with how to store data, how to process it and then how to display it to the user. I still think that these things are fundamental to the core of programming, but I think there is a big demand gap when it comes to finding skilled people that are able to get data to feed their programs, process large data sets and come out with meaningful results. This is the stuff that business intelligence is made out of.
Over the last few years, there has been a big transformation in the world of programming, databases and languages have now been developed with the paradigm that given certain data, there are specific functions calculations that you want to run on all the data and summarize them into a single result. This thinking framework is otherwise known as MapReduce. The great benefit of this methodology is that is is also functional programming friendly, meaning that you can define compound functions that you want to run on a specific data set instead of dealing with loops, counters and how you are going to save the data. The basic idea is that you make a list of data, process it and out comes a list of data. Then after that, you reduce that list into a single value or something.
Modern languages languages like Python, Erlang, Lisp and more are designed to handle programming like this (in additional to dealing with the usual procedural type programming and object oriented programming). Older languages like C or C++ can do the same thing, but you have to build the functions and the scaffolding to do this on your own or call libraries to do this kind of programming which make C based programs longer and more error prone to write.
One of the reasons why I was surprised in an earlier post to find some large corporations doing data processing still wanting C++ programmers. The other added benefit of using more recent languages is that they also have libraries to access web based data built in, making it easier to feed applications with more data to process. The of the most famous startup companies are the direct result of this effect. You won't learn most of this stuff from your ordinary university class, the only way to get into this stuff is probably on your own.
No comments:
Post a Comment