Wired (США): исходный код - это для всех. Если только вы говорите по-английски - «Наука» » «Новости Дня»
Novosti-Dny
Опубликовано: 15:27, 14 апреля 2019
Люди / Все новости / Другие / Команды / Новости компаний / Япония / Днепропетровск / Спорт / Мир / Русское кино и сериалы. / Работа / Знаменитые люди / Интернет канал "ELLO" / Наука

Wired (США): исходный код - это для всех. Если только вы говорите по-английски - «Наука»

{short-story limit="540"}
Wired (США): исходный код - это для всех. Если только вы говорите по-английски - «Наука»
© РИА Новости, Наталья Селиверстова | Перейти в фотобанкВ связи с тридцатилетием всемирной паутины в этом году эксперт-лингвист журнала «Уайред» размышляет над сегодняшним и завтрашним днями языков программирования, отмечая, что даже очень крупные языки с обширной литературной традицией не стали основой для широко распространенного исходного кода. Нужно знать английский. Тем не менее ситуацию можно изменить - в ближайшие 30 лет.

В этом году всемирная паутина отмечает тридцатилетие, так что немало пикселей потрачено в спорах об «первоначальных обещаниях сети» — в том числе об идее, что можно будет нажать на кнопку «просмотреть исходный код» на любой странице и легко разобраться в том, почему на ней отображается именно то, что вы видите. Вот самая первая веб-страница, которую в честь юбилея воспроизвел дружественный программистам-самоучкам сайт «Глитч» (Glitch), чтобы наглядно показать: на ней вы могли переключиться на исходный код и увидеть, что некоторые части помечены
и и

(возможно, вы догадались, что это означает «параграф»). Выглядит довольно просто, — но ведь вы читаете это на англоязычном веб-сайте, с точки зрения носителя английского языка.


А теперь представьте себе, что это первая веб-страница, которую вы увидели в своей жизни, и вам не терпится заглянуть за кулисы и узнать, как это работает. Но вместо словесных ярлыков, которые вам хорошо знакомы, вы столкнулись с версией, которую создала я, — она ничем не отличается от оригинальной за тем исключением, что исходный код основан скорее на русском, чем на английском. Я не говорю по-русски и если вы, предположим, тоже, то будет ли <заголовок> и <заглавие>, и <тело>, и <п> вызывать у вас все то же желание попробовать что-то нахимичить самостоятельно?


Теоретически язык программирования можно создать на базе любых символов. Компьютеру все равно. На нем уже запущена незаметная взгляду программа-транслятор, которая переводит все эти ваши IF или в нули и единицы, которыми он оперирует, и мы получили бы такие же результаты, взяв эмодзи картошки вместо IF или загадочный средневековый кириллический глиф XV века, мультиокулярное «О» вместо . Тот факт, что языки программирования часто напоминают английский, говорит лишь о том, что наш убогий, бренный человеческий мозг легче запоминает слова, которые нам уже знакомы.

языков программирования, доступных на одном или двух других языках, кроме английского, таких как Qalb (арабский), китайская версия Python, фарсинет (персидский), Система программирования Hindawi (бенгальский, гуджарати и хинди) и даже версия Perl на латыни. Некоторые неанглийские языки программирования восходят к эпохе построенных правительством вычислительных машин размером с комнату, — например, несколько языков программирования советской эпохи, основанные на русском, а также многоязычный ALGOL 68 (1960-е годы) и 4-е измерение (1980-е годы). Но многие более новые языки, такие как Python, Ruby и Lua, разработаны в неанглоязычных странах (Нидерланды, Япония и Бразилия), но все равно ключевые команды этих языков — англоязычные. Первоначальное обещание Интернета, таким образом, для многих людей скорее звучит как угроза: говори по-английски или убирайся из сети.

Эти языки сосуществуют, потому что перевести с одного языка программирования на другой несложно. Доступно множество конвертеров языков программирования, — вы можете добавить отрывок на jаvascript и получить версию на Python, или добавить отрывок на Markdown и получить версию на HTML. Их не особенно сложно создать. Языки программирования имеют ограниченные, четко определенные словари, в которых нет двусмысленности или культурных нюансов, создающих трудности для автоматического машинного перевода естественных языков. Зная эквиваленты примерно сотни команд, вы можете автоматически заменить одну на другую для любого отрезка кода.


