I sometimes wonder to myself: what programming challenges would come up in something like the starship Enterprise (any of them) and what new language constructs (if any) would be required to address them?
In star trek they just tell the computer what they want to do in a very high level way like "computer, can you average the natural disaster data on Proxima 5's moon"? There is no file handles to open a .CSV file and find the right column and so forth.
A sophisticated AI-powered UI maps your voice commands to an execution graph composed of assorted php functions, single-purpose node packages, and sandboxed excel worksheet cells. Generations of engineers have devoted themselves to rewriting it all in one of several incompatible versions of hyperrust.
Well, this is Star Trek here where they can go faster than the speed of light, go back in time, and completely disassemble a person molecule by molecule and build them back up somewhere else (transporter). So I assume it works in some similarly hyper advanced way that would seem like magic to us.
> I sometimes wonder to myself: what programming challenges would come up in something like the starship Enterprise (any of them) and what new language constructs (if any) would be required to address them?
The point of the question is to imagine that you are part of the team building this system. What sort of programming techniques would you be using? Is it going to be Python? Modern C++? Probably none of these things as they are incredibly inadequate for such a system.
Ah, I couldn't quite tell. I've asked myself something similar.
If done today I think it's more than one technology. The missions critical stuff could maybe be Ada? The AI stuff maybe logical programming based like Prolog? I assume there's a big database in there.
I think there will need to be work with things that essentially are what we think of as speculative execution today. This is because I’m sure there will be need to interact with considerably more systems, threads, messages, instructions whatever in the scope of an interstellar starship.
And no doubt some advances will be necessary in terms of AI to handle the calculations. I don’t know what those calculations are, but I’m sure they’re difficult :)
I think about the voice interface to the various computers. Really complex interactions. Always on. Rapidly changing contexts. Historic conversations. Different languages.
I’m sure storage is an issue. Something to do with compression algorithms. And decompression. Probably encryption and security.
Challenges in redundancy might be hardware or materials problems.
Most of them are hard for me to even articulate plainly :)