LINUX.ORG.RU

Программирование на Эсперанто

 , ,


1

1

Друзья, не секрет что LOR богат талантами и интересными личностями.

Вот уже почти месяц тема о программировании на Русском языке лидирует в топе форуме.

(ЯОС - 2020-02)

Темы о программировании на Русском языке всплывают с завидной регулярностью.

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

Преимущества мне кажутся очевидны. Язык простой, компактный, одновременно гибкий. Понятен как носителям европейских языков, так и языков Славянских.

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

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

Что думает уважаемый ЛОР?

Ответ на: комментарий от monk

Я же сказал учи логику. Закон тождества не о том что ты себе навоображал. Чтение педивикии != обучение.

erfea ★★★★★ ()
Ответ на: комментарий от anonymous

Это в какой среде употребляется термин «арийский язык»? Примерно с половины прошлого века называют праиндоевропейский - праиндоевропейским (кроме немцев, у которых «индогерманские языки»). Потому, что это огромная семья, от кельтских (кельтиберийских) по тохарские языки, а языки тех самых ариев (перх индоевропейцев в Индии) - лишь одна из её частей.

anonymous ()
Ответ на: комментарий от anonymous

Node { Node* parent Node* next Node* child }

Да, я неправ. Посмотрел сейчас документацию.

monk ★★★★★ ()
Ответ на: комментарий от erfea

Закон тождества не о том что ты себе навоображал.

Так распиши тогда, что ты имеешь в виду.

Чтение педивикии != обучение.

При чём тут педивикия? В ней формулировка чуть-чуть другими словами (но с тем же смыслом). Или у тебя определение этого закона совсем другое?

monk ★★★★★ ()
Ответ на: комментарий от anonymous

Это лингвистический термин, иногда применяемый в отношении ПИЕ языка до его расхождения на иранские и индоиранские ветви примерно 6000-5500 лет назад. Велосипед не мой, если что.

anonymous ()
Ответ на: комментарий от anonymous

Действительно, иногда арийским языком называли протоиндоиранский. (кстати, точнее было бы сказать - до разделения индоиранской ветви на иранскую и индоарийскую - индийскую)

Некоторые арийским языком называли весь ПИЕ, но это было сто лет тому назад (и больше).

Кроме того считаю, что лже-рекапча должна быть разрушена.

anonymous ()
Ответ на: комментарий от monk

Так распиши тогда, что ты имеешь в виду.

Что сказал, то в виду и имею. Как это не странно 🤦‍♂️

При чём тут педивикия? В ней формулировка чуть-чуть другими словами (но с тем же смыслом). Или у тебя определение этого закона совсем другое?

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

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

erfea ★★★★★ ()
Последнее исправление: erfea (всего исправлений: 1)
Ответ на: комментарий от erfea

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

anonymous ()
Ответ на: комментарий от anonymous

«Без», конечно же.

Кроме того считаю, что лже-рекапча должна быть разрушена.

anonymous ()

Грибы и мыши! Мыши и грибы!

anonymous ()
Ответ на: комментарий от erfea

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

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

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

monk ★★★★★ ()
Ответ на: комментарий от monk

И принципиальной разницы в изложении информации в виде документации или сообщения на форуме вообще нет.

Общение на форуме != сопровождение программного кода. Посетели ЛОРа != программисты. На ЛОРе в конце концов правилами на прямую предписано общаться на русском.

В свете всего вышесказанного, возникает вопрос: ты идиот или малолетний?

erfea ★★★★★ ()
Ответ на: комментарий от monk

Ты же сам указал, что код (а также текст комментариев и документации) ты пишешь человеческим английским языком для того, чтобы другие люди-иностранцы могли его понимать.

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

X512 ()
Ответ на: комментарий от monk

Ты знаешь много людей, которым иностранный язык более знакомый чем родной?

Всё население Украины (а это миллионов 35 человек где-то).

ugoday ★★★★★ ()
Ответ на: комментарий от X512

Тут первична необходимость взаимодействовать с программистами из других стран, а не язык исходного кода

Вот я и пытаюсь понять, почему при написании кода у него есть необходимость (потребность) взаимодействовать с иностранцами, а при написании сообщений на форуме такой потребности нет.

monk ★★★★★ ()
Ответ на: комментарий от monk

почему при написании кода у него есть необходимость (потребность) взаимодействовать с иностранцами

