3 ms·
The difference between appliances and tools we physically use and programming tools is that the abstraction for physical tools is necessarily as simple as possi
by hackinthebochs 15y ago
The difference between appliances and tools we physically use and programming tools is that the abstraction for physical tools is necessarily as simple as possible. Cars being one of the most complex tools we interact with, it still has a very basic and well defined set of abstractions to learn.
Software tools on the other hand have a way of spiraling in complexity. We're so good at using physical tools because this simplicity allows us to learn their use on an unconscious level, ie. muscle memory. The take home here is that we need to radically simplify the programmming tools we use. Unfortunately the trend towards frameworks rather than libraries is moving in the wrong direction.
- true_religion 15y agoIn the context of the tool analogy, you're right: we should pick libraries and not frameworks. However, many software projects are complex machines---and like real world machines they're made of parts. It'd better then to have a framework because the framework assures you that all these parts ought to work together, or at least have been designed to a certain abstract standard. Imagine building a car but rather than being able to order Ford-fitted parts or Toyota-fitted parts, you'd just get generic parts that you then have to machine yourself in order to make work. Every part, every screw, everything. It'd take tens times as long as if you only had to machine rare parts (e.g. a 1965 engine block to fit a 1973 model frame).