He seems to think that 1.7 million lines of code is somewhat a big puff. The operating system in your phone is at least 15 to 20 million lines of code. Apps go up to over 200 million lines. And yet they are surprisingly manageable, because they are meant to be that way --- the very enterprise depends on it. It is part of the discipline and profession of being a developer and a software engineer. The whole evolution of programming languages focuses heavily on modularity, reusability and expression.
But that is exactly what the business of software is, making things simple and plug and play. That is why open architectures, standardized buses and interfaces are for. That's why languages express object modularity and feature reusable libraries. And the very act of installing and executing a new app in your mobile, while very easy to the user, is extremely complex underneath, talking about things like virtual machines, pseudo or byte code, dynamic runtime or compiles. The complexity of software is counter intuitive to its appearance --- the more easier a software appears to be, the more complex it is underneath.
There should be no piece of system software or any coder worth his or her body salt, in this day and age, that isn't based on an open architecture, is modular, and features reusable libraries. Going contrary to that, you might as regress decades and write COBOL and BASIC with all your GOTOs.
designing an aircraft and bringing it operational status is just some plug & play or installing a new app on your mobile!
But that is exactly what the business of software is, making things simple and plug and play. That is why open architectures, standardized buses and interfaces are for. That's why languages express object modularity and feature reusable libraries. And the very act of installing and executing a new app in your mobile, while very easy to the user, is extremely complex underneath, talking about things like virtual machines, pseudo or byte code, dynamic runtime or compiles. The complexity of software is counter intuitive to its appearance --- the more easier a software appears to be, the more complex it is underneath.
I personally understand that principle, but I question the nature in which the practice of more complex avionics may prolong or complicate things such as integration of new systems.
The degree to which a system is designed to be open architecture, modular, and/or the way in which different systems may have been designed or implemented to mitigate or minimize mutual interference are confounding factors.
There should be no piece of system software or any coder worth his or her body salt, in this day and age, that isn't based on an open architecture, is modular, and features reusable libraries. Going contrary to that, you might as regress decades and write COBOL and BASIC with all your GOTOs.