5 ms·
Do architects reinvent the I-beam every time they design a new building? No, of course not. The reason society works is because you can reuse abstractions that
by xxpor 4y ago
Do architects reinvent the I-beam every time they design a new building? No, of course not.
The reason society works is because you can reuse abstractions that other people have already invented. It allows you to scale. Without economies of scale, you end up with Baumol's cost disease, which is extremely obvious in the US in industries like child and elderly care.
We don't want most software devs to be doing anything because gluing stuff together. If they weren't, we really screwed up somewhere.
- dijit 4y agoI like this allegory because it puts the complexity into a visual mindset and brings to light an interesting question about the nature of our abstractions.. For example: Are our abstractions I-beams or Pre-Fabs[0]? We all know that the rise of pre-fabs is, at its heart, the story of cheap developments all lazily (and hastily) thrown together in arrangements that are of low quality, mid-to-low beauty and do not last for very long. Skyscrapers of the early 20th century stand today (with I-Beams) and are considered by many to be beautiful, maintainable etc; People want pre-fabs, since they're cheap, the economy will always be in the pre-fab. But pre-fabs have a limited shelf-life, and reconstruction is more expensive than spending a little extra up front cost. [0]: This is the sort of pre-fab I am talking about: https://en.wikipedia.org/wiki/Prefabricated_building#/media/File:Plattenbauten_02_Lobeda_West-2011.jpg https://en.wikipedia.org/wiki/Prefabricated_building#/media/...
- AtlasBarfed 4y agoI-beams are programming languages, libraries, and compilers. Pre-fabs are massive frameworks where mixing them always looks hack-glued together. Same as if you glue two prefabs from different vendors. That said, industrial plants aren't gothic cathedrals. They are a collection of buildings plopped together.
- dijit 4y agoI think that's a pretty good categorisation that I could definitely agree with. So I guess with that allegory you have to ask: Am I building a factory, an office, a home or a cathedral. You can then plan your architecture accordingly.
- CyberDildonics 4y agoI beams aren't abstractions, they are a well designed standard that can consistently meet certain expectations.
- CuriousCosmic 4y agoI beams are both an individual abstraction and part of the greater abstraction. Your catalog of beams, bolts, brackets, weld patterns, rebar, piles, and concrete pour standards are all abstractions over extremely difficult subfields of materials engineering and structural engineering. They exist so that your engineer can focus on building the structure using parts and resources with known, standardised behavior under the conditions the building will be put in. Of course you'll see engineers break away from these abstractions when they need to for a given structure but those abstractions do exist and are commonly used so that a given structural engineer doesn't also need a PhD in materials engineering and countless other specialized fields.
- CyberDildonics 4y agoAn abstraction is something that lets you hide complexity. An I-beam is exactly what you see, there nothing hidden.
- CuriousCosmic 4y agoThere absolutely is a ton hidden. Your ASTM A992 structural steel W-beam (wide I beam) or S-beam (standard I-beam) is abstracting a ton of details with regards to: - the construction process. - material composition. - thicknesses of the flange. - width of the flange. - depth/height. - max length. - shear strength. - tensile strength. - elongation (stretch/sag when approaching the point of failure). - corrosion resistance. - tolerances. - cost per foot. And the list only goes on. A structural engineer can say "I have a specific structure in mind and need a beam that can withstand XYZ conditions" and pick out the matching beam from a table without considering any of the details as to how one would actually achieve those properties and withstand those conditions. Alternatively an engineer can know their budget, what grade of steel, and what size of beam they want to use ahead of time and simply design a structure using those abstracted pieces in coordination with the architect. Beams and other construction elements are the structural engineer's equivalent of a Hardware Abstraction Layer (coming from the perspective of an engineer who works close to the metal when I can). It lets the engineer abstract most of the minutiae regarding working with the hardware itself by giving the engineer a largely uniform interface for choosing how their product interacts with the world. Generally the abstraction holds but sometimes it's leaky and details show through. Likewise sometimes the abstraction is insufficient and the engineer has to do some custom work that breaks away from the established path to meet the constraints.
- deleted 4y ago[deleted]
- dinosaurdynasty 4y agoExcept the I-beam isn't only owned by a single company and is interoperable. (Unlike modern clouds and SaaS, which are neither of these things.)