7

One time in a conversation, a person who is very knowledgeable about computers off hand mentioned that it would have been difficult, maybe even impossible, to have developed computational technology in a culture where the language had a complex writing system. Writing systems such as Chinese, Japanese, early Korean, maybe Arabic, and I suppose we could even suppose something like ancient Egyptian with its hieroglyphics.

Note that by "computational technology", I'm including pretty much all the concepts involved, from the kind of machinery and electronics involved up to the programming languages that one can utilize those machines with.

That conversation was a long time ago, but the question remained with me: Would it have been impossible, or extremely unlikely that computational technology could have developed in a culture with a complex writing system? Since computing involved a lot of transference of human concept to a recorded form usable by a computer by way of textual input, is an extended alphabet a hindrance?

I guess at issue is that you can't make a keyboard unless you have a way of breaking down the input of a language into a limited number of keys. Which is sort of symptomatic of a broader issue that to express commands, especially with limited computing power, you need a certain simplicity.

Or, put another way, is the fact that English, or European, languages have a simpler writing system, that contributed to why computational technology took off there?

Or is computing so based on mathematics that the language of the developers is irrelevant?

Did Babbage and Lovelace have to have been speaking English to do what they did, or could they just have likely been speaking Chinese?

6
  • 4
    By the way, Arabic is essentially alphabetic in nature. It's technically an abjad since it doesn't regularly show vowels, but it's just 28 characters. Commented Jun 12, 2012 at 16:14
  • 1
    @MarkBeadles: Okay, thanks for clarifying. I was under the mistaken impression that Arabic had a more complicated writing system, but I guess it just looks complicated.
    – Questioner
    Commented Jun 12, 2012 at 23:21
  • 2
    Let's not forget that (more or less) each arabic letter has 4 different versions: when it's isolated and when it's at the beginning/middle/end of a word.
    – Alenanno
    Commented Jun 13, 2012 at 8:45
  • 1
    One thing I'd like tocleared up about your question. As you pose it is is extremely broad: "pretty much all the concepts involved, from the kind of machinery and electronics involved up to the programming languages that one can utilize those machines with." That's an incredibly wide range of things including engineering, logic, math, computational science, materials. You also ask specifically about Babbage and Lovelace. Do you really mean to be this broad? Or are you really asking, as Ruben below seems to judge, about computers and their ability to represent written language? Commented Jun 14, 2012 at 20:21
  • 2
    @MarkBeadles: Abjad is a recently coined technical term invented by Peter Daniels, perhaps the world's foremost expert in writing systems. Until then Arabic was always referred to as an alphabet, even in Arabic where the term "الألفباء" (alifba) is the usual one. So technically "alphabet" has multiple senses, one that covers all letter-based writing systems, and the newer sense used to contrast Greek-style writing systems from abjads, abugidas, etc. So it's perfectly technically acceptable to call Arabic an alphabet or an abjad depending on the field under discussion and who you're talking to. Commented Mar 12, 2013 at 6:32

6 Answers 6

14

I don't think the nature of the written notation for the language really had much effect. Computation is basically just math and the Chinese had a firm grasp on mathematics from the earliest times. Computational devices were developed based on mechanics - gears, punch cards, etc. - long before they were based on silicon. Babbage's device didn't use any human language - it ran on punch cards, gears, and steam; Lovelace's algorithm was, well, algorithmic in nature and not based on characters, as is plain on reviewing it.

I'd note the Chinese invention of the suànpán, more commonly known as the abacus, and the earlier chóu counting rods. The Ancient Chinese also independently invented the differential gear, an early analog computing device. In none of these case did the Chinese language prove a hindrance to developing mechanical calculation devices.

Electronic digital computers, the kind we usually think of nowadays, have been part of Chinese technology since the late 1950s [PDF]. The authors note "By June 1985, the task force had successfully developed a personal computer, Great Wall 0520CH, which was the first PC using Chinese character generation and display technology, capable of processing information in Chinese."

I don't think there's much evidence for the proposition your interlocuter made. It's mistaking the modern keyboard and ASCII input and text monitors - the accoutrements of computers - for what a computer really is.

The Chinese have always been perfectly aware of alphabets and do make use of the Roman alphabet in their computing. The popular use of keyboards during the past couple decades is not fundamental to computing. Consider touch screens. Touch screens are noted for their difficulty in entering Roman letters, but they are almost perfect for entering Chinese characters.


Here is another look at Lovelace's algorithm. Note its remarkable similarity to this Chinese version of Pascal's triangle.

