

Why is english the language of programming? - nphyte


======
jdeisenberg
Historical reasons, possibly? FORTRAN was started by an IBM committee (US
corporation). COBOL committee was mostly US companies and US Dept. of Defense
(CODASYL). Lisp came from MIT. ALGOL is the exception, with both European (ETH
Zurich) and US representation on its committee.

------
panjaro
Partially because of Colonization by British and additionally because they
invested more on research/education.

I was born in a poor country and I had this question too. I blame our
ancestors for not being open-minded and putting more value on religion / non-
sense rules. After age 45, most of the people in my country get devoted to
religion and spend most of the times going to temple/performing rituals and
complaining/expecting others to support them. But here in the west, 45 isn't
old. People work hard till old age and enjoy life.

------
informatimago
It doesn't have to be. Just use your favorite language.

There would be advantages of using your own language (both natural and
programming languages), instead of English and English based programming
languages: it would make your software most costly to aquire by US
corporations, more difficult to spy by the NSA and CIA.

There are network-effect reasons why once the Internet developped, the use of
a common natural language increased. Before that, there were still isolated
research and development centers in most countries that used their own
languages, and even sometimes developped national programming language (I know
of French, Russian, Chinese programming languages).

But one could consider that nowadays there is a big enough national programmer
community that we could stand a little bit more of isolation, and therefore
use national languages.

In a way, Japan, Korean and China do that. They definitely have "enough"
programmers, and their language is hardly readable outside of their countries.
There's probably a lot of very interesting eg. robotics papers and programs
available from Japan, but since I don't speak Japanese, I'll never know.

On the other hand, computing and notably programming is still very divided;
there are thousands of programming languages, and apart from the most
"popular" the vast majority of them only have a small population of
programmers working with them. Therefore you still definitely want to benefit
from any network-effect you can have thru the Internet, and for this reason,
you will use almost exclusively English to publish documentation and sources
in those programming languages.

Using a national language would work only for more popular language. But it
would have to fight the influence of the language providers. In the privative
world, it's the operating system and GUI framework providers who decide what
programming language to use, and while it's generally possible to use a
different language, it's often rather costly and difficult to do so. So Apple
(actually NeXT Computer Inc) decided on Objective-C, and now Apple is deciding
to switch to Swift. Android decided on Java. Microsoft decided on C++ (and C#
and Visual Basic, but mostly C++ with MSVC). But in terms of national security
and national independence it would be a bad idea to use those american
operating system that contain a lot of privative software. So you could use
GNU/Linux as a base (but Richard Stallman is American and aimed to clone an
American operating system (unix) so of course he used English and C to write
GNU, and for the network effect, Linus wanted to get help from more than just
the Finish programmers, so he used English and C to write the Linux kernel),
and over this free base, you could develop your own national programming
language, with your own system utilities and non-localized applications. Since
this would be a major enterprise (companies doing that such as Apple,
Microsoft of Google, are "worth" more than most countries), you would need a
strong public support, this would give work to a lot of national programmers
(and you couldn't use alien programmers, no H1B, since they just wouldn't know
the language to read the specifications and documentation or the programming
language to write the programs).

Clearly, this is a project that is antithetic to the internationalist
capitalist point of view. A corporation wouldn't invest in such a project,
because it would have to pay national programmers a higher salary than hiring
cheap immigrants, or off-shoring development to third world countries. And
they wouldn't want to use a language and programming languages that would
restrict their "IPOability" to international capitalist corporations (that can
pay in worthless US dollars).

Remains that children don't necessarily know English, therefore there is still
place for some programming to be done in a national language (to teach
programming to children and otherwise non-English speakers), and even for a
national programming language, to be used in a pedagogical context. But if
your nation is enslaved in the capitalist system where people have to be
employed by corporations and obtain money to survive, then eventually they
will have to learn a popular English programming language and work for a
corporations that potentially will be eaten alive by an international
capitalist corporation from the USA (see eg. Microsoft with Nokia, after
having gutted and digested all it could from it, patents, human "resources",
intellectual "property", they're ready to resell the empty shell.
[http://www.forbes.com/sites/petercohan/2014/07/18/to-help-
bo...](http://www.forbes.com/sites/petercohan/2014/07/18/to-help-boost-growth-
should-microsoft-sell-nokia-to-lenovo/) And this is not unique, it occurs
constantly. I'd argue that if Nokia had been more 100% Finish, it would have
been much more costly for Microsoft to acquire it and to exploit it, and
possibly Nokia would have been stayed Finish and these people would have still
be able to develop those nice Nokia smartphones).

