Транслитерация в программировании

velkin velkin

Причины для английского языка


Давайте спросим себя для чего в программировании пишем все названия на английском.

1. Для того чтобы код работал


В некоторых отдельных случаях он может и так заработать, но в других начнутся проблемы.

1) Проект не скомпилируется из-за недопустимых символов в именовании файлов или папок.
2) Проект скомпилируется, но потом не откроется в какой-нибудь чисто англоязычной консоли, да хотя бы потому, что там нельзя будет набрать путь.
3) Проект не скомпилируется начав ругаться на идентификаторы в программе, такие как название переменных, функций, классов.
4) Строковые литералы могут не отобразиться в консоли даже в кодировке UTF-8.

Это очень весомая причина набирать код не столько на английском, сколько использовать латиницу и несколько допустимых символов. Хотя по факту латиницу выгоднее всего использовать носителям английского языка.

2. Для того чтобы код понимали


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

Но в то же время для носителей других языков, особенно сильно отличающихся, такой вариант плох. Люди вынуждены тратить время на перевод слов. Причём простые слова переводить проще, чем большие фразы.

То же название пункта меню перевести может и новичок со словарём хорошо заморочившись на наибольшем соответствии. Он может забрать чужой уже готовый перевод из какого-нибудь открытого проекта.

Но с подсказками для пункта меню состоящего из одного или нескольких предложений такой трюк провернуть будет гораздо сложнее. Разве что использовать всеми любимый забаненый в Китае гугл транслейт.

Русские Жизни Важны


А теперь смотрим, что происходит в мире. Россиян стали гнобить, причём в it-сфере в особенности. Иностранцам больше не нужны российские центры разработки, которые были у них десятки лет.

И вот мне пришла идея, а что если:
1) Именовать файлы, папки и идентификаторы транслитерацией без пробелов.
2) Строковые литералы для пунктов меню и консоли писать по-русски в кодировке UTF-8.

В конце концов не все работают в международных проектах. Кто-то пишет всякую ерунду для себя. Автоматизированный рефакторинг позволяющий менять массово идентификаторы никто не отменял. Никогда не поздно откатиться на тот же английский.

Плохой стиль программирования


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

Работа над такой программой ему не понравилась, нужно было переводить имена и всё в таком роде. Сделав так же на русском получим известно что. Но какая разница?

Разные виды транслитерации


А вот ещё хотелось бы отметить, что транслитерация между латиницей и кириллицей не однозначна. Первая попавшаяся ссылка на эту тему.

Юлия → Iuliia. Всё о транслитерации

Огромное количество схем, причём не каждая из них будет совместима с языками программирования и компиляторами, которые используют пути для файлов и папок.

Препятствия только в голове


Реальных же препятствий не использовать русский язык нет. Разве что рассуждения о том куда мы скатились, особенно от профессионалов с большой буквы П. Даже мне сложно принять такой исход, но объективно такому никто не мешает.

А для чего?


Чисто теоретически это может резко повысить чью-то продуктивность. А чью-то может и не повысить, а даже понизить с непривычки писать не на английском. Идея строится на том, что думать проще на языке на котором говоришь. Естественно со всеми минусами описанными выше.

https://www.youtube.com/watch?v=pFEsjnZ7bnI