3 ms·
An answer that I have given to a friend asking the same question is: Imagine you want to build a big building and you are given as many square boxes as you want
by chacham15 13y ago
An answer that I have given to a friend asking the same question is: Imagine you want to build a big building and you are given as many square boxes as you want, how do you build the building? Easy, you stack a bunch of boxes one on another until you get the shape and size you want. But what if you want to have a triangular roof? You're stuck; theres nothing you can do. Therefore, imagine now, that instead of being given square boxes you are given rectangular boxes. Now in order to build the same house that you built before you need to take a bunch of rectangles and put them together to make squares and then do what you did before. Thats soooo much more work. However, now you can build triangles.
This entire situation is like the programming problem that the author describes: specific tools designed for a specific problem will be easier to use to solve that problem. The moment, however, you want to use that tool to solve a problem that it wasnt meant to, you're stuck.
- mattdeboard 13y agoSerious question: Did that metaphor/analogy/whatever actually help your friend? Because I don't get it at all.
- freudien 13y agoI think if you replace "rectangle" with "right-angle triangles", it would help immensely.
- Crito 13y agoI'm still not sure I get it. Maybe 'triangles are more complex, but allow more complex results, like programming languages are more complex than other input languages humans use (like shortcut/mouse-action languages used in GUI programs like Photoshop), but programming languages allow more complex results'? In other words, triangle building block languages are the building-block equivalent of Turing equivalence?
- freudien 13y agoI think the basic premise is: Programming languages are the building blocks for all tools. When faced with a broken/useless tool, knowing how to build a new one is useful.
- chacham15 13y agoYea, it did. I guess I should have specified non-square rectangles technically, but thats what people usually think of when they hear rectangle. Basically, the more fundamental the building block the more work it takes to build something, but the wider variety of things you can build.
- frooxie 13y agohttp://en.wikipedia.org/wiki/Rectangle http://en.wikipedia.org/wiki/Rectangle