A Brief Examination of Internationalism in Computing

If I was to ask somebody the name of an American computer company, I’d be fairly confident of receiving an answer; the names Microsoft, Apple, IBM, Hewlett-Packard and AMD constitute only a short part of the list of computer companies from the United States. Similarly, Japanese computer companies could be named with ease, with Sony, Fujitsu and NEC among them. British computer companies are somewhat more obscure, but the names Sinclair, Amstrad, ICL and ARM have enough significance to mean something to computer enthusiasts. Finally, South Korea and Taiwan have recently established themselves in the computing market, particularly at the smartphone and tablet form factors, where the likes of Samsung and HTC are king.

Try venturing outside of these countries, though, and you start having a bit of a problem. Just as I could be fairly assured of getting the name of an American computer hardware company, I could be fairly assured that I wouldn’t be able to get the name of, for example, a French computer company from a random person on the street. (In case you’re wondering, Ubisoft and Groupe Bull are good examples from the software and hardware markets respectively.) Similarly, for all of the size of the Chinese manufacturing industry, it’s rather difficult to name a company involved in computer design based in mainland China, apart from perhaps Lenovo.

The dominance of a few countries in the market of computer design is not a new phenomenon, and has been present almost from the start of digital computing. After the Second World War, when computers weren’t just being built for military purposes, many of the significant designs from this early period came from either the United States or Britain, such as the ENIAC, EDSAC, UNIVAC, Ferranti Mark 1 and IBM 701. The transistor and integrated circuit, the pieces of technology which defined the second and third generations, respectively, of computer hardware, were invented in the United States. The microprocessor, which defines our current generation of computers, was invented in the United States. The hard disk drive was invented in the United States. If you’re noticing a trend, you’re not the only one.

Given the role that designers from English-speaking countries had in the hardware design of computers, it’s not surprising that English has been by far the strongest language of influence from a technical perspective. The vast majority of significant programming languages have their roots in the English language, from C to C++, from C# to Java, from Fortran to COBOL. ASCII and EBCDIC, the two most significant information interchange codes before the uptake of Unicode, are strongly based around a standard Latin character set without diacritics ā€“ in other words, defined by the English language.

Not all of this is due to American cultural myopia either; there have been many significant computer scientists and programmers who are not native to the US, such as Bjarne Stroustrup, Edsger Dijkstra, Niklaus Wirth and Linus Torvalds, but the use of the English language has become so entrenched in computing that it seems to be a prerequisite to become notable in computer design. Where the use of non-English languages has been attempted in programming, the programming languages have either faded into obscurity or remained as niche development tools.

Even though Japan entered the field of computer development quite late, they did offer the biggest resistance to the domination of American companies that the computing market has ever had. Yet, Japanese is not particularly significant on a technical level when it comes to computing. From the perspective of machine code, it is difficult to implement a logographic and syllabic language like Japanese in computer code. With the ASCII and EBCDIC interchange codes, only seven or eight bits were given for each character, giving a potential total of up to 256 different permutations to be assigned to characters, and some of these had to be assigned to control characters.

For the English language, assignment of characters to a table with this amount of space is easy ā€“ besides the 26 characters each needed for upper and lower case, the ten characters needed for numbers and the 32 assigned to control characters in the ASCII system, that leaves 34 characters for punctuation even in the most restrictive implementation of ASCII. This did lead to problems with the transcription of other languages, even other European languages with Latin alphabets. The accents and diacritics of French, German and Spanish, for example, simply didn’t exist in the 128-character table of standard ASCII, and additional code tables had to be implemented before one could fully represent these languages.

It would be difficult to fit even one of the syllabic representations of the Japanese language into 128 characters and impossible to fit a substantial number of kanji logographs into that amount of storage space. It would have been just as difficult a task to fit the kanji system onto a computer keyboard. I foresee similar problems for the uptake of Chinese or Korean in the technical field. Both languages are transcribed using logographs, just as Japanese uses Chinese characters for kanji. It is possible with greater improvements in technology to implement both languages on computers without worrying too much about memory limitations, but neither language is suitable for computer tasks in the same way that English has proven, and that many other European or Asian languages could have been if the commercialisation of computers came predominantly from those countries rather than the US and Britain.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: