Comments 46
Почему вы выбрали именно русский, а не синдарин, например?
if .. fi
/ case .. esac
уже не будут такими неожиданными!И честно говоря оно не так сильно бросается как может показаться. Я уже привык)
Осталось получить в пробирке экземпляр айтишника, не знакомого с английским, и скормить. Для эксперимента ;)
Банально литература вся на англ…
Востребованная литература достаточно хорошо представлена и на русском.
В случае с консольными программами начинался треш на уровне интерактива:
«Are you want to continue? y/n»
На узбекском языке (латиница) «нет» звучит как «yo'q», то есть «y» — в голове у обывателя обозначает «Нет», а в логике обычной программы «Да».
И ещё с десяток аналогичных проблем.
почему люди, пишущие нормальный код на нормальном английском — могут нормально писать статьи на русском языке, а «русификаторы языков программирования» русским не владеют? Вопрос, наверное, риторический…
Я ухожу туда, где птичья звон
И вижу над собою синий небо
Лохматый облак и широкий крон
Я дома здесь, я здесь пришел не в гости
Снимаю кепк, надетый набекрень
Весёлый птичк, помахивая хвостик
Насвистывает мой стихотворень.
Зелёный травк ложится под ногами,
И сам к бумаге тянется рука,
И я шепчу дрожащие губами
«Велик могучим русский языка!»
Вспыхает небо, разбужая ветер,
Проснувший гомон птичьих голосов.
Проклинывая всё на белом свете,
Я вновь бежу в нетоптанность лесов.
Шурщат зверушки, выбегнув навстречу,
Приветливыми лапками маша:
Я среди тут пробуду целый вечер,
Бессмертные творения пиша.
Но выползя на миг из тины зыбкой,
Болотная зелёновая тварь
Совает мне с заботливой улыбкой
Большой орфографический словарь.
Можешь расписать что я накосячил? Буду благодарен
Честно говоря, я отделался лёгким испугом.<пробел>Оказывается русских переменных и 13 алиасов с головой достаточно для полной трансформации кода. Я был готов расписать весь скрипт чуть ли не по<пробел>буквенно, но, после очередного прочтения и добавления пары ко<м>ментариев, это оказалось просто не нужно.
И такого, если отспеллить — будет с десяток минимум. Так что я реально советую просто найти спелл-чекер, и прогнать. Опечатки, и расстановка запятых/пробелов, не там где нужно.
А остально сейчас подправлю
Изначально я перевёл всё как в первом варианте, без добавления личности. Но по мере работы с кодом я его приукрасил немного. Это заметно если сравнить версию в Gist и здесь
Кстати, хочу отметить, что глаголы в 3 л.мн.ч. смотрятся очень даже ничего для читабельности кода, вместо прямого перевода в инфинитиве.
1. Ты как будто размышляешь над программой при её написании
если x < 3 то
выводим "Х меньше трёх"
иначе
пока x > 3 делаем
x = x - 1;
прекращаем
илсе
2. Эта форма так же напоминает метод утёнка. Когда некой сущности (обычно резиновой утке игрушке) ты проговариваешь то, что делается в программе, чтобы найти более верное решение или выстроить полную картину (понять) того, что происходит в данном участке кода.
3. В конце концов есть что-то в этом нашенское: а я и «брат» мой компьютер вместе «выводим», «делаем»… :)
В zsh точно так же принимается кириллица.
Вот только fish ещё свой велосипед вместо синтаксиса изобрёл, и я не хотел с ним разбираться
Это несерьёзно. Получился суржик какой-то, ключевые слова русские, но вся структура языка осталась, как была. Как если я бы писать на английский но использовать русский слова (as if I would write in English but use Russian words).
Для серьёзных русификаторов — вот образец для подражания: http://users.monash.edu/~damian/papers/HTML/Perligata.html
Что по поводу структуры языка, тут я оспорю. Баш, технически, почти не имеет своего языка, а всё что было я перевёл. Остатки английского это уже обращения к другим програмам в операционной системе, со своим синтаксисом и нюансами.
Единственное что действительно хотелось бы перевести, это -lt -gt. Однако test не согласился дружить с заменами, поэтому пришлось смириться
Я собственно хотел сказать, что почти все языки с русскими ключевыми словами — те что разрабатывались с нуля, не перевод того, что было — всё равно получаются как языки с английскими ключевыми словами, только с русскими.
И показать пример годного перевода перла на латынь — Lingua::Romana::Perligata. Английский — язык позиционный, роль слова в предложении определяется его позицией. Латынь, как и русский — нет, там роль слова определяется окончанием. Окончанием слова роль там определяется. И в Lingua::Romana::Perligata именно так и сделано.
А было бы здорово, если б в языке с русскими ключевыми словами, еще и грамматика основывалась на русском, а не на английском.
"А было бы здорово"
Не уверен, что здорово. Забавно, да. Ключевые слова, меняющие свою роль в зависимости от суффикса, забавно.
Русский язык штука сложная, и его реалиция в виде языка програмирования больше напоминает священный грааль современного ИИ — понимание текста. Сомневаюсь что синтаксис можно достаточно упростить, во избежание этого
Как-то «если первый аргумент это гор то рубим высоту_окна...», что можно записать и как «рубим высоту_окна если первый аргумент это гор», потому что неоднозначности не появляется.
Получаем координаты курсора и параметры окна, дальше если наш первый аргумент равен «гор», то вызываем i3-msg split h, а если «вер» — i3-msg split v. Теперь считаем количество пикселей на которое надо изменить размеры нового окна и, дождавшись его появления, меняем. Если количество положительное, то i3-msg grow $размер $направление; иначе — i3-msg shrink $размер $направление.
Не скажу что это худший пример, но задачка явно не из лёгких
Мобильный хабр похож на RSS-ленту тем, что показывает только заголовки статей, без тегов, хабов и "доката".
Я ожидал историю перехода цитат с bash.org на bash.org.ru, а не боярское программирование! Жжоте, товарищ автор!
Если fi калькируется в илсе, то elif — иначесли или даже инесли. Заодно и от подчёркивания избавимся.
Русификация баша