The initial promise of the web is, for many people, more of a threat—speak English or get left out of the network. These languages exist because it's not difficult to translate a programming language. There are plenty of converters between programming languages—you can throw in a passage in JavaScript and get out the version in Python, or throw in a passage in Markdown and get out a version in HTML.
They're not particularly hard to create. Programming languages have limited, well-defined vocabularies, with none of the ambiguity or cultural nuance that bedevils automatic machine translation of natural languages. Figure out the equivalents of a hundred or so commands and you can automatically map the one onto the other for any passage of code.
Indeed, it's so feasible to translate programming languages that people periodically do so for artistic or humorous purposes, a delightful type of nerdery known as esoteric programming languages. When you put translating code in terms of the billions of people in the world who don't speak English, access to high-paying jobs and the ability to tinker with your own device is no longer a hypothetical benefit.
The fact that code depends on English blocks people from this benefit, for reasons that are entirely unnecessary at a technical level. But a programming language isn't just its technical implementation—it's also a human community. The four widespread multilingual programming languages have had better luck so far with fostering that community than the solitary non-English-based programming languages, but it's still a critical bottleneck.
You need to find useful resources when you Google your error messages. Heck, you need to figure out how to get the language up and running on your computer at all. That's why it was so important that the first web browser let you edit—not just view—websites, why Glitch has made such a point of letting you edit working code from inside a browser window and making it easy to ask for help.
But where's the Glitch for the non-English-speaking world? The same year, ALGOL 58 came to life, and like all the previously mentioned programming languages, it used English keywords for building programs.
Why is that so important? Because these programming languages were the base for the modern languages that we love to use every day. In fact, more modern languages are an evolution of the programming languages born in the s.
So, with the evolution of programming languages, the English language has been adopted as a convention for writing computer programs. Pascal has been designed by Niklaus Wirth, a Swiss computer engineer in the 's.
Symbolic Programming Languages use characters and symbols to represent concepts such as loops, operations, conditionals, and so on instead of commonly used keywords. Most of the time, these languages can be considered as non-English-programming languages.
An example of a popular symbolic programming language is APL do you remember? We mentioned it before! As you can see, no English keywords have been used for expressing a non-trivial problem. An example, an implementation of multiplication of two numbers abstraction:.
Another key figure in the history of computer programming is Ada Lovelace, a contemporary of Babbage. She has often been called the world's first computer programmer. The daughter of the poet Lord Byron and his first wife, Anne Isabella Noel Byron, Lovelace was a brilliant mathematician, a woman ahead of her time in the s.
She wrote the first algorithm intended to be carried out by such a machine and proposed to use the data input that programmed the machine to calculate Bernoulli numbers, which is now considered the first computer program. She had also predicted that machines like the Analytical Engine could be used to compose music, produce graphics, and be useful to science. And they are not wrong. The collective work of both Babbage and Lovelace were profoundly influential on modern-day computing.
There is also another highly believed though considered false by historians theory that the commonality of English in coding started during World War II. The computer industry did grow out of technology developed by the Allies, mostly used by the Americans and the British. It's also been said that most people learn English to use existing programming languages, so it continued on in the same vein when creating new ones.
By attempting to use other languages for coding, it would cut off effective communication amongst programmers of whom the majority are already used to a standard i.
However, there is a growing movement and advocacy for developing non-English code. Most new codes are actually developed by English-speaking individuals. But not all programming codes are in English. Although most keywords are written in English, comments, variable user written classes and methods are often in the programmer's own language. Over a third of programming language were developed in English speaking countries.
I visited Sweden on time in the 's and was amazed that just about everyone I met spoke good English You guys rock! Do you think you could reformat your answer so that it can be seen without using the horizontal scrollbar? Its done. I know scroll bar sucks! I don't know why people like using back ticks for emphasis. They look and work horribly at emphasis, and there's two perfectly good emphasis styles already.
English is the only way to go - even for gossiping : — Amarghosh. My Indian colleagues and I occationally have a laugh about many Indians speaking Hinglish. It's mostly English but noticably different. English code tends to be very good whereas documentation brings out some excentricities.
Let them program in English and you will see they don't know English. That comment indicates to me that they also don't know the language they're programming in very well, though - I don't think the comment would be any more useful in perfect French.
Talvi: if coding guidelines are followed, fixing typos should be as simple as a search-and-replace. I still want a "Colour" property that's just a synonym for Color, but other than that I've got over it. The fact I was taught Oxford-style -ize rather than Cambridge-style -ise makes it easier anyway.
I use British spellings everywhere, for no better reason than because I can. I use British read: international spelling everywhere but in code—much to my own chagrin—for consistency with, somewhat ironically, international de facto standards. I know colleagues who write in British English just to annoy American colleagues. Here are some reasons I can think of why we code in English: The. NET framework we work with is in English.
It's always better to follow conventions of the framework you're working with and I believe this includes the language. Dutch is a horrible language for describing technical concepts.
English has words that can accurately describe something technical, e. The word "interact" is an example of this; there's no commonly used Dutch word that conveys the same message. A small percentage of the company doesn't speak Dutch yet. Niels van der Rest. I don't agree that Dutch is a horrible language for describing technical concepts.
It is just that nowadays most technical texts we read are not in Dutch so we are not used to the Dutch equivalent of technical terms any more. But for the rest I agree with you. The framework is already in English and who knows that your code might ever be read by someone who doesn't speak Dutch.
So it's usually company policy also documentation. But this is not really specific to the Netherlands. Dutch is not bad for technical language in general. It does fine in physics and general maths. But for programming, definitely. There are far too many English jargon terms that are horrible to translate e.
Anyway, all my code is in English, except sometimes the comments on my hobby projects. Same here in Flanders, English is the de facto language for programming. Some comments might be in Dutch for my colleagues though.
That's interesting. I always asked myself how people with non-latin scripts do code. Is translitterating from hebrew characters to latin characters a viable option? I myself sometimes do transliteration.. On the very rare occasions when I find translation would be kind of confusing specially if the business requirements are in Arabic. Yet, Generally it's thought of as a bad practice — Shady M. I definitely know of some people who transliterate in chats and SMS. However, I would really frown upon that in code, especially in comments.
Same here. I do use german, though, in certain comments. And I'm talking about the code itself, not software localization. I'm also from Slovenia and I reject any non-english words in code not even in comments. I used to work in a company where a guy was adding comments in Swedish. Imagine that! How maintainable was his code in terms of comment explanations. For what I know he may be ranting about the company in them Adding a link for Slovenia was necessary? I'm from Denmark. The only open question that I see is what to do about potentially user-visible strings: window.
Rasmus Faber. I'm from Finland and this sounds familiar. Using English for pretty much everything is very natural, even if everyone in the team is Finnish-speaking. The last time I needed coded in Finnish was at some university project long ago. User visible strings frequently need to be localized anyway, moving it out of the code. I'm from Italy but I'm not sure what you're asking. Paolo Bonzini.
I have found that the best compromise is to leave the business terms in Spanish and everything else in English, because Spanish business terms might not translate well, specially when the programmer does it. I do things like: getPromotorFactory all the time. It looks weird, but if the style is consistent, I find the code is easier to understand by other developers in the same company.
I'm also from Uruguay. In the company I work for, we code everything in english. The code comments, classes, methods, fields and variable names are in english. The localization of the product we build is in english that would be a commercial strategy , and even the comments when commiting changes to the repository are in english.
OT: Your code example contains 7 lines of comments without any real content besides repeating the name of the function and the parameters. Technical documentation can be generated from these XML comments.
0コメント