I wanted to write a quick littlie program at lunchtime today. So I got into the Xcode IDE (integrated development enviroinment) on my Macintosh and began to write it.
I noticed off on the side the Activity window of Xcode that a Documentation Set download had bgun. My eyes bugged out when I noticed its size. It is 646 MB -- huge!
I remember one day back in the 1990's, my C++ IDE - which was very advanced and large for its time - was 100 MB. That was for everything: compilers, editor, assemblers, debuggeres, linkers - the whole shooting match.
These are just some data files that tell how to program the Mac and the source code for some sample programs.
Things have changed so much. My first computer had an operating system that was only a few kilobytes. I think the OS, which they simply called the monitor, and a Microsoft BASIC interpreter included with it, together both fit in a 16 KB ROM chip.
On my first fulltime programming job, our programs were limited to 2 KB apiece. We had to abbreviate every command and function to is first letter to save space. Variable names too, were typically forced by convention to be just one or two letters long to save space. Comments were frowned upon beacause they were part of that 2 KB, but I still put them in when I judged it essential.
That was one reason I moved on from that job so long ago. I determined that making programs that solved problems of any size and complexity would be confounded by those very limitations i just mentioned.
The job I took when I left there is the one that set me down the road to doing the type of programming I do nowadays. Where you can write a program that you and other programmers can easily understand. And writing it that way does not give the computer heartburn either.
Technology has changed a lot in computers. Some things about it never do though. The techniques, the mechanisms, the paradigms, the metaphors, the APIs, the operating systems - they do change. But the principles that are bound to the way people are, they really do not change that much.