7 ms·
Measuring programming progress by lines of code is like measuring aircraft building progress by weight. - Bill Gates
by fitzn 5y ago
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
- Bill Gates
- tremon 5y agoIt's a nice aphorism, but it's a very bad analogy. Before the build of an aircraft is started, the target weight of the assembled product is (roughly) known. Therefore, in the process of building an aircraft, the assembled weight at least goes up from 0 to $target -- in an erratic fashion, but it's still a continuous measurement. I have never seen a program design specification that even attempted to quantify the lines of code of the end product, let alone be accurate.
- fitzn 5y agoThe initial comment was related to attribution for "who built" some piece of software based on lines of code. The analogous argument would then be assigning attribution for the built aircraft to whoever produced the heaviest components. Given that that would be illogical, I think the analogy is apt.
- mostertoaster 5y agoAnd I bet an in progress airplane that weighs a 1000lbs is further along than an airplane that weighs 1.
- bdavis__ 5y agoNote this applies to the manufacturing,not the design. It is actually a wonderful analogy with software: * to a first order, cost of the materials in an airplane are proportional to the weight * at design time, the weight of the aircraft is minimized. thus, political and management forces cannot change it. just like software, each subsection that is bolted on has different weights; but if you average it out it is a good measure of progress. and cost.
- ecnahc515 5y agoAnd if I build a paper/balsa wood airplane that's 1 pound and can carry a mouse? It all depends on what the actual "airplane" (product) that's being built is.
- kragen 5y agoNot if they have the same wingspan; the "1000lbs" airplane is 0% done because it will never fly.
- ddalex 5y agosure, because they are measuring progress towards completion, rather then the ability to fly i.e. if a finished plane weights 10,000 lbs all put together, then a in-construction plane currently at 1000 lbs is clearly further along towards completion then one at 1 lbs
- slingnow 5y agoWhat were you trying to say? You realize a Boeing 747 weighs over 400,000 lbs. And a tiny Cessna 172 weighs ~1500 lbs. If the planes have the same wingspan, it's likely they're in the same class, and weight is a perfectly reasonable measurement of completion percentage.
- kragen 5y agoA 450-gram partly completed airplane probably has a wingspan of about 1 to 3 meters. If you have a partly completed plane whose wingspan is of about 1 to 3 meters, and it weighs 450 kg, it will never fly. You need to redesign it. Otherwise you have a rocket, not a plane (and there's no guarantee that it's a working rocket). Maybe, in exceptional cases like the Gossamer Condor, a 450-gram partly completed plane might have a larger wingspan, like 30 meters. With enough thrust and wingspan, you can definitely get a plane weighing 450 kg to fly (or even one weighing much more, like your Boeing 747 example). But if your Gossamer Condor competitor is partly completed and weighs 450 kg, again, you are going to have to redesign it, because a bicyclist will not provide enough thrust to keep it airborne. If your Boeing 747 assembly is running behind schedule, you probably cannot catch up by adding more ballast to the wings, or prioritizing ballast over riveting, even though lead or DU weights are quick to install, and rivets do not weigh very much. X-ray inspection doesn't add any weight to the airplane at all, but it's the only way to find certain cracks. If your Boeing 747 weighs 500 tonnes, that does not mean that it's a super-complete plane. It won't be able to take off. So, no, weight is not a perfectly reasonable measurement of aircraft completion percentage.
- deleted 5y ago[deleted]