3 ms·
A single car has about 30,000 parts, counting every part down to the smallest screws (according to Toyota). A lot of people don't understand the difference of c
by sytelus 7y ago
A single car has about 30,000 parts, counting every part down to the smallest screws (according to Toyota). A lot of people don't understand the difference of complexity between a car and software. The analogy between two is quite unfortunate.
The software in nutshell is programmable transistors. Each CPU instruction is in effect just a convenient way to design a specific electronic circuitry. Even a trivial act of printing Hello World takes an astonishing amount of complexity when you take into account all kind of protoicals, APIs, driver codes, kernal code, fonts, rendering, graphics that gets executed in between. If you showed a computer printing Hello World on screen to someone from 1920s who knows how to build electronic circuits and primitive "display", they can estimate the amount of work that would be required to do that. Nothing has changed from 1920s to 2020s in terms of complexity to enable simple Hello World. A relatively simple program will easily exceed 30,000 low level components working together to achieve a goal in an intricate dance. Now think of large code bases with million lines of code... This is why software is hard, software is complex, software is messy and software is magic.