3 ms·
Thanks for the recommendation! I've added it to my to-read list. I will note though that "Changes from the 9th edition" on page 4 reads to me like it supports
by thaumaturgy 3y ago
Thanks for the recommendation! I've added it to my to-read list.
I will note though that "Changes from the 9th edition" on page 4 reads to me like it supports my point moreso than contradicts it. I'd also add my favorite quote about engineering, "any idiot can build a bridge that stands; it takes an engineer to build a bridge that barely stands". That's the engineering that is as yet unsettled in software. Any of us, given enough time and financial support, can eventually build some software that does something. Approximately none of us however can agree on the right way to build such a thing (where "right way" means something like "most efficient, cost-effective, and future-proof, according to the users' and owners' needs and specifications").
Hell, pick 10 people from HN and you'll get 12 different recommendations for which language to use.
- pas 3y ago> 12 language Well, as this is also depends on parameters. What languages the team members know, what languages the problem domain maps to well, how much capital do we have, what's the schedule, what's the expected rate of modifications on the system, load, security and safety hardening requirements. All bridges, tunnels, houses, roads, pipes, and dams are more similar than websites, Android, databases, videogames, and embedded software. Mostly because the former had hundreds of years to settle down somewhat. (And of course there are huge advances due to materials science advances and because of better structural modeling, due to software advances.) And that settling down allows for time to develop models for the common scenarios. That's why there are engineering standards (building codes).
- solardev 3y ago> All bridges, tunnels, houses, roads, pipes, and dams are more similar than websites, Android, databases, videogames, and embedded software. Are you sure about this? I feel like somewhere between "dirt driveway I dug out last weekend" and the Hoover Dam, they would've had to figure some hard shit out. I could probably dig a tunnel with a shovel, but it wouldn't survive the next rain, much less be able to go under the ocean or support a vacuum. I mean, outsiders probably couldn't tell apart a WordPress template from whatever gee-whiz app. It's all just computer stuff. And as a web dev, I could probably figure out an Android app given a weekend or two, or learn a new SQL dialect in a few hours. I would have no idea how to, say, frame a window for a house or calculate the right materials and techniques to move water from here to there, even to Roman standards.
- pas 3y agoWhat I mean is if you have a parcel of the Earth and you want to make a road through it you open a specially designed software (Autodesk Civil3D) and you can basically do it. Whether it's a dirt road or a 6 lane highway (or a tunnel or a bridge). Finite element analysis is magic after all :) Sure, that tunnel might not survive, but the way to fix it is pretty clear. More structural support and then protecting the structures from the environment (corrosion, soil erosion from water and wind, underwater currents, etc), and then due to the inherent nature of brick and mortar stuff is they are hard to change after the fact (it's hard to change a skyscraper to have a stronger core to resist more wind loads for example) , so it basically forces the customer to commit to some requirements (eg. how many rooms do you need, how much traffic the bridge/tunnel has to carry, how big floods the dam has to be able to withstand) and this has downstream effects of drastically pruning the search space. And then cost estimation is usually again simpler, because we have measurements (this long, this amount of mass, we need this amount of stainless steel of this grade, this amount of concrete of this type, in this region by this availability, etc...) > frame a window for a house sure, but there are about ten options, and you can go through them pick the one you like and get a craftsmen/contractor Most IT/software problems reduce to very straightforward ones once we have the same degree of constraintedness, but mostly we don't.