Переводить языки программирования и правда настолько легко, что некоторые ботаники время от времени делают это из любви к искусству или чтобы посмеяться, создавая так называемые эзотерические языки программирования. Например, LOLCODE смоделирован на основе мемов о котиках lolcats, поэтому программа открывается командой HAI (ПРЕВЕД — прим. ред.) и закрывается с помощью KTHXBAI (сокращение от "okay, thanks, bye": «ну все, пока» — прим. ред.), а Whitespace (Пробел) полностью невидим для человеческого глаза и состоит из непечатаемых символов: пробела, табуляции и перевода строки. Есть даже Pikachu, язык программирования, состоящий исключительно из слов pi, pika и andpikachu, так что сам Пикачу может — чисто теоретически — вырваться от этих чертовых тренеров покемонов и вместо этого устроиться на высокооплачиваемую работу программиста.


Когда вы создаете перевод кода на язык покемонов, это звучит абсурдно. Когда вы переводите код для миллиардов людей в мире, которые не говорят по-английски, доступ к высокооплачиваемой работе и возможность вручную дорабатывать свое собственное устройство перестают быть преимуществом. Тот факт, что исходный код зависит от английского, лишает людей этого преимущества, а ведь с точки зрения технологии создания кода это совершенно необязательно.


Но язык программирования — это не только его технические характеристики, это сообщество людей. Четырем широко распространенным многоязычным кодам повезло с таким сообществом больше, чем отдельным языкам программирования, не основанным на английском, — но их по-прежнему катастрофически мало. Есть еще разные полезные ресурсы, которые вам придется посещать, когда вы будете гуглить сообщения об ошибках. Да и вообще, черт возьми, вам для начала придется выяснить, как пользоваться этим языком на вашем компьютере. Вот почему было так важно, чтобы первый веб-браузер позволял редактировать, а не просто просматривать веб-сайты, поэтому «Глитч» так настаивал на том, чтобы пользователь мог редактировать исходный код прямо из окна браузера и в случае чего легко обратиться за помощью. Но где же «Глитч» для всего остального мира, не говорящего по-английски? Как сделать интернет еще удобнее для людей, которые только знакомятся с ним сейчас (или которые использовали его как потребители в течение последнего десятилетия), чем это было для его первых посетителей?


Вот почему я не теряю надежду: в средневековой Европе, если вы хотели овладеть искусством письма, вы должны были вместе с этим освоить новый язык. Письменность — значит, латынь. Письменность на местном диалекте — на родном языке, на котором люди уже говорили, — стояла где-то в стороне и была неразвита. Зачем вообще было учиться писать на английском или французском? На них ведь нечего читать, в то время как латынь открывала вам доступ к интеллектуальной традиции языка международного общения.


Порой, оглядываясь на эту историческую эпоху, мы удивляемся, зачем люди заморачивались со всей этой латынью, когда они могли просто писать на языке, на котором говорили. В то время изучать латынь, чтобы научиться писать, было так же логично, как сегодня учить английский для того, чтобы писать код, даже несмотря на то, что мы теперь знаем, что дети учатся читать намного быстрее, если их сначала учат на родном языке. Аргументы в пользу англоязычного кода, которые я вижу на таких сайтах, как «Стэк оверфлоу» (Stack Overflow), вторят этой идее: почему бы просто не выучить английский? Это дает вам доступ ко всей технологической традиции.