11
  • 3
    @DaveMG: How do you think Chinese people type? Each character is a combination or two (or more?) key presses, so they don't need a huge keyboard.
    – Cerberus
    Commented Jun 12, 2012 at 17:03
  • 1
    @DaveMG and Cerb: they write like Japanese more or less (except for the space bar that converts Hiragana to Kanji). If I want to write 中国 (China) whose pinyin is "zhong guo", I simply type zhongguo. :P
    – Alenanno
    Commented Jun 12, 2012 at 17:48
  • 3
    Modern Chinese computer keyboard input is based on typing in pinyin, radicals, four-corner method, or some other input system easy to implement on a keyboard designed for western languages ... but back in the pre digital days of typewriters and typesetting there were in fact quite baroque ways of "inputting text" that could well have become the basis of computer input if China was the pioneer of digital computers rather than the western countries. Wikipedia article Chinese typewriter Commented Jun 12, 2012 at 18:05
  • 2
    Oh and here's some more great stuff on Chinese typewriters from Language Log. Commented Jun 12, 2012 at 18:13
  • 1
    @Cerberus: I think Chinese people type using a keyboard developed in the west. The ability to select the right kanji rests on relatively advanced IME technology, and my point (well, I'm just being devil's advocate to push the issue a bit in order to really analyze it) is that such input methods are possible because of technologies developed elsewhere.
    – Questioner
    Commented Jun 12, 2012 at 23:19
7

This is just my two cents: I'm a graduated linguist, and a computer engineering student, but not a historian.

I think your friend was talking from a much more practically minded perspective than the other repliers in this question are thinking, as you seem to anticipate in stating:

Note that by "computational technology", I'm including pretty much all the concepts involved, from the kind of machinery and electronics involved up to the programming languages that one can utilize those machines with.

Of course it is equally possible to use, say, Chinese as a basis for computational interaction, or hieroglyphics, or whatever (heck, even a system with one ideogram per possible utterance could work, at least on a theoretical level). But there is a massive gap between what is possible theoretically and what practically.

Remember that in the early days of practical computing you only got what you could dearly pay for. Bits were not the commodity they have now become. There were only a very small number of bits available, both in main and in secondary memory (read: RAM and hard disk).

That means the problem was one of simple engineering: it is very unpractical to try to use, say, Chinese ideograms or any (really) large writing system when you only have a very limited amount of "bit space" available. You cannot even represent enough ideograms to state a meaningful program if you lack sufficient bit space, if you have to use 0-and-1 sequences to encode any data point.

As an exercise for the interested reader: calculate how many bits would be necessary to represent all building blocks of your writing system using the most efficient binary encoding: Huffman Coding Wikipedia article. Then realise that to have a workable system, you would need to be able to use a large enough "word" (that is, a computer engineering word, which is the length of the every little sequence in memory and processing -- think 32bit or 64 bit). Then find the year since when systems with such word lenghts were economically valid.

9
  • I think this is correct as far as it goes regarding representation of natural lanaguage, but it seems to me (and maybe I'm wrong) that the question goes much, much farther and literally extends from the very beginning of computational science. Commented Jun 14, 2012 at 20:18
  • This is exactly the type of answer I was looking for. I can't say yet whether it accurately addresses the concerns yet, as I think I need to make some revisions on the question, but this is definitely more the direction I was hoping to go in.
    – Questioner
    Commented Jun 15, 2012 at 4:59
  • 2
    You're welcome, Dave. ;) If I were you, I would change two things: 1 Be explicit about "extended alphabet". Better might be: a writing system that presupposes many (thousands) of building blocks. 2 Your title already states "computer technology", not "computer science", which is good. Maybe you could specify that you want to know if there are any engineering / economical arguments, rather than theoretical / computer science ones. Commented Jun 15, 2012 at 16:23
  • 1
    I'll note that though the Chinese have thousands of ideograms for words - they still have only 10 for the decimal digits. There is lots of computing that can be done without involving encoding of human language -- important computing. I don't see, for example, how the Chinese language would be any hindrance at all in developing massively parallel/high performance computing for, e.g. simulation or physics research. So this question seems more focused on the "laptop in front of me" and web, which are very human-language intensive application areas. Commented Jun 18, 2012 at 2:52
  • 2
    @MarkBeadles: Actually Chinese has only 10 for the decimal digits that we might call "Latin" or "Arabic" but they have also at least one Chinese character for each digit plus characters for hundred, thousand, and ten thousand. A couple of digits have a common character plus a more complex tamper-resistant one used when you want to avoid people changing the values by adding or changing strokes between fairly similar characters. Commented Mar 12, 2013 at 6:24
3

I'm having trouble finding anything about it, but an interesting idea I saw was a 3rd-party keyboard for Android phones (can't remember the name of the application) that worked by combining different parts of letters to form the grapheme. A very simple example would be combining a down stroke with a bottom left stroke to form an 'L', or a down stroke with a backwards downwards curve to form a 'D'.