Потому что подавляющее число систем и библиотек, которыми пользуется программист, написано иностранцами.

а при написании сообщений на форуме такой потребности нет.

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

X512 ()
Последнее исправление: X512 (всего исправлений: 4)
Ответ на: комментарий от ugoday

Всё население Украины (а это миллионов 35 человек где-то).

Для 30% населения Украины родной русский, ещё у 67,5% — украинский. А какой иностранный ты имеешь в виду?

monk ★★★★★ ()
Ответ на: комментарий от monk

Будучи в Киеве около недели десять лет назад я украинский язык слышал два раза: у кондукторши и дворничихи (или это озеленители были?) так меж собой разговаривали. Всё остальное население Киева предпочло иностранный русский, и ни в какую не пользовалось родным украинским. Такие вот наблюдения.

ugoday ★★★★★ ()
Ответ на: комментарий от erfea

Общение на форуме != сопровождение программного кода.

Речь идёт (шла) не про сопровождение, а про написание.

Посетели ЛОРа != программисты.

В этом подфоруме (Development) подавляющее большинство — программисты.

На ЛОРе в конце концов правилами на прямую предписано общаться на русском.

Так почему ты выбираешь для общения ЛОР, а не linux.org или слэшдот?

monk ★★★★★ ()
Ответ на: комментарий от erfea

Я идиот и малолетний, не программист и посетитель ЛОРа (форум), тк в конце концов правилами на прямую это не запрещено.

anonymous ()
Ответ на: комментарий от X512

Потому что подавляющее число систем и библиотек, которыми пользуется программист, написано иностранцами.

И что? От этого как-то возникает потребность, чтобы иностранцы читали всё, что написано с использованием этих систем и библиотек?

Так браузер и ОС тоже написаны иностранцами, почему тогда для текстов, написанных с их помощью, не возникает такой потребности?

Потому что код понимает машина, а сообщения на форуме — человек.

Так он сам писал: «Вот только даже если принять этот тезис на веру, получается так что «ДобавитьДочерний(<НовыйУзел>)» будет понятен некоему «Ваньке», а может даже и какой-нибудь «Мыкола». А вот «appendChild(node)» и эти двое отдупляют, и некто Джон и Акбулат, Арджун, Хуан, Няшгвй котик кун и даже Ашот.». То есть человеческий язык при написании программы используется для людей, которые его будут понимать, а не для машины. Машине абсолютно всё равно, написано ДобавитьДочерний или appendChild. Машинный код после компиляции будет идентичен.

monk ★★★★★ ()
Ответ на: комментарий от ugoday

Всё остальное население Киева предпочло иностранный русский, и ни в какую не пользовалось родным украинским.

Не путай родной язык с государственным. Вот в РФ у нас государственный русский, а родных языков у населения где-то пара сотен.

Для подавляющего большинства населения Киева родной язык русский.

monk ★★★★★ ()
Ответ на: комментарий от monk

От этого как-то возникает потребность, чтобы иностранцы читали всё, что написано с использованием этих систем и библиотек?

Если продукт местный, то не возникает. Но по прежнему возникает необходимость взаимодействовать с API и документацией на английском языке.

Так браузер и ОС тоже написаны иностранцами, почему тогда для текстов, написанных с их помощью, не возникает такой потребности?

Чтобы пользоваться браузером внутрь его лезть не надо, а когда пользуетесь библиотекой то нужно как минимум пользоваться её API которое почти всегда основано на английском языке. Документация тоже часто только на английском языке. Специалисты по этой библиотеке, у которых можно про неё спросить, тоже часто англоговорящие.

То есть человеческий язык при написании программы используется для людей, которые его будут понимать, а не для машины. Машине абсолютно всё равно, написано ДобавитьДочерний или appendChild. Машинный код после компиляции будет идентичен.

Нет, таблицу символов и линковку никто не отменял. Библиотека с другими именами линковаться не будет.

X512 ()
Ответ на: комментарий от monk

Речь идёт (шла) не про сопровождение, а про написание.

Разговаривать на C++ я не могу. А писать я код могу только на каком-нибудь ЯП, не английском! На английском как программист я сопровождаю код и читаю документацию.

В этом подфоруме (Development) подавляющее большинство — программисты.

Из этого не следует что на форуме я код пишу, а не общаюсь. Закон достаточного основания, логику учи!

Так почему ты выбираешь для общения ЛОР, а не linux.org или слэшдот?

