Source Code Is For Everyone. If Only You Speak English - Alternative View

Source Code Is For Everyone. If Only You Speak English - Alternative View
Source Code Is For Everyone. If Only You Speak English - Alternative View

Video: Source Code Is For Everyone. If Only You Speak English - Alternative View

Video: Source Code Is For Everyone. If Only You Speak English - Alternative View
Video: My philosophy for a happy life | Sam Berns | TEDxMidAtlantic 2024, May
Anonim

As the World Wide Web celebrates its 30th anniversary this year, a linguist expert at Wired magazine reflects on the present and tomorrow of programming languages, noting that even very large languages with a long literary tradition have not become the basis for widespread source code. You need to know English. Nevertheless, the situation can be changed - in the next 30 years.

The World Wide Web celebrates its 30th anniversary this year, so quite a few pixels have been spent arguing about the "initial promises of the web" - including the idea that you can click on the "view source" button on any page and easily figure out why it displays exactly what you see. Here is the very first web page that the self-taught web site Glitch reproduced in celebration of the anniversary to show you how you could switch to the source code and see that some parts are tagged and

(you may have guessed what this means "paragraph"). Looks pretty straightforward - but you're reading this on an English-speaking website from the perspective of a native English speaker.

Now imagine this is the first web page you've seen in your life and you can't wait to peek behind the scenes and find out how it works. But instead of the verbal labels that you are familiar with, you are faced with the version that I created - it is no different from the original, with the exception that the source code is based on Russian rather than English. I do not speak Russian, and if you, for example, do the same, will both, and, and cause you all the same desire to try to do something on your own?

In theory, a programming language can be created based on any symbols. The computer doesn't care. It is already running an invisible translator program that translates all these IFs of yours or into zeros and ones with which it operates, and we would get the same results if we took the potato emoji instead of IF or the mysterious medieval Cyrillic glyph of the 15th century, the multiocular “Oh Instead of. The fact that programming languages often resemble English only suggests that our poor, mortal human brain can more easily remember words that we already know.

But only a few of us already know the words that denote these commands - those who speak English. So the "initial promises of the network" were only promises for English-speaking users, be they native speakers or people with access to a generally elite education, the product of which is fluent English as a second language people in non-English-dominated areas. …

True, computer programs and social networking platforms are available today in 30-100 languages, but what about the tools themselves that can help us become creators, not just users of computing tools? I am not even advocating writing programming languages in small and rarely used languages (although it would be great). Even very large languages that have an extensive literary tradition and are languages of regional trade, such as Chinese, Spanish, Hindi, and Arabic, still have not become the basis for widespread source code.

As far as I know, there are only four programming languages that are available everywhere in a multilingual format. Not 400. Four (4).

Two of them are specially designed for teaching children programming: Scratch and Blockly. Scratch's developers even conducted research that showed that children learn to code more easily if the source code is based on their own language than those who get stuck trying to learn another language. What will happen when these children grow up? Adults who are not proficient in foreign languages will have to choose from two other products available in different languages: Excel formulas and wiki code.

Promotional video:

Yes, you can program spreadsheets using any language provided for the program interface. In both Excel and Google Sheets, you can write, for example, = IF (condition, value_if_true, value_if_false), or you can enter the Spanish equivalent = SI (prueba_lógica, valor_si_es_verdadero, valor_si_es_falso), or use dozens of other languages. [Including Russian: IF (value, value_if_true, value_if_false - ed.)] This may not be the first thing that comes to mind when thinking about program code, but tabular programs can in principle be used as a Turing machine, and such use of local versions can be economically justified.

Similarly, you can edit Wikipedia and other wiki sites, taking advantage of the fact that wiki code exists in many different languages. Basic wiki commands are not specific to any language (for example, whenis enclosed in square brackets), but more complex commands use words in the local language. For example, when you design a table of data about a person, in the English-language Wikipedia there will be parameters "name =" and "birth_place =", which in the Bulgarian version of Wikipedia look like "name =" and "rodin-mesto =".

