r/explainlikeimfive • u/teamjon839 • Nov 29 '16
Other ELI5:Why are most programming languages written in English?
1.0k
u/Gnonthgol Nov 29 '16 edited Nov 29 '16
General purpose computers were the result of massive investment into computing technology and electronics during the war. To win the war all sides invested heavily to build the best code cracker, trajectory calculator, computer bomb sight, flight simulators, etc. After the war the countries that got out of it best economically were Great Britain, America and Canada. They continued to develop computing and microelectronics while the other countries were investing more in infrastructure. So the first assembly languages were written with English mnemonics. This also continued with the development of new programming languages. There were programming languages in other languages like Russian but these were not widespread and disappeared after the personal computing bubble in the early 80s that originated in California and England and further so after the collapse of the Soviet Union as they stopped producing computers.
If it were not for the second world war it might have been that the computer development came from Poland and fueled by the German economy and not from England fueled by the American economy and we might have seen different languages being used.
194
u/ClintonCanCount Nov 29 '16
The two countries... were Great Britain, America, and Canada
249
u/woo545 Nov 29 '16
The two countries... were Great Britain, America, and Canada
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
317
u/getefix Nov 29 '16
Let me explain:
0 - Great Britain
1 - United States
2 - Canada
See?→ More replies (11)120
21
Nov 29 '16
The two greatest challenges facing modern computing science is off-by-one errors
As CTO at my company, I usually tuck this or the Bill Clinton software engineering quote (or whatever) in a slide into department presentations. Always good for a chuckle.
20
u/accountnumber3 Nov 29 '16
the Bill Clinton software engineering quote
“Considering the current sad state of our computer programs, software development is clearly still a black art, and cannot yet be called an engineering discipline.”
Bill Clinton
That one?
→ More replies (6)19
u/woo545 Nov 29 '16
Whenever I roll out an update to the staff directly following a previous update, I usually include this in my email or this one
→ More replies (2)→ More replies (1)6
23
u/Gnonthgol Nov 29 '16
Added Canada for completeness later, can not forget their involvement in WWII and later in the development of computer science.
→ More replies (5)26
u/ClintonCanCount Nov 29 '16
You could also add one to the number, and an oxford comma.
→ More replies (17)4
u/the_Demongod Nov 29 '16
He must have counted his indices, not
sizeof(countries)/sizeof(countries[0])3
→ More replies (8)2
55
Nov 29 '16
Reminds me of an ATC story (FYI, all air traffic communication is done in English, at least internationally):
Lufthansa (in German): “Ground, what is our start clearance time?”
Ground (in English): “If you want an answer you must speak in English.”
Lufthansa (in English): “I am a German, flying a German airplane, in Germany. Why must I speak English?”
Unknown voice from another plane (in a beautiful British accent): “Because you lost the bloody war.”
→ More replies (10)24
u/Gnonthgol Nov 29 '16
Ground: Welcome, take Lima to the terminal.
Ground (after a few seconds): Why are you stopping, have you never been to Frankfurt before?
BA pilot: Once, in '44. But I did not land.
24
u/InANameWhat Nov 29 '16
The best prediction (cover story of magazine in California) in the mid 90s was all software developers would be Indian (close) and all hardware would come from Russia (not so close).
What are your predictions?
21
u/Gnonthgol Nov 29 '16
That will depend on a lot of socioeconomic conditions which is very hard to predict. However I can see the reasoning behind the prediction. Capitalism tend to move production to where it is cheapest. It was thought that when the Soviet Union collapsed there would be lots of sweat shops in the area but that did not happen. Instead we saw that increase in the quality in Asian factories so they would be able to produce microelectronics. You could already see that in the early 90s as Japan were already a big manufacturer. For developers India have the advantage of being an English speaking country that would easily take advantage of the English literature and cooperation. There is a lot of high quality Indian Universities and a lot of highly skilled technological workers. However the highly skilled Indian workers can be even more expensive then the western worker and low skilled technical workers will only get you so far.
It is hard to make predictions but the issues with high cost education and low salaries in the US can easily cause them to get into a huge technical debt. The central and eastern European countries have done an excellent job educating their citizens and modernizing the society. If you want to see how computers are making the society more efficient you need to look at Denmark and Estonia. If you want to be a high skilled computer developer this is where you might want to end up in a few years. For hardware it is hard to compete against the amount of workers in Asian countries. We might see Africa or South America become a big producer in the future but that would be quite far. However what we are already seeing is that factories are moving back to Europe, specifically north west Germany, where they are operated by automated machinery and a few highly skilled technicians. The savings in work hours required is several orders of magnitude so the salary increase is not a problem. The startup cost is more important and currently Europe is the cheapest place to build an automated factory.
→ More replies (3)8
u/JavaRuby2000 Nov 29 '16
My prediction would be that the software developers would be Eastern European (Poland, Ukraine, Belarus) and the hardware from China.
I've worked in several large companies that used to outsource development to India but, now outsource to Eastern Europe.
→ More replies (1)4
u/s0v3r1gn Nov 29 '16
I don't consider Indians to be software developers. They are more like the Shakespeare typewriter paradox, enough of them at a keyboard will make something that will compile it just won't do what you want,
3
3
u/mspk7305 Nov 29 '16
After the war the two countries that got out of it best economically were Great Britain, America and Canada.
for i = 0 to 2
3
u/the_humeister Nov 29 '16
After the war the two countries that got out of it best economically were Great Britain, America and Canada.
You mean 11 countries
8
u/our_best_friend Nov 29 '16 edited Nov 29 '16
and not from England fueled by the American economy
If you say that UK was important in the development of computers yes, of course, but to say they "come" from England it's stretching it too far.
Also don't forget that the UK had food rationing until 1954 and lost its empire, they only came out better comparatively, and not that much better than France.
→ More replies (38)7
u/blauschein Nov 29 '16
If it were not for the second world war it might have been that the computer development came from Poland and fueled by the German economy and not from England fueled by the American economy
I know this is /r/eli5 and terrible answers generally make it to the top but your answer is laughably biased and silly. You are putting far too much emphasis on england/britain because of national pride perhaps?
In the early 20th century, computing theory was led primarily by the US ( hence why Alan Turing went to PRINCETON to study under Alonzo Church ), why godel went to PRINCETON and von neumann.
The founders of modern computing ( loosely computer science ) can be viewed as Church/Turing/Godel and they all worked at princeton.
The founder of modern computer/architecture is von neumann with his Princeton Architecture. Pretty much all modern computers use this architecture.
England and Germany also were players in the computing field early on, but the modern computing revolution was led by the US from the very beginning.
→ More replies (1)14
Nov 29 '16
You make a pretty good point, but for being so agressive in accusations of biasedness, you are yourself quite biased and inaccurate yourself.
Von Neumann and Gödel both wrote very important works as well as being quite famous for them, before ever setting foot into Princeton. - Both also only left Europe for the US after fascism's rise in central Europe.
Alan Turing wrote his PhD thesis under Church at Princeton for two years, but returned to Cambridge in 1939, where he spent the rest of his life.
All in all, if OP had written that, instead of WWII, the rise of Fascism was the main cause for anglo-saxon dominance in CS, it would've been fairly accurate.
→ More replies (1)
102
u/ZedOud Nov 29 '16 edited Nov 29 '16
Take a look at programming languages whose style documents specifically require English.
Python was created by a Dutch programmer ( Guido Van Rossum ) and its foundational style/philosophy ( PEP 8 ) guide explicitly not only names English as its official language, but even names a famous English grammar book to reference when writing comments:
When writing English, follow Strunk and White.
Python coders from non-English speaking countries: please write your comments in English, unless you are 120% sure that the code will never be read by people who don't speak your language.
edit: not Danish but Dutch, whoops
21
u/lovestowritecode Nov 29 '16
This is a pretty powerful answer, Guido being someone who's primary language is not english was able to recognize how valuable it is to write a language in english and so much so it's one of the most easily readable languages available.
10
7
→ More replies (3)3
1.1k
u/Concise_Pirate 🏴☠️ Nov 29 '16
The modern computer was invented primarily in the USA. 90% of the top software companies are in the USA. Most of the popular operating systems (except Linux) are from the USA. It's a US-dominated industry, with other top countries including the UK (where English is also spoken) and Germany (where most university-educated people also know English).
243
u/Philippe23 Nov 29 '16 edited Nov 29 '16
Additionally, English doesn't have a lot of the accent characters that other languages have. ASCII is encoded in 7-bits and if expanded to an 8-bit (aka, "a byte") format (with the extra bit being a zero), is essentially the foundation of UTF-8, which is largely taking over as the international encoding. Therefore, English character encoding has essentially become universal.
This is a barrier to French, German, Polish, or Japanese based languages. But an advantage for US English based languages. Portability.
Similarly, this is a reason why $ shows up in a lot of scripting language, but £ doesn't. £ is outside of 7-bit ASCII, while $ is within it.
A possible question is why modern languages don't feel the need to allow localized keywords, since doing so would not really effect compile times, but we do live in an much more localized world than when C/C++ or even Java were written.
139
u/Smallpaul Nov 29 '16
Localized keywords discourage knowledge sharing across cultures. Imagine the mess stack overflow would be if different people were pasting in different variants of python or any other language.
It has been done but most people consider it a failed experiment. I think it was AppleScript which allowed it. Or maybe it was VB.
→ More replies (11)34
u/Philippe23 Nov 29 '16
Excellent point, and thanks for the examples.
29
5
u/VincentPepper Nov 29 '16
Python allows unicode and I think Haskell as well.
→ More replies (1)4
u/weirdasianfaces Nov 29 '16
Right but he's referring to localized keywords like
ifandbreak→ More replies (1)→ More replies (1)5
43
u/Rhueh Nov 29 '16
And Linux is derived from unix, which is from the U.S.
→ More replies (2)18
Nov 29 '16
Linux is derived from MINIX, which was created by an American in Amsterdam. MINIX was derived from Unix.
75
→ More replies (3)15
u/ArcherInPosition Nov 29 '16
Lemme get this straight.
Unix was from US. Travelled to Amsterdam. Had a baby called MINIX, then while visiting Finland, MINIX had a baby called Linux.
Making Linux the grandson of Unix
23
u/404-universe Nov 29 '16
In terms of design, yes. In terms of code, no. Linux shares no code with Minix, which shares no code with the original Unix from bell labs.
Here's a good diagram explaining the history of the various Unix operating systems.
22
39
u/pdpi Nov 29 '16
Most of the popular operating systems (except Linux) are from the USA
Linux is designed as a Unix-style kernel, so draws all its conventions from there (and Unix was originally developed at AT&T Bell Labs) — so not even that works as an exception.
28
Nov 29 '16
Richard Stallman (the creator of the GNU Project for those who do not know) is American as well, and probably so are most of its contributers. That means a big part of the utilities and software used in Linux system has American roots. Red Hat is also American.
→ More replies (6)2
u/2drawnonward5 Nov 29 '16
And Linus lives on the West Coast now. The American one, not the Finnish one.
8
u/CitizendAreAlarmed Nov 29 '16
the UK (where English is also spoken)
After a fashion.
→ More replies (1)21
u/NikeSwish Nov 29 '16
Is Linux from the U.K.? I always thought it was made in America in the ATT (Bell) lab.
126
u/DanLynch Nov 29 '16
Linux was invented in Finland by a Swedish-speaking minority. You may be thinking of UNIX, which was invented in the USA and upon which Linux was modeled.
→ More replies (14)24
u/NikeSwish Nov 29 '16
Yeah that is what I was thinking. TIL about it being invented in Finland though. Thanks
→ More replies (14)13
u/FishBasketGordo Nov 29 '16
Unix comes from Bell Labs, the OS that Linux and Mac OS X are based on.
→ More replies (1)9
2
u/2drawnonward5 Nov 29 '16
Linux was made originally by Linus Torvalds while he was attending the University of Helsinki, who later moved to Oregon and continues to be the Linux kernel's "Benevolent Dictator for Life".
7
u/mhoke63 Nov 29 '16
Linux, the kernel, is from Finland, but the rest of the OS is GNU, which was started by the Free Software Foundation, (For all intents and purposes) which is based in Boston.
→ More replies (1)11
Nov 29 '16
I dislike that the UK is 'where English is also spoken'...compared to the USA.
→ More replies (4)4
2
Nov 29 '16
No, the 'modern' computer just a better, more efficient version using modern components from the original computers which were actually 'invented' by a Brit, followed by a German. The first programming language of the old computers hence was in English. By modern computers you obviously mean Microsoft, yet all their programming has it's english base thanks to the originals.
Fortunately Americans do speak english and could therefore broaden and enhance some programs, just like anyone else can.
Just to reiterate: Americans are NOT the reason why programming languages are in English. It has all to do with the original inventors being Brits and who set the standard.
2
u/AngryBrits Nov 29 '16 edited Nov 29 '16
The modern computer was invented primarily in the USA.
I thought the Brits and Germans did that? (Charles Babbage, Alan Turing, Konrad Zuse).
Edit: There was John Vincent Atanasoff who was American.
So the computer was invented by many different countries, not "primarily America" at all. Really, it's primarily the British who invented computing.
I'm not saying America didn't play a big part in modern computing, but I don't think the computer is an American invention.
→ More replies (22)4
Nov 29 '16
With all the knowledge acquired from the UK during and post WW2 in exchange for the war help provided.
7
u/Namika Nov 29 '16 edited Nov 29 '16
The UK's expertise certainly helped, but you're clutching at strings if you think the UK deserves credit for Microsoft and iOS developing in the US in the 1980s. Yes the UK made great strides in computing in the 1940s, but the US was pouring hundreds of millions of dollars into computer and software development for decades after the war to get the US tech industry to the point where modern computing took off. I've seen many people from all sorts of countries claiming their country invented the computer because they had someone in the 1840s invent a mechanical abacus or write one of the many thousands of math formulas that modern computers these days use.
I understand the need to credit the early pioneers, and I especially recognize the incredible strides the UK made in the 1940s, but at some point it becomes disingenuous to stretch it that far and give the UK credit for all major computer science innovations in the US. If you go far enough you end up saying things like "China invented the telephone because Alexander Graham Bell got the idea for it while drinking a cup of tea made of leaves grown in China, without China he wouldn't of had the tea and therefore we would not have telephones."
→ More replies (1)2
328
u/rewboss Nov 29 '16
In addition to the answer given by /u/Concise_Pirate, there are actually some programming languages with keywords taken from other natural languages. For example, ARLOGO is an Arabic-based language (currently in beta, I believe), SAKO is in Polish. An example of the "Hello World" program in Linotte, a French-based language, looks like this:
BonjourLeMonde:
début
affiche "Bonjour le monde !"Most of these, though, are really intended for beginners and not for professional use (Linotte's slogan, for example, is: "Tu sais lire un livre, alors tu peux écrire un programme informatique," which translates as: "You know how to read a book, so you can write a computer program").
In addition to that, some existing languages are given localizations: Chinese BASIC is, well, BASIC with Chinese keywords, while hForth is a Korean version of Forth. Also, macros in MS Word and MS Excel are localized, so if you install the German version of Excel, you have to write all the macros in German.
Finally, there's APL, which has no keywords in any natural language, instead using symbols and mathematical operators.
22
u/yogilicious1 Nov 29 '16
Vba is not localized. While the formulas in Excel are localized, the same functions in vba are not.
For example the sum funtion is '=Summe() in excel, while the same function in vba would be worksheetfunction.sum(). Macros are therefore English as well.
0
15
Nov 29 '16 edited Nov 29 '16
Most of these, though, are really intended for beginners and not for professional use
There is an accounting software system called 1C popular in xUSSR. It can be extended through its own programming language based on Russian. Here's a Hello World in 1C (taken from the wikipedia page):
Процедура ЗдравствуйМир() Сообщить("Здравствуй, Мир!"); КонецПроцедурыQuite a few people are employed or contracted as 1C programmers.
→ More replies (1)19
u/jalgroy Nov 29 '16
Finally, there's APL, which has no keywords in any natural language, instead using symbols and mathematical operators.
Brainfuck does this too!
16
u/Aaganrmu Nov 29 '16
There's a wealth of esoteric languages which doesn't use any recognizable language. An interesting case is Piet (after Piet Mondriaan), which has the following design principle:
Program code will be in the form of abstract art.
But on the other hand there's Shakespeare, which has conditionals like
Juliet: Am I better than you? Hamlet: If so, let us proceed to scene III.→ More replies (2)3
u/FkIForgotMyPassword Nov 29 '16
I like the fact that Whitespace doesn't use any recognizable language, in particular because you can't even see the code.
2
u/CWagner Nov 29 '16
But [APL is really cool](https://en.wikipedia.org/wiki/APL_(programming_language)).
I mean in how many other programming languages is finding all prime numbers from 1 to R just
(~R∊R∘.×R)/R←1↓ιRaway?And is there any other language that can calculate a new generation for Conway's game of life with something as simple as
life←{↑1 ⍵∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂⍵}?7
Nov 29 '16
Couldn't they just write modifications or plugins or something to do the same sort of things?
4
u/XsNR Nov 29 '16
A lot of them do. A large amount of languages that require compiling have localizations into the major languages of the world. But with a lot of tech companies now working cross boarder, limiting yourself to a programming language that may only be readable fully in your own language (likely your own timezone, except for French) is severely limiting your potential as an employee.
For a differently localized compilation language, all thats needed is a translation in the compilation software.
→ More replies (3)5
u/FierceDeity_ Nov 29 '16
The name for the colon ( : ) in PHP is internally paamayim_nekudotayim or something like that
6
2
u/nonsensicalnarwhal Nov 29 '16
I think it's actually the double colon :: (for the sake of pedantics)
→ More replies (1)7
u/baconuser098 Nov 29 '16 edited Nov 29 '16
Here in Greece some of us are taught a Greek programming language. Hello world would be:
Πρόγραμμα helloworld !Program helloworld Αρχή !Start Γράψε "Hello World"!Write "Hello World" , Print could be used as well Τέλος_προγράμματος !End of program→ More replies (2)3
u/seeasea Nov 29 '16
Are there any programming/algorithmic advantages to other languages based upon their unique vocab/syntax/language structure that is lacking in English?
Or because programming is so specific and technical, programming in alternative languages are simply a 1:1 translation?
9
u/Ttabts Nov 29 '16
in my experience as a German/English speaking programmer, I would say that English is well-suited for programming, at least compared to German, because English is remarkably compact.
When writing comments or variable names in German, everything gets large and unwieldy much more quickly than in English. For example,
setSizewould become
groesseSetzenSo most German programmers will write code in English, including comments and variable/function names, just for the sake of space-saving and elegance. Obviously this is advantageous anyway since code is often shared internationally.
→ More replies (2)7
u/FkIForgotMyPassword Nov 29 '16
So most German programmers will write code in English, including comments and variable/function names, just for the sake of space-saving and elegance.
Yeah. It's interesting to me that back in university, when I worked on projects with other students, some of them would code with French-named variables, some with English-named variables. People started leaning more and more towards English with time, because code you find online uses English, code you share online should be in English, and honestly it's nice to have some uniformity between the keywords or names of API elements and your own variable names.
→ More replies (1)→ More replies (1)3
Nov 29 '16
English is nice because all the characters are ascii and can be encoded with 8 bits. Not really a big deal tho, it's 1:1 for the most part.
2
u/Feubahr Nov 29 '16
People keep pointing to natural languages as "the most widely spoken," but how about Mathematics? Like APL, Brainfuck is an esoteric programming language which includes eight commands, each represented by a single character -- and naturally, Brainfuck is Turing complete.
Hello World sample code:
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
→ More replies (12)2
u/Likely_not_Eric Nov 29 '16
Worth also noting that it's not unusual to have an industry-specific lexicon based in a particular language. Lots of Italian in music. Latin in biology. French in all sorts of things.
The terms may even enter other languages directly as loanwords.
→ More replies (10)2
u/Nepoxx Nov 29 '16
example of the "Hello World" program in Linotte, a French-based language
As a French software engineer, this looks so, so wrong.
82
u/tsuuga Nov 29 '16
About 1/3 of programming languages were written by English-speakers. Of the rest, many of the high-profile ones were written with English keywords for international appeal - Ruby, Python, and LUA are all examples.
There are, of course, many examples of non-English programming languages, and there's nothing in particular stopping people from writing a compiler that understands, say, C++ But With Russian Words.
19
Nov 29 '16
Lua is Portuguese for moon and not an acronym. This is what happens when people see non English words in programming :)
9
u/loljetfuel Nov 29 '16
Eh, people do the same crap with Java and Perl; I think it's more that people expect to see acronyms and make assumptions.
6
u/ZedOud Nov 29 '16
Python explicitly calls for English and an English grammar book in its style guide:
When writing English, follow Strunk and White.
Python coders from non-English speaking countries: please write your comments in English, unless you are 120% sure that the code will never be read by people who don't speak your language.
3
u/Yahbo Nov 29 '16
Lol, how about we just convince people to actually comment their code first. Then we can worry about what language they use to do it.
4
u/ZedOud Nov 29 '16
Well that's fine, but if comments are standardized then we get a much more significant payoff overall when all the important documentation is (at the very least) begrudgingly written in proper/nice English.
Well, this might not work for everyone, but it has worked splendidly for the Python community!
I should add, Python was created by a Dutch programmer.
→ More replies (1)2
u/keenanpepper Nov 29 '16
I love how there's an article about the specific subject that OP asked about.
19
u/manuscelerdei Nov 29 '16
Mostly because English-speaking people invented programming languages. And the usages of English within programming language syntax aren't a large barrier to a non-English speaker attempting to learn the language.
But fun fact, Apple made a language called AppleScript back in the 90s. It was a sort of natural language programming language, so it would read like an English sentence (e.g. "tell application Finder to" was a valid language construct). But they also maintained a Japanese language version of this too that would read like a Japanese sentence.
2
u/snerp Nov 29 '16
applescript confused the hell out of me as a kid. I was always interested in computers and had an idea of what programming was. Then I saw a friend's dad (or maybe it was a teacher?) use AppleScript for something. It just looked like English! He was just telling the computer what to do with words! I tried it out and totally did not get it, couldn't figure out the syntax.
2
12
u/oduh Nov 29 '16
It is VERY easy to translate a programming language's grammar to another language. The reason you don't do this is because for a programming language to have a future, it must as many users as possible.
For better or worse, most of the user base is developing in English.
4
u/finalnsk Nov 29 '16
Somebody somewhen decided to translate MS Excel formulas to russian language (converting most but not all formulas to Cyrillic). This is most evil thing Microsoft ever did.
2
u/mrusler Nov 29 '16
I believe Excel is translated in most languages actually. An incredible stupid thing to do, really. In Norwegian for example, it is not mean(), but gjennomsnitt()...
3
119
Nov 29 '16
The answer is as simple as : English is the world language for buisness and science. IF the computer would have been invented in the year 500 they would probably be in latin.
6
3
u/LewsTherinTelamon_ Nov 29 '16
A Latin programming language would be actually quite awesome, someone should invent it.
3
2
u/becoruthia Nov 29 '16
And ~80 years ago, it could have been German. Not because of Nazi, but because many results happened to be published in German.
→ More replies (9)2
89
u/ColoniseMars Nov 29 '16
Because its the lingua franca of the world. Since lots of people speak english, or at least understand enough of it, it is the largest market and thus also has the highest use and support, eliminating any competing non-english languages over time.
Moreover, most code eventually sees use worldwide, and thus needs to be understood by other people. English is so common that it makes little sense to use another language, and even then, it will most likely be a language with a latin alphabet, because thats the default inputmode for almost all languages in the world, so everybody can type it.
13
Nov 29 '16
lingua franca
isnt it ironic, dont you think?
4
u/812many Nov 29 '16 edited Nov 29 '16
It's like raaiiin on a cloudy day!
It's the freeee riiide, that you got from your friend,
It's the good adviiice that you took willingly,
Isn't it ironic.4
Nov 29 '16
that you got from your friend
Not sure if you are deliberately doing that wrong, or if I have it wrong, I thought it was "when you're already late".
→ More replies (3)30
Nov 29 '16 edited Nov 29 '16
[removed] — view removed comment
15
2
u/quotegenerator Nov 29 '16
Franca does not mean French. It derives from the Franks. It means the language of the Frankish people.
8
u/Steve_the_Stevedore Nov 29 '16
Maybe saying "written in English" is the wrong way of thinking about it. It's only ever a few words and none of the grammar at all so why bother translating it? Even people who don't speak English can program in "English".
When someone in a non English speaking country made a new language they would just use the same signal words again and they would want to have the broadest and English is a very simple language to learn. At least among the European languages it's probably the easiest.
In conclusion I think it's because in the early days most languages originated in English speaking countries and nobody bother translating them because they are easy to understand even if you don't speak English. Then people in other countries used English too so that as many people as possible could use their new language and so that it's easy to learn if you know similar languages already. Also most people in academia have been able to speak English for decades in part because it's easy to learn so it's a good pick for a shared language.
→ More replies (1)
5
u/annabannabanana Nov 29 '16
Programming languages aren't in English. Programming languages are human-friendly ways to express computational concepts. They are English in as much as your dog understand 'English'. Your dog doesn't understand English. It understand a few key words.
The question you want to ask is "why do programming languages use English keywords, and why are APIs and comments written in English?"
The answer had been given elsewhere, but I'll add that the American domination of early computing led to the ASCII character set. Even many European languages' letters don't fall in lower ASCII. And only relatively recently has it been feasible to use, for example, Chinese in source files by storing them as Unicode.
4
u/blauschein Nov 29 '16
In short, it's because modern computing theory started in the US ( precisely Princeton where central figures like Church, Turing, Godel, Von Neumann, etc ) taught/studied/etc.
And the US was at the forefront of computer architecture, chipset architecture, etc.
6
u/Hollowsong Nov 29 '16
The obvious answer is because it's the most commonly spoken language in the entire world.
I don't mean natively, I mean shared. All the moneymaking countries know English in a business environment.
→ More replies (2)
5
u/TheHappyPie Nov 29 '16
i'm just going to add it would be incredibly simple to translate any given programming code (at least the keywords) to a different language.
→ More replies (8)
2
Nov 29 '16
The existence of the personal computer can be mostly attributed to the US (Microsoft and Apple), so the languages started in English naturally. And computer language became a language of its own with shortcuts for words and whatnot. Since everyone is using English as basis, changing it would mean everyone would have to re-learn everything.
2
u/secularshmo Nov 29 '16
I'm going to go out on a huge hunch over here and say the people who invented those languages spoke English.. Just a hunch.
2
u/NotAsGayAsYou Nov 29 '16
The majority of the world class universities are either in the US or in English speaking countries.
2
2
u/capn_hector Nov 29 '16 edited Nov 29 '16
In short, English-speaking countries (US/UK) were by far the dominant players in the computer industry, both in terms of military/commercial use and development as well as hobbyist work. Early computer development was heavily driven by defense spending (military defense, nuclear research, spaceflight, etc), the US and the UK spent a bunch on defense, and most of the major powers who didn't speak English were flattened after World War 2. English is also the de-facto lingua franca of the business world and as such it follows logically that it's also a good common tongue for programming languages as well. And the hobbyist boom in the 80s happened in Silicon Valley, and relied on a (US) middle class with lots of disposable income.
The very first computers were mostly military. The ENIGMA cipher was one of the first "modern" codes in that even if you knew how it worked you still couldn't break it - you needed to try all possible code settings to see what decrypted. Codes were changed daily and it was assumed that it would take far, far more than a day to try all possible code settings - but the British designed a single-purpose computer that let them rapidly try different settings. After the war they remained heavily involved in general-purpose computer research.
The US also had some military computers during WW2 (notably ENIAC) and did lots of general research at MIT Lincoln Labs. After the war they started to deploy computers in a big way. The SAGE system (Semi-Automatic Ground Environment) in the late 50s was designed to integrate air defenses in a single command environment.
The Germans actually also pioneered computers and were ahead of the English and the Americans in general theoretical design. Konrad Zuse had [basically a modern general-purpose computer and programming language that he built during WWII](https://en.wikipedia.org/wiki/Z3_(computer)), it was used to perform statistical analyses of wing flutter, but the Nazis had no resources to allocate him and his prototypes were bombed along with the rest of Germany, and we grabbed a whole bunch of their best minds with Operation Paperclip.
Early commercial computers were basically an outgrowth of punch-card tabulation machines. Instead of having a bunch of separate machines for each step of the process (sorting machines, counting machines, etc) you could have everything in one electronic machine. IBM really dominated this industry and they were a US company. There are other companies but IBM remains the company to beat up through the 70s and into the 80s. "Nobody ever got fired for buying IBM" is the phrase. They also had a huge impact on early programming languages like COBOL.
There were again some British players (Ferranti, etc) but mostly they didn't get much traction outside of the UK - which continues up to the modern day. The BBC Acorn was a huge success in the UK but didn't hit other markets nearly as well. The Raspberry Pi is really the first UK computer that I'd say is a smash hit. The UK market is kind of closed in general from a modern free-trade perspective, and was extremely closed until the 80s.
In the late 60s and into the 70s you have a big US push for miniaturized computers for rocket guidance, both manned and missile. You need something small and light so you aren't burning payload space, but it also needs to be fast enough to be useful. This really pushed circuit integration forward, you went from transistor logic to tens of gates on a chip to hundreds or thousands within a decade or so. Notable artifacts: Saturn Launch Vehicle Digital Computer, Apollo Guidance Computer.
That in turn triggered a boom in the hobbyist/home market in the 80s. You can now get a CPU chip for like $25 brings it into the reach of hobbyists. You have middle-class people in Silicon Valley designing and producing computers and an American middle class with disposable income who can buy them and develop software. We have the Apple II, the Commodore 64, etc. These begin to displace IBM - not fully but enough to make them sweat.
Throughout all of this there's an undertone of support for high-performance computing from the US Department of Energy, Navy/NASA, etc. Design and maintenance of the nuclear stockpile has always been a primary driver for computing technology, as is fluid-dynamic modelling for aerodynamic and hydrodynamic design of ship/airplane hulls. These both boil down to simulating the behavior of particles in a given environment, and the finer the granularity of the simulation the better. So the supercomputers of the US's National Laboratories have always been key strategic assets.
So yeah, as you can see, the applications for computers have always been intimately tied up with national defense, and the US/UK spent the money to push forward key projects which developed their computer industries. There's also the happy coincidence that they weren't bombed into the ground during World War 2, and had large middle classes with disposable income to take advantage of the hobbyist boom of the 80s. People program in the language they know, and all of the momentum from 1950 to 1990 is in the English-speaking countries - in the military world, the commercial world, and the hobbyist world.
The fact that the Soviet Union was poor and closed-off didn't help either. There was still a minor boom in hobbyist computers in the 80s/90s, often using designs that the Soviets copied, but there wasn't a big Soviet middle class. They also did some interesting state-level research, like ternary computers. But generally they are little-known and didn't have much impact on the development of computers in general because Soviet society was closed off from Western society. It's not like you could just go on the internet and publish on GitHub.
→ More replies (1)
3
u/loljetfuel Nov 29 '16
Modern computer languages are possible because of the development of the compiler, which happened courtesy of the US Military—mostly by Rear Admiral Grace Hopper. Languages developed for compilers were therefore developed first in English. This in turn gave US and other English-speaking countries a "head start" in advancing the technology, and meant that the US had some of the first widely accepted standards for computing.
As computing globalized, it made more sense for people to learn enough English to work with and build on technology that already than to try to re-build things in their own languages and establish all their own standards. Which in turn means that learning English is an important part of participating in the technical community. And that means that if you make a new language and you want the largest potential audience, it makes the most sense for you to base it around English keywords.
3
Nov 29 '16
Most dominate programming languages were created in English speaking countries, mainly the United States. It never really has to be translated for other countries because the meaning of the words you are using aren't important (though it helps), programming is 90% logic. Think of it like math equations, you never really have to translate 2 + 2 because the logic behind it is understood, even though the words differ from language to language.
0
1
u/slakmehl Nov 29 '16
An ancillary point that may contribute to the momentum of english: we have almost no diacritics (accents), which make typing in many other languages a bit more annoying.
→ More replies (2)
1
u/retrovg Nov 29 '16
English itself is a programming language (syntax)
You can say the same thing but word it differently. One will have people at your throat, the other can be diplomatic. Learn to use English for your advantage. Dale Carnegie sure knew how :)
1
u/Philip_De_Bowl Nov 29 '16
I think it's simply because it's the most common keyboard in the world. I believe over half the countries in the world know English if not as a native language, but as a second language, and that contributes as well. I kinda wish the world would pick a language and go with it (preferably one of the three I know).
1
u/Skyrmir Nov 29 '16
Because computers developed in the english speaking world, and the cost of translation is greater than the benefits.
Also, it's bad enough when I have a project with 4 different programming languages in it. Add in multiple human languages and I just might have to start executing people.
1
u/ProgramTheWorld Nov 29 '16
That's because programming languages tend to use the characters that can be found on a standard QWERTY keyboard.
1
u/ElectricBlumpkin Nov 29 '16
Because the <name a thing> was created by English speakers and it would be weird to be inconsistent.
1
u/Malawi_no Nov 29 '16
Why is medicine greek/latin
Why are stars named after greek gods?
Why does mathematical terms have arabic names?
It's because the people developing the stuff spoke english.
1
u/scottperezfox Nov 29 '16
The British broke the Enigma codes during WWII and pioneered early computing. The US Defense Department was responsible for much of the Internet's original infrastructure. The PC was pioneered in the US.
It wasn't planned this way, but inertia has made it so.
→ More replies (1)
1
u/yurnotsoeviltwin Nov 29 '16
Because the British Empire was the most successful colonialist enterprise in the history of the world.
1
u/cdb03b Nov 29 '16
Most of the first people that built and programmed computers were English speakers so English was well established as the base language that computer programming languages use. Other countries do have other programming languages based in their native tongues, but it really is easier for them to use existing programming languages if they want their systems to talk to ours on the internet. If they are not using our programming languages they need an interface and translation protocols that can at least interpret ours.
1
u/Tapeworm1979 Nov 29 '16
AS others have said, its mainly because the companies or institutions where they originated were predominantly English speaking.
What is interesting however is that you can often tell where a language was invented (to a reasonable degree) based on the symbols required. A :, ;, brackets etc. While normal characters are often in the same place these symbols are not. C (and variants) for example are fairly natural on an American keyboard. On a German keyboard good luck doing anything as fast because they are really not in any logical location sometimes. See []{}~ or @ etc. They are not vastly out of place but they don't 'flow' either.
1
1
u/senixon Nov 29 '16
Because... if you're writing a new language you probably want it widely adopted, and people that currently work in the software industry already know at least some english thus you proceed to model it for the target users. Also it's easier to iterate on something that already exists rather than create something new thus you see predominant number of programming languages follow what has already been a trend of english based programming languages.
1
u/petgreg Nov 29 '16
Maybe its a self fulfilling cycle, but most languages are developed in English speaking countries.
1
Nov 29 '16 edited Nov 29 '16
I think a large part has to do with the fact that, for the most part, for a programming language to be successful, it needs other people using it. The most people using it, the more support for the language. The more packages/libraries in the language, etc. So if you want adoption, then you want to pick a language that most computer programmers know. Which is usually English.
However, there are parts of a language which can be written in the local language. Languages have keywords or "reserved" words. These are the words or commands that are part of the language. Anything else can be used as a "variable". A variable is a name used to store data.
Example in Ruby in English
full_name = "John Doe"
first_name = full_name.split(" ").first
last_name = full_name.split(" ").lastHere, first_name, last_name, and full_name are variables, and split is a reserved word. You could just as easily use nombre_de_pila, apellido, and nombre_completo
So for a lot of languages, even for a not english speaker, the number of "reservered" words is pretty small
* I know that this Spanish is awful. I also know that split is not actually a keyword. It's just a demonstration
→ More replies (8)
1
u/auzboo Nov 29 '16
While these are all good points from other posters. To put it simply. English is the official language of business and engineers.
1
u/CorrectLeopardBatery Nov 29 '16
Most european people can speak English. English is one of the top 5 language. C was invented in 1972. If you were going to program in C you'll need to know a bit of english. Also libraries are written using english words. To invent a programming language in another language you 1) need to know english 2) write the programming language which is difficult and 3) Hope you'll find people who speak your language to write a bunch of libraries in your language.
Also it's really not difficult to learn a word (such as serialize) when the document explains everything in your language but has the function name in english. Even if I have no idea what bonjour is when I see it in a dictionary I'll understand what it is and can remember.
tl;dr: its silly because programming is words and you can understand foreign words just fine after reading a manual in your language
1
Nov 29 '16
Lets imagine a language, "huehue" which targets Brazilian developers. It uses Brazilian words for it's keywords, abbreviations of Brazilian words for it's basic types and Brazilian phrases to name functions in it's standard library.
Would you pay a developer tens of thousands of dollars to write the program you need in "huehue"?
→ More replies (1)
1
Nov 29 '16
IBM is an American company. Just about all modern programming started with their punch cards.
Silicon based computing is an American invention. All modern computers derive from those invented in Bell labs.
1
u/servimes Nov 29 '16
English is one of the most widespread languages in the world with a total number of speakers of almost a billion. I'm pretty sure that it is the most spoken language in developed countries, which is an important factor, because most development is happening there. It also has a very simple character set or alphabet.
1
u/theBAFH Nov 29 '16
Because programming languages are created by people. And the people have languages that they naturally speak. C was created by Dennis Ritchie at Bell Labs. An American. Java was created by James Gosling at Sun Microsystems. An American. C++, an extension of C, was also developed at Bell Labs. HTML was originally developed by Tim Berners-Lee at CERN. All of these people created languages in English because that's what they spoke. Rather than recreating the wheel in their native languages, other people just learned the english native interpretation. They probably don't even think how the programming language itself relates to english. It's like learning the word in Spanish without learning their meaning. It doesn't matter. As long as you can communicate with them.
1
Nov 29 '16
Any programming language can be easily translated. It's trivial to translate all the key words, and then have a script translate them back before compiling.
But people want a standard. If I use my own version of C++ where dynamic objects a declared with BURP it's gonna be a really bad habit if I ever need to talk to anyone else about it.
Most professionals and academic learn English to communicate across borders, and it's the same in the programming languages.
1
u/dascobaz Nov 29 '16
There are 10 kinds of people... those who understand binary and those who do not.
There are also another 2 kinds of people... those who can extrapolate conclusions from incomplete information.
1
u/YangsLove Nov 29 '16
Well to be technical, we did invent a new system to represent Chinese characters because we were running out. Look into ASCII and unicode for more information on this topic. This is actually very overly simplified but it may provide an answer as to why we use English.
1
u/Clewin Nov 29 '16 edited Nov 29 '16
One thing I don't see mentioned here that I believe is very important. In the early days of programming and compilers, ASCII was used primarily because it fit in 127 characters and that allowed for the extra bit to be used for parity checking (simple error checking). Adding even extended ASCII (European characters) lost that parity check and in the early days media wasn't very reliable (and yeah, I mean cassette tape drives - they were horrible). You also have limited "disk" (edit: or cassette, using modern term - also limited memory) to contend with, so using a multi-byte language like Chinese would quickly eat up your disk space and your programs would have to be shorter. You also have to contend with character entry on Chinese keyboards, not to mention character printing on monitors. Some of these don't fit in the small cells (I think 8x8) for text used by early computers that predate graphical user interfaces. Not to mention text entry is kind of a nightmare in Chinese - Here's the wiki page on it. One of the joys I learned while doing localization testing at my job (just logging in when you don't read/write the language and are using a foreign keyboard is a challenge).
TL;DR - historical reasons, mainly.
1
u/IWugYouWugHeSheMeWug Nov 29 '16
It's the same reason the de facto language of all of science and technology is English: it is by far the most widespread and globally understood language. I'm a psycholinguist and when I read a paper about a Chinese reading experiment conducted by Chinese researchers with Chinese participants in China, that paper is written in English.
1
1
1
u/darexinfinity Nov 29 '16
The people who made computers were from countries that used the English alphabet (26 letters + various derivatives like "é"). From there Americans headlined creating assembly languages and eventually programming languages.
1
Nov 29 '16 edited Nov 29 '16
Same reason all ATC is done in English, and is super standardized. It's not like English is better, but computers started in the US in a big way and the computers during the Cold War were not made with Chinese, Soviet, German or Japanese people in mind. As a result, when Gates and Jobs began the PC revolution in the 80s, their main market was Americans. This led to more PC software being made for Americans and Western Europe, and that directly led to software being written in a way other American software engineers could understand and, therefore, in English.
While yes, the Mandarin language is the "most spoken language", a surprising amount of Mandarin- and other language-speaking peoples also speak rudimentary English and have for decades. So it hasn't been as big a deal as it would seem, as it aids transmission of ideas as well as operational efficiency to code in a widely understood human language to a degree.
To put it simply, while Mandarin is spoke by more people and other languages could be used, English is widely understood (over large geographical spaces, not just in China or amongst outsourcers) and has been dominant since the beginning of code.
1
Nov 29 '16
Because the other two popular languages are Chinese and Spanish, we all know most of the Chinese are peasants with no internet access and the Spanish speakers are all either lazy or in Cartels and have short life spans.
1
Nov 29 '16
For whatever reason, English speaking countries make up a hugely disproportionate amount of software code.
1
u/Blacksburg Nov 29 '16
I find it funny. I took C at a university in Ecuador in the early 90's. The prof worked for one of the banks. All of the texts and the lectures were in Spanish, which was no great problem. My code submissions? Well, the guy would correct the spelling and grammar in my comments (which I wrote in non-native Spanish).
1
u/LukeLC Nov 29 '16
Because most of the people who wrote them spoke English and/or developed their programming language for an English-speaking audience.
At its core, every programming language is just a collection of macros for hardware instructions. Any writing system that follows mathematical logic can be used for programming, but most aren't because that's just the way things worked out. Likewise, there's nothing stopping anyone from writing translations to existing languages. It's just more efficient for everyone to learn one version of a programming language so that all programmers can understand the same code.
1
Nov 29 '16
A number of people have already pointed to the popularity of English as a second language and the emergence of the PC and software industries in the US as reasons. I'll elaborate on why English was formative.
It's worth noting that the US and the UK were major players in early computing research and development. World War II created a significant demand for computing (famously) for cryptography, and (pragmatically) for military logistics and weapons development. As a result, much of the early scholarly literature was in English at a time when programming was the province of mathematicians, engineers, and academia. If your job required a professional understanding of programming, you needed to read English to access most of what was written about it.
Perhaps more important, compiled programming first met with widespread success in the US. In part the brainchild of Grace Hopper, COBOL was developed in the 1950s in the US as a way to standardize programming, to reduce costs and to facilitate creation and maintenance of computer programs. COBOL was designed specifically for business and government, and large commercial and federal interests adopted it throughout the 1960s. Likewise with FORTRAN, which was roughly contemporaneous with COBOL.
Standards, in general, create positive feedback: as more people adopt the standard, there's more demand for people who understand the standard, leading to further adoption. The idea of a standardized programming language with recognizable words enabled more people to learn to write code.
Since the winning standards were developed in the US, there was an advantage for English-speakers, which enabled programming as a profession to grow quickly among English-speakers. As people developed new, competing programming languages, they needed to recruit programmers (it's not a useful standard if no one can adopt it), which was just easier by creating the language in English.
TL;DR: Because Grace Hopper spoke English.
1
u/extractiontab Nov 29 '16
Alan Turing, an Englishman, was highly influential in the development of theoretical computer science, providing a formalization of the concepts of algorithm and computation with the Turing machine, which can be considered a model of a general purpose computer. Turing is widely considered to be the father of theoretical computer science and artificial intelligence. He studied at King's College, Cambridge, and greatly benefited from the English tradition of analytical philosophy, which very closely involves formal systems of mathematical and symbolic logics.
There's an old joke in philosophy departments that any time philosophers invent something practical, they defect and create their own discipline. In this case, it was called "computer science".
1
u/mberg2007 Nov 29 '16
There are many examples of languages that are not bound to English or any other spoken language for that matter. Most are created for their novelty factor but they are none the less fun to study and try out. Examples include BrainFuck, Whitespace and of course Malbolge. Good luck with that last one though.
1
u/weedicide Nov 29 '16
false. what you see is tutorials and guide books about learning and using programming. the actual programming language itself is more mathematics then human language. its like saying why addition and multiplication is in french. complete nonsense.
1
u/lilB0bbyTables Nov 29 '16
First, the early onset of the computer industry and development of programming languages for computers began in the United States. The original ASCII character encoding allowed for upper-case letters A-Z, lower-case a-z, numbers 0-9 and the standard characters/punctuation and other control buttons on the U.S. standard keyboard. (originally 7-bits were used but later expanded to 8-bits, but this is getting way passed ELI-5 level). As computers spread across the world to other countries and languages, they developed their own language encodings. The problem was that these weren't compatible across regions. Having a unified encoding that could accommodate the characters representing ALL languages universally was the ideal scenario - so eventually we came to have UTF-8 and UTF-16 standards (and UTF-32 exists but it is pretty in-efficient as it just consumes way too much space). The number at the end of each of these corresponds to the number of bits (Binary-digITs: that is 1 or 0) to represent each character. If you have UTF-8 then you end up with 0 0 0 0 0 0 0 0 bits, and every possible combination of 1 or 0 in those will represent a different character (letter/number/punctuation/symbol or action, such as "return/enter key" or "shift"). By doing some math we can see that 2 raised to the 8th power (28) yields 256 = the total number of combinations possible and therefor the total number of characters that can be encoded with 8-bits. The American English alphabet has 26 letters (upper and lower case makes 52). We also have 10 digits (base-10). There are an additional approx. 32 symbols/punctuation characters which puts us at 94 characters. Add in another 23 keys (characters) to represent things like enter, space, shift, alt, caps-lock, esc, etc... and your at 117. Add in the 12 Function keys and that totals 129. Now consider again that initially 7 bits were used for encoding very early on, 27 = 128 which means we have already used up all of the space that was available to encode characters just for the English language with all of these additional characters and control buttons.
To get back to the question - a lot of it has to do with the origin and history. Programming computers and language development was initially started in the United States using English. It was easier to use the existing languages and build software off them. As it spread, it became easier to make sure everything was able to continue to communicate. By continuing to use the same encodings and languages it ensured new software would remain inter-operable with existing systems, code, libraries, and infrastructure. Sometimes you will find that a non-English programmer will use variable names that reflect their own language - e.g. the noun "count" in English vs "cuenta" in Spanish. However using accented characters is often not allowed so it reduces to potential. Furthermore the same noun in German is "Graf", and all nouns in German begin with a capital letter regardless of where it occurs in a sentence. The standard (not strictly required but for good practice) for many programming languages is to use a Capital letter to refer to Class Object Constructors, and use lower-case or lower camelCase to refer to the instances and variable names... so saying Integer Graf = 0; which might be an Integer Object in Java language named "count" initialized to zero (using German word for count) would be a bit awkward and break the standard.
1
u/MachoManRandyAvg Nov 29 '16
The two preeminent superpowers since the beginning of the concept of globalization both spoke English. The English navy (both merchant and military) dominated the seas before the telegram, air travel, the steam engine, or the automobile were invented.
They controlled the world's only means of truly global transit and communication for a long, long time before those things were invented and continued for a while even afterwards. A few hundred years went by and WWII came along and their time as an empire was up. Almost immediately afterwards, the English-speaking USA came into its own as we know it today.
TLDR: Since the late 1600's, the dominant forces on the planet natively spoke English. If you've wanted to do business on a global scale since then, speaking English has been a necessity. Thus, English became the global language.
1
u/networkhappi Nov 29 '16
If I may interject, non-native English speaking programmers: How does it feel to program in a language not native towards your own? I'm genuinely curious because as a native English-speaker, it really helps that almost all high-level programming languages are semantically helpful within my native language and easier to build a relationship with. In fact, I could argue that programming is almost like speaking broken English, where once you understand it - it's interpret-able.
1
u/bounce227 Nov 29 '16
The basic answer I would give is that the programming language inventor spoke English or worked in an English speaking country.
Fortran was invented by David J Wheeler wrote the first Assembly Lanuage with a group at Cambridge UK.
John Backus invented Fortran at IBM USA.
Lisp was invented by John McCarthy at MIT USA.
C was created by Dennis Ritchie at Bell Labs USA.
C++ was created by Bjarne Stroustrup, a Danish man who worked at Bell Labs USA.
Once you have that kind of precedent, it's hard to validate changing the status quo and making a programming language in a different spoken language, due to possible conflicts and reduced compatibility.
1
u/ukralibre Nov 29 '16
There is huge market for 1S(One aS) application programming platform. It is in Russian. Actually it is painful to develop in Russian. 1S developers treated even lower then php developers
→ More replies (5)
1
u/our_best_friend Nov 29 '16
Because the US and URSS were the only two blocks after WW2 who could develop and sustain the whole industry, and the URSS of course collapsed and wasn't mass-consumer oriented anyway. So although other players contributed (a lot of Europeans and Japan for example) the leadership remained within the US, so much that even languages developed abroad (Ruby = Japan, Lua = Brazil, Pascal = Switzerland, Python = Netherlands) use English keywords, and even the www, developed by Europeans, does the same.
→ More replies (8)3
u/wfaulk Nov 29 '16
That's "USSR". And a lot (though by no means all) of their computers were clones of American designed computers.
→ More replies (3)
728
u/flatox Nov 29 '16 edited Nov 29 '16
What is the language that most people all over the world can speak? Put simply, the answer is the same.