Не из чего что я говорил не следует что я предпочитаю общаться на английском. Ты ищешь противоречие где его нет и быть не может. ЛОГИКУ УЧИ, ЛОГИКУ! 🤦🤦‍♂️

erfea ★★★★★ ()
Ответ на: комментарий от X512

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

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

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

Также как и по браузеру.

Нет, таблицу символов и линковку никто не отменял. Библиотека с другими именами линковаться не будет.

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

monk ★★★★★ ()
Ответ на: комментарий от erfea

А писать я код могу только на каком-нибудь ЯП, не английском

Ещё раз напоминаю твою цитату: «Вот только даже если принять этот тезис на веру, получается так что «ДобавитьДочерний(<НовыйУзел>)» будет понятен некоему «Ваньке», а может даже и какой-нибудь «Мыкола». А вот «appendChild(node)» и эти двое отдупляют, и некто Джон и Акбулат, Арджун, Хуан, Няшгвй котик кун и даже Ашот.»

Для ЯП ДобавитьДочерний(узел) и appendChild(node) никак не отличаются. Но ты ратуешь за то, что надо писать appendChild(node). И мотивируешь именно тем, что в имени функции есть английские слова, понятные всяким Джонам.

Из этого не следует что на форуме я код пишу, а не общаюсь.

Не следует. Я лишь указал ложность утверждения.

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

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

monk ★★★★★ ()
Последнее исправление: monk (всего исправлений: 1)
Ответ на: комментарий от monk

Пользовательский интерфейс браузера и документация тоже часто на английском.

Нет. Все популярные браузеры переведены.

Также как и по браузеру.

Большинству специалисты по браузеру не нужны, там и без документации всё понятно. А с программированием дела обстоят сложнее.

А вот перевод программного интерфейса и документации к библиотеке почему-то ересью.

Но никто не мешает прикрутить или прикрутить перевод к компилятору или заменить экспортируемые символы библиотеки.

Я не видел механизма, позволяющего сделать у исполняемого файла несколько таблиц символов на разных языках. Если вы переведёте API на другой язык то сломаются бинарники использующие API на английском языке.

Собственно, чем den73 и занимается.

Оригинальные бинарники A2 на его системе работать не будут. Да и исходники тоже.

X512 ()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от ugoday

Я ж шутки шучу. Очевидно же.

Да тут двое до каждой буквы докапываются… вот я и занудствую слегка.

monk ★★★★★ ()
Ответ на: комментарий от monk

И мотивируешь именно тем, что в имени функции есть английские слова, понятные всяким Джонам.

Именно, английские слова в ЯП, пишут на ЯП, не на английском. ЯП же чуть менее чем все созданы из английских лексем.

Не следует. Я лишь указал ложность утверждения.

Утверждение ложно только если отождествить написание кода и/или документации с общением на форуме, а это отождествление запрещено формальной логикой. УЧИ ЛОГИКУ!

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

Твою же мать. Одги и те же логические ошибки раз за разом! ЛОГИКА! ПРОЧИТАЙ ЧЕРТОВ УЧЕБНИК ПО ЛОГИКЕ! Он возможно меньше по кол-ву текста, чем ты тут бессвязного бреда высераешь за день 🤣 🐒

erfea ★★★★★ ()
Ответ на: комментарий от X512

Нет. Все популярные браузеры переведены.

Настолько же, как и все популярные языки программирования.

Большинству специалисты по браузеру не нужны, там и без документации всё понятно. А с программированием дела обстоят сложнее.

Да? Про браузеры в Интернете спрашивают больше, чем про работу библиотек. Даже здесь: В новом firefox не работает аппаратное ускорение на youtube Смена протокола - как такое возможно ? Радужные шрифты в Firefox на Archlinux

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

Кто мешает просто добавить экспортируемые символы? Юникод там вроде работает.

Оригинальные бинарники A2 на его системе работать не будут.

Разве? Мне казалось, он старые экспортные имена оставлял. @den73, можешь прокомментировать?

monk ★★★★★ ()
Ответ на: комментарий от erfea

Очевидно, Вы правы, увы…

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

zabbal ★★★ ()
Ответ на: комментарий от monk

Оригинальные бинарники A2 на его системе работать не будут. Разве? Мне казалось, он старые экспортные имена оставлял. @den73, можешь прокомментировать?

