When I left University many moons ago and went into a commercial IT environment, I realised how different university and Commercial IT was and how ill-disciplined I was. This was long before the ZX81 et al. At university, we thought that were writing efficient code and that we had analysed the problem to the nth. degree until I worked in a commercial IT environment. I then realised how little I knew and how ill-disciplined I really was when it came to IT. Back in those days, we had a 32K mainframe – which was big for its day. The operating system required 8K. That left only 24K of available memory. If you couldn’t write a program that ran in 24K or less, it wouldn’t load and you couldn’t run it. Virtual memory was a thing of the future. If you were short of memory, you even had to resort to swapping over the contents of two fields without using a third field. Back in those, disks were small and expensive. The disk drives were astronomic al in cost. You couldn’t just store oodles of data for naff all like you can today. Computers were very slow. They spent the whole of the day running production systems. The only time we could test our programs was over night. If a test failed because a full stop was in the wrong place, that was life. You now had to wait until the following night to test again. That’s why we spent all day manually checking everything.
Today, memory is cheap, disks are cheap and computers run at frightening speeds. Are systems developed any faster today than they were in my day? No. Is the quality of the software any better these days? No, in fact, it’s worse. Did we make mistakes when we analysed, designed and coded a system? Yup. However, when one of our errors bit us on the bum, it was usually because of something really obscure. Something that we just couldn’t ever contemplate happening. Today, software is released with such basic errors, it beggars belief. There was an Alarm Clock problem with iphones at the start of this year if memory serves. Doesn’t anyone test things these days?
Basically, when I started out in IT, we were disciplined. We checked, double checked and triple checked everything. Little was left to chance. We had to be like that. We had no choice. Today, there is a choice.
It doesn’t end there. I’ve talked to a lot of people about backing/laying/trading horse racing systems. All too often, when I ask: Why does your system work? What is the logic that supports it? All I seem to get is ‘Who cares, if it works, it works.’ When you ask them how much testing they did before they went live with their system, invariably the answer is, ‘I tested it out on a couple of hundred selections’. If you ask them what the chi-squared value of their system is, I invariably get the answer: ‘What is chi-squared?. Little wonder then that so many people lose so much money.
Enough of my ranting and back to the topic - The Raspberry Pi.......
One thing that is happening is that,in IT,we are placing layer upon layer of code over the top of the basic code which operates our hardware (PC's etc.).Therefore,we are so far removed from the basic code that most people don't understand how it works any more.In fact, most kids these days don't even know that it exists.They just use it through layer upon layer of code.If they want a system or an app,they simply buy and download it.I'm glad therefore that the Raspberry Pi has hit the market.My only misgiving with this piece of kit is that it will allow the kids of today to generate some code.How efficient and robust that code will be remains to be seen.