Part of a series addressing the challenges of a mutual first contact. Previous question here

Humans meet some distant alien species. They are mutual first contacts. After learning the languages of each other, they begin to share scientific and engineering knowledge with one another, but here's the problem: given our separate lines of evolution and scientific development, we have different systems of units, computer architectures, character encodings, names for the same mathematical concepts, mathematical notation (including default numeric base), etc...

x86 has arisen as the de-facto standard of computer architecture. It's complicated. Really complicated. Yet many architectures support emulating at least a subset of x86. Outside of that, we've settled on binary, 8 bits per byte, IEEE floating point numbers, two's complement integers, big-endian network transmission, UTF-8 strings, and a ton of network protocols, file formats, and programming languages.

Add on top of that having to coordinate character encodings between the two civilizations (assuming both have something as unwieldy and complicated as Unicode due to a broad diversity of cultures)

These are very real challenges that we would face if we wanted to connect our internets, for instance.

Computer architecture is not particularly daunting with compilers targeting the alien machines, though some difficulties arise from the different assumptions made about computer architecture. What is fast on a human computer might be painfully slow on an alien computer and vice-versa. What produces an accurate result on a human computer might be off by a small but deadly amount if run on an alien computer because of differences in sub-integral implementations. What runs without errors might crash an alien computer. This ultimately isn't a problem we haven't faced before. Given enough time, one race's architecture will likely win out over the other.

Networks and encodings are a much bigger struggle. We either need to create translation layers between two protocols or create new protocols that both civilizations understand and use. Do we use two different encodings or do we combine them into a super unicode? Should we make room for future races?

How do two interstellar civilizations come to unify their computer technology?

  • $\begingroup$ I know enough about computer architecture and networking to know this question is too broad. It's also POB because the alien architectures are completely undefined. Finally, I believe I could also have voted not-about-worldbuilding because the question has already been asked and answered thanks to the PC/Mac interface problems and the need to move between proprietary network types (do you remember the HP-IL and AppleTalk networks? Aaaah!) In fact, we deal with this problem constantly today. I can give you two hints: cross-compilers and drivers. $\endgroup$
    – JBH
    Commented May 29, 2019 at 21:46
  • 2
    $\begingroup$ "x86 has arisen as the de-facto standard of computer architecture": citation needed. This was never truely true, and I'd say that today there are far more ARM-based computers in the world than x86-based. And I do not understand at all why we would even want to "unify our computer technologies". We have ample experience with interconnecting computing systems with wildly disparate architectures, word and byte size, character encodings, endianness, what have you. So the short answer to the final question is that quite obviously they don't. $\endgroup$
    – AlexP
    Commented May 29, 2019 at 22:45
  • $\begingroup$ Unicode has enough code points so that we can easily accomodate a block for the representation of the alien script(s); and UTF-8 can easily encode even more code points than Unicode allows. As for "we've settled on [...] IEEE floating point numbers", that's sort-of true only when one uses floating-point numbers, and it's not completely true even in that case. We use floating point numbers when we must, it's never a default choice. There are many situation when one prefers integers, scaled integers, bignums, or even a decimal representation. $\endgroup$
    – AlexP
    Commented May 29, 2019 at 22:52
  • 1
    $\begingroup$ The more I look at this question the bigger the issues seem. All the devices on the internet operate using different OSs and different hardware. They just aren't compatible. An app on the Apple won't work on an Andriod. You create two different versions. Like wise, a protocol doesn't care if its in UTF-8... a protocol will define exactly what is required and what is allowed. Finally, with an intergalatic internet, light years apart, it will literally take you years to send something to the alien network and get a reply, excluding issues like corruption or transmissions errors. $\endgroup$
    – Shadowzee
    Commented May 30, 2019 at 1:35
  • 1
    $\begingroup$ @AlexP I'd say that today there are far more ARM-based computers in the world than x86-based is a good point, but even that might assume that we ignore all the workstations (HP, Sun/Solaris, etc.) all the supercomputers, all the state machines, RISCs, GPUs and control CPUs.... x86 and/or ARM might, maybe, represent the single largest block - but the claim that either is a de facto solution might not be taking into account the rest of the world. Humans haven't unified our tech yet... expecting to unify them with an alien species is somewhat hopeful. $\endgroup$
    – JBH
    Commented May 30, 2019 at 3:09

2 Answers 2


The internet was never meant to unify computer technology. It is called the "inter"-net because it works between networks, even networks with dramatically different data representations and topologies.

If there is a way for alien data to be meaningful to humans, there would be a way to communicate that data over a network.

How different could the alien network be?

It might not have separated nodes, and have no need for the nodes to have individual address. One way would be for the network to be a huge associative engine, where every reference is a query by tag, with the data flooding back. In that case, humans could assign one address to the entire alien net and define a protocol to match how the access works. Clearly our protocols, like FTP and SMTP, would be meaningless.

I suggest that no matter how the networks are organized, there would be a way to connect them to interoperate.

We have an example of there already, and you suggested the answer we adopted -- unicode. There is nothing about unicode that helps me understand a Chinese document, but my computer knows how to read it, decode it, and display it. If the aliens use any kind of symbol based knowledge representation, we can add the unicode glyphs and bring it into the big tent.

If the aliens use pictures rather than symbols, we would just make the pictures into images. We know how to encode and transmit images really well. If the meaning is destroyed by compress, then don't compress them.

But, what if the alien race doesn't have written records? What if there is a collective brain where information is only ever encoded in neurons, with no external representation?

Until we invent the DABA (Direct Alien Brain Access) machine, I have no idea.


One of the first tricks I learned early in my career is that in order to communicate, two networks don't need to be using the 'right' communication protocol, they merely need to be using the 'same' communication protocol.

I'm not saying here that picking a communication protocol and its requisite configuration settings at random is the way to go; there are matters of efficiency and other concerns and I will also point out that during the rest of my career I've come across some notable exceptions to this rule as well - I'm not a comms tech but I do know how to get things working most of the time. Still, what I'm saying here is that ultimately, we won't get our computer systems unified, and trying to do so will be counter productive. We all get used to different computing products now and that's a good thing - we pick the technology platform that best suits the way we think and work and that shouldn't change.

What is needed however is a form of gateway, not just for information communication but for information conversion. That way, we can transmit data between our different and disparate systems and make sure that its integrity is maintained in terms of what is received by comparison to what we transmit, but then convert that format to something more usable within our native computing systems.

For the record, we do this all the time even now. We transmit data between companies, banks, government agencies, etc. all of which use different architectures, communication protocols, data storage systems, and end user applications. We have jobs like data modellers and ETL specialists specifically to deal with these kinds of problems.

Alright, your aliens are going to turn the challenges those people face into a next-level situation, and our comms tech may well have to build some device that can convert the subconscious emanations from semi-sentient algae transmitted via something akin to Morse code into zeros and ones that can be stored on a HDD, but that will happen. What won't happen is that our x86 and ARM computers will all be junked for bio-based computing platforms.

Ultimately, the only thing you'll need to invent to communicate between species is a transfer 'interface'. Other than that, we'll continue to use what we know for no better reason than we know it and there's no compelling need to reinvent the wheel.


Not the answer you're looking for? Browse other questions tagged .