I have no experience in the area, but I feel that with a proper deconstruction of the graphemes, a keyboard could be created that simply combines the different shapes or characteristics of each character to form the extended alphabet. The learning curve would definitely be steeper than that of a smaller alphabet where each key represents a single character, but with extensive study in the phonology of the language it may be possible to create a mapping that places the parts statistically more likely to be combined closer together.

1
  • Sounds like an interesting application! Commented Aug 21, 2012 at 19:50
3

Whilst any character set is normally limited by the number of bits you use to represent any particular character ~ if every character has to fit in 8 bits, there can only be 256 of them ~ I doubt this was a massive problem in early computing.

Japanese hackers could have just used a subset of Japanese that provided all the characters they needed, which isn't many for a programming language, and used short words or abbreviations to reduce the total number of characters in any file. Alternatively, they could have invented a magic character that switched which character set was being used, adding new, 255-character character sets at very little end cost, assuming those sets were optimised for writing a formal language which was itself optimised to use those sets, avoiding the need to constantly switch set.

I don't think the ls command is shortened due to concerns about system resources; rather it was chosen to reduce the amount of characters a user had to type. Shell languages try to be very easy to enter as they are designed to be used interactively at a command line.

In short, I disagree with the assertions above that suggest that having a large character set made early computing significantly more difficult. The challenges at that time were not significantly lessened by being able to readily type all the characters in your natural language.

It's not true that everyone was working on computing at an even pace until we moved from entering binary to text, and then the people with small alphabets shot ahead.

This is a case where size doesn't matter, much.

1
  • "Alternatively, they could have invented a magic character that switched which character set was being used" - like this?
    – Vikki
    Commented Nov 25, 2021 at 0:41
1

Since Chinese characters consist of limited sets of strokes which are, in turn, united into different combinations, I think this type of writing would not require too extended a keyboard. In fact, the total number of basic strokes is 9.

Instead, the character input could be done just by these signs, so neither a number of keys nor keyboard measurements would cause any difficulty.

What would be a real pain is how to make the strokes appear accordingly in proper order and at proper places of a character, e.g. when we write â or ê in French layout, we first press ^ and then a corresponding vowel sign. The sequence is 'upper element => lower element', but there can be three or more vertical elements within a Chinese character, not mentioning the fact that there are vertical or falling strokes (elements).

In short, imagine a keyboard with a touchpad-like place in the middle, which is a basic place for a character, with nine buttons for basic strokes on the right and four buttons directing the strokes. Or the other way round: left buttons for strokes, right buttons for directions.

By pressing one of the eight zones at the character touchpad, we choose where to print a basic stroke selected, precisinng the direction of the stroke with the directional keys.

The other problemme would be the stroke order, which is different not only in Japanese and Chinese, but in some varieties of Chinese as well.

So, in fact, the Chinese invention would be even simpler. What really would be entirely different is the syntax of programming languages and programming logic (especially in object programming).

Oh, and please remember my five per cent for the idea whenever selling it on the market:-)

0

For roughly the first ten years of computing, until the mid-1960s, computers did not support lower case letters. Until the 1980s, computers didn't really support the full complexity of English writing, with diacritics and curved quotes and different dashes. The first English used with computers was in sets of 48 or 64 character, with uppercase only, digits and a tiny set of symbols.

Arabic has a 28 character alphabet (or abjad, to be pedantic) and Farsi 32. An unconnected version of these would have looked very ugly, but could have been tolerated like upper case English was.

(There's discussion about why it took so long for Arabic to be regularly printed using printing presses, including the cost of producing high-quality Arabic printing. I doubt that would be as much of a limitation for computing.)

While normal Chinese writing has tens of thousands of characters, it is also written in Pinyin, a subset of the English alphabet, and could and probably was used for computers that way. Another alternative would be the locally created Bopomofo (or Zhuyin) script, a 42 character script that, by nature of the grid writing of Chinese, would be easier to support than Latin (since monospaced Latin script doesn't look great, and high-quality printing kerns specific pairs of characters.)

It's hard to say, in a completely different world where China was inventing the first computers without having much contact with Europe and thus no pinyin or bopomofo, how they would have solved their problems; historically, Chinese telegrams were sent using four-digit codes per character, and that would likely have been adapted for early computing.

Early Japanese systems only supported half-width katakana (a 48 character script) alongside ASCII. Without ASCII, it would have probably been full-width. Again, it wouldn't have been optimal, but it would have been done.

The Geʽez script might have reverted to an abjad form and dropped vowels to reduce it to a handable computing size or separated vowel marks from the consonants. Either would have given a reasonably sized collection of characters.

This is all verging on alternate history; in 1950, none of these nations were in a position to start producing computers, unlike the US and to some extent the UK and Russia. But there's no reason to think that if they were in the position of developing the first computers, that trouble in implementing high-quality scripts would have blocked everything else.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.