Re: SystemAI.
My friend, if you know C++ - then the next “big thing” will be a breeze in the wind for you. C++( short of machine code and assembly ) is quite arguably the most complex of all the programming langauges, and whatever comes next…
Before C++, many considered assembly to be the best way to achieve the fastest code and so many had to go out of their way to understand Assembly for “cutting edge”. But as computers got faster, C++ seemed to be easier to understand and even though Assembly code was still faster - the speed gained from the extra work of coding in Assembly was now in question - possibly due to the power of the C++ language.
So leaping over to C++ from Assembly would be easy. What took 5 lines of assembly code to perform a task, could now be done in C++ in 1 line of code. And with the extra CPU and memory muscle - you could stick two fingers up at optimisation!
Now we face a new era - C++ is starting to be surpassed( only just, mind you ) by other languages. The greatest example of this would be Java.
Though not quite as flexible as C++( to the best of my knowledge of Java, it has limited support of pointers…), Java has reduced many headaches in the memory-management department - something that has plagued C++ programmers since it’s creation. And some of the games are very impressive…
But still - we now come to our point! Assembly was closer to machine code than C++. C++ is closer to machine code than Java. And I wouldn’t be surprised if Java is closer to machine code than…well, whatever comes next! But you have to recognise that the closer you program to machine code - the better you understand how a “computer ticks”.
So by learning C++, its a smart bet that you know more about “whats going on under the hood” than the guy/gal learning Java( or whatever!).
That also explains why its a smart move( in most cases ) to employ a programmer who understands Assembly AND C++ over the other one who only understands C++…