| I disagree with the waterfall->agile thing. There are a large number of development paradigms, and back then I was mostly doing some sort of Rapid development (not sure the term was in use right then, but the concept sure was). This may not matter to a lot of you, but computation has made a huge difference. I can run nonlinear solvers in seconds instead of hours. I have ready access to things like NumPy and SciPy to very quickly explore data in a way that used to require a supercomputer. hardware = this is partly covered by 'computation' but the kind of work I do would have been impossible back then. We generate 10+ terabytes of data a day, and that is laughably small to some of you. some more from hardware... bits. Anyone remember trying to fit things in 32K? You know, because integers were 16 bits long, and so were pointers. It was a major chore to just sort or otherwise manipulate data, and I made some significant wins by being clever about this sort of thing rather than just saying 'eff it, use a database' (which is what my competitors did). 5 minute compiles for rather small applications. Sneakernet. minimal version control. A lot of people didn't know what it was. Off the hardware front, you mostly had the ability to understand your 'stack' (that word wasn't used that way in those days). You could more of less know the Windows API, inspect the assembly coming off of your C compiler, read the standard library, and pretty much have a picture of what is going on. These days it is much harder. To put some of this in context. My first job, in 1988, consisted of computing cancer statistics. I'd carefully write a batch job. It'd go off to a supercomputer center. There, operators would (eventually) pull tapes off the racks and insert them into the tape reader. The job would run (eventually). The job would print to printers. A van would make runs several times during the day, delivering print outs. I'd go check the bins, eventually my print out would show up. And so on. Part of my work was converting that to the PC, but we still had to do a lot of batch runs to massage the "huge" data inputs that the PC couldn't realistically handle. By '95 the situation re data handling was better, but still quite limited both in storage and computational capacity. These days we can trivially handle pretty big problems on a PC. And if we can't handle a problem, well, there is AWS. It is just a different world in this regard. |