General statistics
List of Youtube channels
Youtube commenter search
Distinguished comments
About
ThePrimeTime
comments
Comments by "" (@grokitall) on "NASAs Coding Requirements Are Insane" video.
@-_James_- I would agree, but most large functions I have seen are doing multiple things. Either they don't have separation of concerns and do more than one thing at once, or they do a sequence of multi part steps, which are better split up.
2
Most large functions I have seen are multiple parts mashed together all in one function. If you split them, name them we'll, and use them sensibly, the whole thing ends up more understandable and smaller.
2
The 45 minute delay each way makes remote debugging not an option. It's like asking why jagger and Bowie did not do a live intercontinental broadcast for live aid, the physics gets in the way.
2
But in safety critical systems, not crashing the code matters, so you are strict about what you accept, so that you don't have to handle garbage input.
2
The reason for function size limitations is because most long functions are badly conceptualised. Either they do multiple things, in which case multiple things are better, or they do multiple stages, in which case splitting each stage into its own function is better. Only after you have dealt with those problems do you come to the human factors problem that code longer than a page is harder to remember and reason about.
1
Both disasters were caused because management did not understand risk, even after feynmann shoved that fact down their throat after the first one.
1
Some things have to just work, and degrade and recover sensibly. An example prime would know about is Netflix, which when it gets overloaded starts gradually dropping functions like the recommendation engine so that the rest can keep working, just like the lunar lander did.
1
Ada was not used because it did not exist. Having the compiler be a few years old and using multiple compilers is to catch compiler bugs. Also, c++, ada, and a lot of other kitchen sink style languages are too big to compiler, test, and understand easily, which is why there is so much bugger c++ code out there.
1
@isodoublet ada is basically 7 different special case languages shoe horned intl a common syntax. As to c++, I'm quoting some of the compiler writers when I say that the language is huge and complex, which does not really affect the standard cases, but makes all the odd corner cases a complete pain to locate, find the definitive documentation for, and test if the compiler gets it right for those odd cases. Also, it includes additional problems to do with how classes and inheritance interact which are not present in the c languages, which stops at abstract data types. And that is before you get into some of the funky ways core libraries have been implemented which make c++ badly suited for embedded and safety critical uses.
1
@shkhamd partly it is mandatory safety paranoia, but in more general programming if you make sure you check the parameters at the start, you don't need the checking in the sub modules to be as strict, as you know it is engineered to not pass down garbage which you will then have to deal with later.
1