3 ms·
That kind of reductionist argument can be made for any kind of software development...we're all just plumbing bits around at the end of the day. If you're a web
by cle 6y ago
That kind of reductionist argument can be made for any kind of software development...we're all just plumbing bits around at the end of the day. If you're a web dev, you're plugging web tech, if you're a backend dev it's network protocols and storage tech, if you're a kernel dev it's instruction sets and memory buffers.
As we build tools to make that plumbing easier for certain use cases, we might move around in the hierarchy to plug different things together, but I don't think anything has fundamentally changed in an alarming way. We're still just moving bits around!
- nescioquid 6y agoOf course, you're absolutely right in your reductive view, but it is not what I was trying to suggest. I remember an explanation that Sussman gave for why MIT retired the SICP course, replacing with it a course in which students program robots with Python. He said (and I'm badly paraphrasing) that one used to be able to scale up your reasoning about how a piece of software works in a similar way to how you do it when looking at a circuit diagram: you have these little components with discrete behaviors and you can simply combine them and be able to predict the result. Today, however, as programmers (to a greater extent than before) we create systems by cobbling together large, opaque, libraries whose properties are poorly described and require one to essentially "do science" on those black boxes. And the trade-off is that we're often better off plugging A into B, and hence there's a lot more of that sort of line work in industry. edit: I should say that I don't much like that sort of work, but it was unwarranted to say it is 'alarming' that the trend has gone this way.