Can a partially installed computer program work?

earguy

Member
Reaction score
2
First of all, this has nothing to do with a real scenario. I am currently writing a scifi story and have a general question about computer programming.

If I were uploading a software program to a robotic animal, let's say a dog, that made the device active and acting like a dog, and the "DOG" software program was suddenly interrupted during install; would it be possible that the amount of software that was installed before the computer "crash" could work, though not all aspects of the program would be functional? In short, can some computer programs (I know not all) work even though they have not been completely installed? I hope I'm making sense.

Thanks
 
Depends on how it's coded. If you have the core app and it calls libraries as they need them then yes. But the reality is most people writing code also do an integrity test when the app is launched to make sure all required libraries/dependencies are present prior to allowing the app to run.
 
Depends on how it's coded. If you have the core app and it calls libraries as they need them then yes. But the reality is most people writing code also do an integrity test when the app is launched to make sure all required libraries/dependencies are present prior to allowing the app to run.
Thanks
 
Depends on how it's coded. If you have the core app and it calls libraries as they need them then yes. But the reality is most people writing code also do an integrity test when the app is launched to make sure all required libraries/dependencies are present prior to allowing the app to run.
I think that gives credit to programmers where it's not warranted. I would write a core program and a series of external dependencies/libraries. I would expect the program to be installed correctly and would not necessarily perform integrity tests. Often programs are written in such a way that it will just carry on regardless. I forget the terminology: DLLs can have a forced link, where they are all loaded when the program starts, or unforced link where each one is loaded as required and if the program doesn't need the tools in a particular library then it's not loaded and no-one is any the wiser. In either case, when the program requires a library, it can choose to verify it's existence before attempting to load it, otherwise the OS throws an exception and the program can either carry on or die.

I think the point is, it's up to the programmer how the situation is handled and I *know* a lot of programmers couldn't be bothered doing that kind of verification, they work on the assumption that the program lives in an ideal world. A lazy programmer may well just suppress/ignore exceptions and attempt to carry on.

Let's take the dog: the dog has an external module that recalls characteristics derived from training. Let's say it was trained to not react when small children run up to it and pat it in that rather heavy handed way that some small children have. That training and reaction is contained in an external module. The module fails to load and the program defaults to earlier behaviour which is to attack the 'aggressor'. The child dies because the programmer got lazy and didn't account for the possibility of the training module not loading properly.

This is the difference between large development companies with plenty of QA that can throw every conceivable scenario at the program and small/one person development houses or even open source development projects that have no QA and don't really give much thought to anything outside of the perfect case.
 
Well.... then you have the elephant in the room. This is a sci-fi novel, anything is fair game!

I always hate when people complain about movies with zombies, flying cars or laser guns have scenes
where a car explodes after a crash... "that car wouldn't really explode like that"... as zombies walk down the street.
 
Well.... then you have the elephant in the room. This is a sci-fi novel, anything is fair game!

I always hate when people complain about movies with zombies, flying cars or laser guns have scenes
where a car explodes after a crash... "that car wouldn't really explode like that"... as zombies walk down the street.
I like that idea: The robotic animal is generic until the appropriate software is installed and the machine then takes on the desired animal characteristics. It might even physically change by whatever sci-fi mechanism you care to dream up. Now suppose the programmer messed up or the lab minion or whatever and instead of uploading a dog, they upload an elephant. The thing grows and morphs and before you know it you have an angry, rampaging elephant on the loose, trashing equipment, stomping on people... now, how to reverse the mistake and 'undo' the elephant...
 
Back
Top