Господство письменности на латыни, как известно, закончилось. Искусство письма распространилось на другие языки. Умение создавать исходный код зависит от знания английского языка не в большей степени, чем сама технология письма была связана с латынью. Я предлагаю начать с корректировки того, как мы говорим о языках программирования, в которых есть слова из обычных языков. Первый сайт был написан не на HTML, а на английском HTML. Фрагмент кода, который появляется в нижней части первого веб-сайта, воспроизведенного «Глитч», — написан не на «Яваскрипт» (jаvascript«, а на английском «Яваскрипт». Когда мы называем их в первую очередь английскими, становится все более очевидным, что мы можем изменить ситуацию, — мы можем представить себе мир, в котором есть еще и русский HTML или суахили «Яваскрипт», где у вас нет врожденного преимущества в изучении кода, если так случилось, что ваш родной язык — английский.


Этого мира еще не существует. Возможно, в ближайшие 30 лет мы его создадим.


Гретхен Маккалох — постоянный эксперт-лингвист журнала Wired, соавтор подкаста Lingthusiasm, посвященного лингвистике, а также автор книги «Потому что интернет: взгляд на новые правила языка» (Because Internet: Understanding the New Rules of Language), которая выйдет 23 июля 2019 года в издательстве Riverhead (Penguin).


© РИА Новости, Наталья Селиверстова | Перейти в фотобанкВ связи с тридцатилетием всемирной паутины в этом году эксперт-лингвист журнала «Уайред» размышляет над сегодняшним и завтрашним днями языков программирования, отмечая, что даже очень крупные языки с обширной литературной традицией не стали основой для широко распространенного исходного кода. Нужно знать английский. Тем не менее ситуацию можно изменить - в ближайшие 30 лет.В этом году всемирная паутина отмечает тридцатилетие, так что немало пикселей потрачено в спорах об «первоначальных обещаниях сети» — в том числе об идее, что можно будет нажать на кнопку «просмотреть исходный код» на любой странице и легко разобраться в том, почему на ней отображается именно то, что вы видите. Вот самая первая веб-страница, которую в честь юбилея воспроизвел дружественный программистам-самоучкам сайт «Глитч» (Glitch), чтобы наглядно показать: на ней вы могли переключиться на исходный код и увидеть, что некоторые части помечены и и (возможно, вы догадались, что это означает «параграф»). Выглядит довольно просто, — но ведь вы читаете это на англоязычном веб-сайте, с точки зрения носителя английского языка. А теперь представьте себе, что это первая веб-страница, которую вы увидели в своей жизни, и вам не терпится заглянуть за кулисы и узнать, как это работает. Но вместо словесных ярлыков, которые вам хорошо знакомы, вы столкнулись с версией, которую создала я, — она ничем не отличается от оригинальной за тем исключением, что исходный код основан скорее на русском, чем на английском. Я не говорю по-русски и если вы, предположим, тоже, то будет ли и , и , и вызывать у вас все то же желание попробовать что-то нахимичить самостоятельно? Теоретически язык программирования можно создать на базе любых символов. Компьютеру все равно. На нем уже запущена незаметная взгляду программа-транслятор, которая переводит все эти ваши IF или в нули и единицы, которыми он оперирует, и мы получили бы такие же результаты, взяв эмодзи картошки вместо IF или загадочный средневековый кириллический глиф XV века, мультиокулярное «О» вместо . Тот факт, что языки программирования часто напоминают английский, говорит лишь о том, что наш убогий, бренный человеческий мозг легче запоминает слова, которые нам уже знакомы.языков программирования, доступных на одном или двух других языках, кроме английского, таких как Qalb (арабский), китайская версия Python, фарсинет (персидский), Система программирования Hindawi (бенгальский, гуджарати и хинди) и даже версия Perl на латыни. Некоторые неанглийские языки программирования восходят к эпохе построенных правительством вычислительных машин размером с комнату, — например, несколько языков программирования советской эпохи, основанные на русском, а также многоязычный ALGOL 68 (1960-е годы) и 4-е измерение (1980-е годы). Но многие более новые языки, такие как Python, Ruby и Lua, разработаны в неанглоязычных странах (Нидерланды, Япония и Бразилия), но все равно ключевые команды этих языков — англоязычные. Первоначальное обещание Интернета, таким образом, для многих людей скорее звучит как угроза: говори по-английски или убирайся из сети. Эти языки сосуществуют, потому что перевести с одного языка программирования на другой несложно. Доступно множество конвертеров языков программирования, — вы можете добавить отрывок на jаvascript и получить версию на Python, или добавить отрывок на Markdown и получить версию на HTML. Их не особенно сложно создать. Языки программирования имеют ограниченные, четко определенные словари, в которых нет двусмысленности или культурных нюансов, создающих трудности для автоматического машинного перевода естественных языков. Зная эквиваленты примерно сотни команд, вы можете автоматически заменить одну на другую для любого отрезка кода. Переводить языки программирования и правда настолько легко, что некоторые ботаники время от времени делают это из любви к искусству или чтобы посмеяться, создавая так называемые эзотерические языки программирования. Например, LOLCODE смоделирован на основе мемов о котиках lolcats, поэтому программа открывается командой HAI (ПРЕВЕД — прим. ред.) и закрывается с помощью KTHXBAI (сокращение от

Следующая похожая новость...
Ctrl
Enter
Заметили ошЫбку
Выделите текст и нажмите Ctrl+Enter
Обсудить (0)