что такое бинарники? Объектные файлы модулей при загрузке проверяют контрольную сумму ведущих модулей. Поэтому если даже перенести объектные модули из одной сборки в соседнюю, то они работать не будут. Никаких других бинарников я не знаю. Современная ЯОС несовместима с современной A2 именно поэтому. Но да, экспортируемые имена в ЯОС двухъязычные. Т.е. можно перенести исходник из A2 в ЯОС (с точностью до каких-нибудь багов в движке перевода) и он должен увидеть старые имена в используемых модулях и скомпилироваться. Опять же, с точностью до погрешности процесса. Правда, язык в ЯОС немного менялся, но по мелочи.

den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 2)
Ответ на: комментарий от monk

Да тут двое до каждой буквы докапываются…

Что, поймали тебя на вранье, передёргиваниях и логических несостыковках? Бедолага, как же тебе сложно :-D

zabbal ★★★ ()
Ответ на: комментарий от monk

Настолько же, как и все популярные языки программирования.

Chrome, Firefox, Edge, Safari переведены на многие языки включая русский. Остальные не популярные.

Да? Про браузеры в Интернете спрашивают больше, чем про работу библиотек. Даже здесь: В новом firefox не работает аппаратное ускорение на youtube Смена протокола - как такое возможно ? Радужные шрифты в Firefox на Archlinux

Это незначительные мелочи. И без решения этих проблем можно пользоваться браузером.

Кто мешает просто добавить экспортируемые символы?

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

X512 ()
Последнее исправление: X512 (всего исправлений: 2)
Ответ на: комментарий от erfea

ЯП же чуть менее чем все созданы из английских лексем.

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

только если отождествить написание кода и/или документации с общением на форуме, а это отождествление запрещено формальной логикой

Никакого отождествления нет. Это разные виды передачи информации другим людям. Я лишь пытаюсь понять, какой именно критерий, отличающий эти виды передачи информации, заставляет тебя в одном случае испытывать потребность передавать информацию иностранцам, а в другом — нет. Кстати, про StackOverflow ты так и не ответил.

monk ★★★★★ ()
Ответ на: комментарий от zabbal

чувак, я вот пытаюсь понять, ты не понимаешь, что сам выглядишь дураком? видит Будда, я за все годы пребывания на лоре, «школьниками» никогда никого не называл. считаю это глупым «оскорблением». но вот ты реально похож на девятиклассника-маргинала.

anonymous ()
Ответ на: комментарий от erfea

Утверждение ложно только если отождествить написание кода и/или документации с общением на форуме, а это отождествление запрещено формальной логикой. УЧИ ЛОГИКУ!

Утверждение, что посетители форума https://www.linux.org.ru/forum/development не являются программистами истинно? А чтобы оно стало ложно, написание кода должно быть тем же, что и общение на форуме??? Сам учи логику! У тебя с причинно-следственными связями проблемы.

monk ★★★★★ ()
Ответ на: комментарий от den73

что такое бинарники?

*.obw файлы.

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

Если всё правильно делать, то будут. Пользователи BlackBox даже ругались что поломали бинарную совместимость, добавив методы Closed, Shared в Files.File.

X512 ()
Ответ на: комментарий от X512

Если интерфейсы не менять, то да, будет совместимость. Но не менять интерфейсы = остановить развитие. Тут уж нужно выбрать что-то одно. В Блекбоксе выбрали совместимость, но там масса готовых приложений. В ЯОС приложений нет. В A2 они есть, но это частные приложения, от которых сообществу никакой пользы нет. Хранить совместимость с чужими частными приложеними нет никакого смысла.

den73 ★★★★★ ()
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

Но не менять интерфейсы = остановить развитие.

Есть способы расширять интерфейсы не ломая совместимость. Например наследоваться от абстрактных интерфейсов и использовать фабрики (Directory в терминологии Оберона).

В Windows сохраняется совместимость API с Windows 1.0, но почему-то развитие не остановилось.

X512 ()
Ответ на: комментарий от X512

Chrome, Firefox, Edge, Safari переведены на многие языки включая русский. Остальные не популярные.

С, С++, Pascal, Python, BASIC переведены на многие языки включая русский. Остальные не популярные.

Это незначительные мелочи.

Так с любой конкретной библиотекой ещё более мелочи.

Я представляю много проблем, которые могут возникнуть.

Например? Чем кому помешает дополнительный экспортный символ на тот же адрес? Или даже функция-обёртка-однострочник.

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

ЯОС/А2.

monk ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)