In addition to these four widely available multilingual programming codes, there are several dozen, maybe even about a hundred, programming languages available in one or two languages other than English, such as Qalb (Arabic), Chinese version of Python, Farsinet (Persian), The Hindawi programming system (Bengali, Gujarati and Hindi) and even a Latin version of Perl. Some non-English programming languages date back to the era of government-built room-sized computers - for example, several Soviet-era programming languages based on Russian, as well as the multilingual ALGOL 68 (1960s) and 4th dimension (1980s) … But many newer languages such as Python, Ruby and Lua are developed in non-English speaking countries (Netherlands, Japan and Brazil),but all the same the key commands of these languages are English. The initial promise of the Internet thus sounds more like a threat to many people: speak English or get off the web.

These languages coexist because it's easy to translate from one programming language to another. There are many programming language converters available - you can add a JavaScript snippet and get a Python version, or add a Markdown snippet and get an HTML version. They are not particularly difficult to create. Programming languages have limited, well-defined vocabularies with no ambiguity or cultural nuances that make it difficult for automatic machine translation of natural languages. Knowing the equivalents of about a hundred commands, you can automatically replace one with another for any piece of code.

It's so easy to translate programming languages that some nerds do it from time to time out of love for art or to laugh when they create so-called esoteric programming languages. For example, LOLCODE is modeled on the lolcats cat memes, so the program is opened with the HAI command (PREVIOUS - ed.) And closed with KTHXBAI (short for “okay, thanks, bye”: “bye bye” - ed..), and Whitespace (Space) is completely invisible to the human eye and consists of non-printable characters: space, tab stop and line feed. There's even Pikachu, a programming language made entirely of pi, pika and andpikachu, so Pikachu himself could - theoretically - break free from those damn Pokémon trainers and take a high-paying programmer job instead.

When you create a Pokemon translation of your code, it sounds absurd. When you translate code for the billions of people in the world who don't speak English, access to high-paying jobs and the ability to manually tweak your own device are no longer an advantage. The fact that the source code depends on English deprives people of this advantage, and from a coding technology point of view, this is completely unnecessary.

But a programming language is not only about its technical characteristics, it is a community of people. The four widespread multilingual codes have had better luck with such a community than individual non-English programming languages - but they are still sorely few. There are other useful resources that you will need to visit when you google bug reports. Anyway, damn it, you first have to figure out how to use this language on your computer. This is why it was so important that the first web browser allowed editing, not just browsing, which is why Glitch insisted so much that the user could edit the source code right from the browser window and in which case it was easy to get help. But where is the Glitch for the rest of the worldnot speaking english? How can we make the Internet even more convenient for people who are just getting to know it now (or who have used it as consumers over the past decade) than it was for its first visitors?

That’s why I don’t lose hope: in medieval Europe, if you wanted to master the art of writing, you had to learn a new language along with it. Writing means Latin. The writing in the local dialect - the native language that people had already spoken - stood somewhere on the sidelines and was undeveloped. Why bother learning to write in English or French? There is nothing to read on them, while Latin gave you access to the intellectual tradition of the language of international communication.

Sometimes, looking back at this historical era, we wonder why people bother with all this Latin, when they could just write in the language they spoke. At that time, learning Latin in order to learn to write was as logical as learning English today in order to write code, even though we now know that children learn to read much faster if they are taught in their native language first. … The arguments for English code that I see on sites like Stack Overflow echo this idea: why not just learn English? This gives you access to the entire technological tradition.

The dominance of writing in Latin is known to have ended. The art of writing has spread to other languages. The ability to create source code does not depend on knowledge of the English language any more than the writing technology itself was associated with Latin. I suggest starting by adjusting the way we talk about programming languages that have words from common languages. The first site was not written in HTML, but in English HTML. The snippet of code that appears at the bottom of the first website rendered by Glitch is not written in Javascript, but in English “Javascript.” When we call them primarily English, it becomes more and more obvious that we can change the situation - we can imagine a world in which there is also Russian HTML or Swahili "Javascript",where you don't have an inherent advantage in learning code if it happens that your native language is English.

This world does not yet exist. Perhaps in the next 30 years we will create it.

Gretchen McCulloch is a resident linguist at Wired, co-author of the linguistics podcast Lingthusiasm, and author of Because Internet: Understanding the New Rules of Language, due out July 23, 2019 from Riverhead (Penguin).