~~~
veddox
Some good thoughts there. Although I find this a rather weak point:

> [using your native language] would make your software ... more difficult to
> spy by the NSA and CIA

At least as far as natural languages are concerned, don't you think NSA & Co.
can get translators for anything they care to read? (Heck, they could just
fire up Google Translate ;-) )

I think the networking aspect is really important. Plus, you have to remember
that programming originated in academia at a time when English had just taken
over as the world language of science anyway (apart from Russia, perhaps).

Lastly, don't forget that programming languages aren't just a way of talking
to computers, they are an environment in which we do so. Even though there are
hundreds of languages out there, just a handful of them account for >90% of
all software. As a language becomes popular, people write more libraries,
books, and applications for it, which makes it more popular, which means that
more libraries, books, and applications get written for it, which makes it
more popular...

I don't know exactly how a language gets to this self-reinforcing growth
stage, but I bet it has to be some pretty strong incentive. However it
happens, you have to get enough programmers using it that they start building
up a solid ecosystem. And while that is surely not an insurmountable obstacle,
it is nonetheless a pretty big hurdle that any "national language" would have
to take - to achieve what?

~~~
informatimago
Of course nowadays it's easier to get translations. But remember that it is a
trick that worked for secret war communications during WWII, not so long ago,
when the US used Navajo people to design a code that stayed unbroken, because
essentially, nobody in Germany knew the Navajo language.

Then we can assume that the NSA can understand Russian, French or Spanish as
well as English. But recently they couldn't understand Arabic and Persian good
enough (perhaps this has changed now). What other language is still a deaf
spot for them? ;-)

But this is a more general thing than just the idiom. You have to take in
consideration the whole culture and "ecosystem". If you develop a body of
knowledge in a given language, (from which you derive written theses in this
language, and scientific papers in this language, and patents in this
language), you have essentially built a conceptual framework that is isolated
from the other languages, and until translations or explanations are
exchanged, any sentence having a meaning in this framework will be
untranslatable, even if you can translate "word-by-word" because the concepts
won't transport.

At this point, this is a processus that can only be performed by humans, as
you can see from eg. the failures of Google Translate (and don't try to
translate Spanish to English or French to English, those are easy translations
for Google! Try less frequent language pairs).

~~~
veddox
Developing a body of knowledge in a given language takes a lot of time, and
comes at a huge cost (quasi-isolation from the rest of the world of science).

It's been done before (Germany during the Third Reich, Russia during the Cold
War), but even though the scientists involved did some really good work, they
couldn't do as much as they could have in cooperation with the rest of the
world (a lot of work done abroad was duplicated).

There's a reason science has always been so international - it just makes the
research process a lot quicker and more effective. And a common language helps
enormously. In the Middle Ages (and for quite some time after) the _lingua_
_franca_ of science was Latin. That changed around the 18th-19th century, when
a lot of work started being done in local languages (Mendel wrote his findings
up in German, Darwin in English, Pasteur presumably in French, etc.) This
meant that to stay on top of your field as a scientist you had to understand
all the important languages (English, French, German, some Italian and
Russian). After WWII, English became the new Latin so to speak, and we had a
predominant language again.

So to sum up, if you are prepared to risk scientific isolation, go ahead and
do your own thing in your own language - if a nation state is set on doing
something like this, it will manage at an academic level. But in today's
globalised world, I doubt whether any commercial/industrial players would be
able or even willing to pull it off.

------
hellofunk
You could just as easily ask why English has become the international language
of the world. The two questions are not the same with the same answer, but are
also not disconnected.

