Как стать автором
Обновить

Комментарии 425

В этом отношении я согласен с Юрием

Да нормальный же язык:
ПЕР колво: ШИРЦЕЛ;
УКАЗ
колво:=10;
КОН
<!ДОКТИП ягтр>
<ягтр>
  <голова>
    <осебе кодировка="фпу-8">
    <заголовок>Если бы интернет изобрели в СССР</заголовок>
    <стиль>а { цвет: военноморскогофлота; }</стиль>
  </голова>
  <тело>
    <а>А ещё на клавиатуре были бы только русские буквы и не нужно было бы всё время переключать раскладку!</а>
  </тело>
</ягтр>

Как вы собираетесь угловые скобки вводить, не переключая раскладку ))

Раскладка была бы одна, но со всеми необходимыми знаками.

просто на клавиатуре было бы больше кнопок))

Кодировка "ФПУ-8"? Безобразие! Язык разметки ЯГТР должен использовать исключительно КОИ-8 (ГОСТ 19768-93)

Только "голова" заменить на "шапка" и норм, можно работать

"тело" заменить на "туловище"

Лого - учебный язык программирования (появился в 196; в 1997 году вышла российская версия):

ДЛЯ ПРИВЕТСТВИЯ
ПИШИ [Привет, мир!]
КОНЕЦ
ДЛЯ ОТВЕРСТИЯ
СВЕРЛИ [По утрам!]
М*ДАК

Слова ДЛЯ и КОНЕЦ обозначают начало и конец функции. Пожалуйста, исправьте вашу программу, чтобы произведение сомножителей М и ДАК сверлило себе КОНЕЦ.

Программа выглядит неоптимизированной, её явно писал джун. Опытные специалисты знают, что по ночам стены мягче. Если провести оптимизацию - указать во второй строке [По ночам!] - работа программы заметно ускорится.

А зачем в программе перерывы на остальные времена суток? Эффективность же падает. Это же не какой-то порядочный человек. Ему ни есть, ни спать, ни отдыхать не надо.
🙃

Ночью электричество дешевле.

Хм, т.е. [По утрам!] и [По ночам!] подобны атрибутам из c++…
Т.е. наоборот! Создатели Лого задали направление c++!

появился в 196 - у праславян, видимо..

На обычной клавиатуре нужно постоянно переключаться на латиницу. Неудобно.

Рекомендую поставить переключение на caps lock и станет достаточно удобно)

Для того чтобы ввести []{}~@#' всё равно нужно переключаться.

Если чуть заморочиться, эту проблему можно решить

Как одинэсник, я давно нашел для себя решение: поставить Keyboard Maniac и прописать там макросы, чтобы кнопки с Ctrl работали, как будто включена английская раскладка: Ctrl+Х -> [, Ctrl+Ъ -> ], Ctrl+7 -> & и т.д.

И всё равно в результате получается вот такая путаница «n» и «н», как у автора
Заголовок спойлера
цикл 1..Цел(ввод())
   пер n = Цел(ввод())
   пер a = ввод().разделить(‘ ’).применить(Цел)
   пер ответ = (0 .< n).применить(н -> н + 1) // можно сократить до `пер ответ = Массив(1..n)`
   если a.послед == 0
      вывод_эл(ответ [+] (n + 1))
   иначе
      цикл(н) 0 .< a.длина
         если a[н] == 1
            вывод_эл(ответ[0.<н] [+] (n + 1) [+] ответ[н..])
            цикл.прервать

Объявить N и русскую Н графическими вариантами одного и того же символа, как в КОИ-7?

Да а потом туде же прописную H английскую добавить, потому как выглядит также.
Вот потом весело будет всякие сюрпризы при отладке ловить…
получается вот такая путаница «n» и «н», как у автора

А в чём тут путаница?


Переменная n названа так т.к. в тексте условия задачи на русском языке написано "строка набора входных данных содержит одно целое число n".
А переменная н обозначает просто порядковый номер. Можно было бы использовать i либо x, но, на мой взгляд, в данном случае н подходит чуть лучше.

Меня смущает то, что переменная n объявлена (во 2-й строке), а переменная н не объявлена нигде. Так что больше похоже на путаницу.

И escape.

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

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

Мне кажется это худшее решение из всех возможных.

Огласите весь список возможных решений, чтобы понять, которое из них худшее :)

Когда одна клавиатура на две машины, и ты нажимаешь DEL не для той машины...

Так, вроде, речь о двух клавиатурах для одной машины...

Это все сходные проблемы - неочевидная работа клавиатуры

Идея интересная, но слишком замудрённая. Даже если и есть, то вряд ли они пользуются широким спросом

Правокод - полный по Тьюрингу dsl для юристов, безскобочная нотация.
Написанный код может быть прочитан и верифицирован без изучения dsl.
Реализован транслятор в python.

Интересный комментарий - гугление по слову "правокод" дает ссылку лишь исключительно на данный комментарий, интернет по поводу "правокода" ничего не знает. Если где-либо можно узнать подробности, то где?

В отношении темы в целом - почему-то забыта система "Мастер", разработанная в начале 1990-х.

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

Правокод - внутреннее название проекта. Для внешних пользователей есть лендинг, с маркетинговой фигнёй: https://sberpravo.ru/legal-tech - "legal rules". Есть еще патент, но он как большинство патентов мутный: https://yandex.ru/patents/doc/RU2702967C1_20191014 .

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

Неплохая идея, но семантически это те же формы, что и обычное программирование, но мне лично приходят в голову такие идеи, что программирование можно построить и на семантических иных началах, а в случае "правокода" - это обычные семантические формы характерные программированию.

Еще раз спасибо за пояснения!

То, что спойлеры вложены друг в друга - это так и задумано?..

полагаю это намек на Форт ;)

Спасибо. Очень наглядно для не программистов.
Про Clang не упомянуто. Позволяет писать на русском названия функций и переменных.
Так это сейчас практически любой язык позволяет, будь-то C#, JavaScript или там Паскаль. Просто так писать непрактично, даже если вам не нужно, чтобы ваш код читали нерусскоязычные разработчики, вам просто надоест постоянно переключать раскладки.
НЛО прилетело и опубликовало эту надпись здесь
И вот идея для тех, кто хочет русский язык в программировании:

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

Избыток свободного времени - это единственное разумное обьяснение, приходящее мне в голову. Ну, или надежда присосаться к бюджету.

1С не является и никогда не являлся языком общего назначения. Так что нет, не достаточно.

У меня в vscode стоит плагин переводящий комментарии (хотя на самом деле переводит любой выделенный текст) при наведении мышки. Так что мне без разницы на каком языке исходный код и комментари к нему

Подскажите название плагина, пожалуйста

Благодарю

А не проще комментарии тоже на английском писать?

НЛО прилетело и опубликовало эту надпись здесь

Комментарии — это одно, идентификаторы — другое. Последние попросту слишком часто встречаются вперемешку с ключевыми словами и требующей другой раскладки пунктуацией.

"Непрактично? Подержи-ка мое пиво!" - сказали китайцы. В сименсовском софте (например, в таком ) уже очень давно можно писать имена символов на любом языке, в том числе на китайском. И китайцы так делают постоянно. Переменные, дата-блоки, функции - все на китайском. Особенно весело, когда установка приходит в неработоспособном состоянии, и все на китайском, включая ПО и схемы. Причем схемы не соответствуют действительности, а обозначения в схемах и в ПО контроллера разные (разумеется, и там, и там иероглифы).

function კვადრატი(عامل) {
  return عامل * عامل;
}
const सरणी = [1, 2, 3];
const 新陣列 = सरणी.map(კვადრატი);
console.log(新陣列); // [1, 4, 9]

Можно даже вот так:

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

Но ведь этот код всегда будет печатать какашку :) Кстати, как оказалось, не так уж и сложно читать этот код. Я потратил пару минут, чтобы знакомые конструкции начать распознавать)

Никто не спорит, что можно себя приучить читать и такой код. Вопрос исключительно в ощущениях в процессе. Чувствуете, что у нас особый путь и так гораздо лучше, чем было? :)

Чувствую лёгкую эйфорию, как будто иероглифы расшифровал :) На деле мне вообще пофигу на естественный язык используемый в качестве базового в ЯП. Я слова обычно не читаю и не думаю, я думаю смыслами, что они несут. if он и в Африке if, вне зависимости от того, написано там, "если", нарисован фрукт или какая-то другая абракадабра.

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

Некоторые через чур злоупотребляют макросами.

Напоминает задачку "Chuck Norris" с Coding Game.

с таким кодом никакая обфускация не нужна )

И чем это отличается от конструкторской документации на ракетные двигатели на русскому языке?

Если эта документация предназначена на экспорт, то ничем.

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

Японских проектов автоматизации я пока не видел, возможно это так. Готовое оборудование - немного имел дело с Mitsubishi. Достаточно качественная документация на английском языке. Для китайских вендоров это огромная редкость. Из "обычного" японского софта приходилось работать с вот этим opensource проектом. Нормальные имена переменных на английском, попадаются комменты на японском. Но это опенсорс, так что, возможно, пример непоказательный :)

Любимая фишка китайских разработчиков конфигураторов и утилит для их же железок - конфигурация читается из какой-нибудь директории с названием иероглифами, желательно с диска M:. Я уже заколебался их творения декомпилировать, благо что про релиз-мод и тем более обфускацию они не слышали...

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

В сименсовском софте (например, в TIA portal ) уже очень давно можно писать имена символов на любом языке, в том числе на китайском. И китайцы так делают постоянно. Переменные, дата-блоки, функции — все на китайском. Особенно весело, когда установка приходит в неработоспособном состоянии, и все на китайском, включая ПО и схемы. Причем схемы не соответствуют действительности, а обозначения в схемах и в ПО контроллера разные (разумеется, и там, и там иероглифы).

это же посерьёзнее, чем отключение от SWIFT…

Я этим пользовался когда в (стороннем) swagger были прописаны русские названия переменных. Проще смириться со сгенерированным кодом (который постоянно обновляется) и переключением раскладок, чем каждый раз всё переименовывать.

"если" длинне чем "if", "цикл" длиннее чем "for", вот отсюда и появляются всякие "колво".

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

Русский язык в программировании

... не нужен.

Использовал переменные на кириллице в python, когда пытался повторить расчёт зарплаты бухгалтерией. Всякие тарифные оклады, должностные оклады, надбавки за категорию, повышения и прочие тарифные ставки 1 разряда. На английский и обратно это плохо переводится (и через пару месяцев забудется), а транслит использовать как-то неприятно.

И вы только что точно описали причину, по которой большинство решений на 1С было написано на русском, при наличии англоязычных вариантов ключевых слов.

В Excel с формулами кошмар = формулы на русском не работают в англоязычной версии. :(

Я вас вполне понимаю =) Меня это решение в MS Excel тоже всегда удивляло.
У 1С, кстати, с этим проблем чуток поменьше - т.е. английский и русский можно (в случае с всякими "ФабрикаXDTO", к сожалению, иногда и нужно) смешивать, и вроде с большего работает нормально, хотя и не без косяков.

Там это просто магические заклинания, надо выучить и не думать, никакой мнемоники. Редактор формул ущербен, отсюда максимальное сократительство. Например, что такое ВПР? В результате выходит какой-то диалект падонкаффского, ЕСЛИ ЗНЧ БЛШ ОКРУГЛВВЕРХ

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

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

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

Путиси.. путиси... вот поэтому и не приживается.

Во всём виноваты шрифты?

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

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

Именно это я и имел в виду!

Вот абсолютно верный коммент! Английский это аналитический язык и использовать русский для программирования, это петь "русский рок" - вроде музыка, но это не rock)))

"Русская скала"? :)

Булыжник — орудие пролетариата!
НЛО прилетело и опубликовало эту надпись здесь

RADIO TAPOK ?

Самое загадочное - КРАСЬСТРЕЛК(И)

Упаси боже такая статья попадется нашим чиновникам

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

Но в результате все равно все программисты будут писать на нормальных языках - ибо глобализация и никуда от нее не деться

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

Но никто никогда не пишет – зачем? Для чего создаются подобные шедевры, что движет их авторами? Какие перспективы они видят для своих творений?

Очень хотелось бы почитать мнения поддерживающих идею «русских» ЯП, а в идеале самих авторов, если таковые прочитают этот комментарий.

Я же вижу только одно разумное предположение – just for fun.

Как учебный язык для детей.

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

не стоит сразу начинать засорять мозг тем, что ему потом никогда не пригодиться во первых, и во-вторых, придется перепривыкать к нормальному кодингу…

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

Позвольте докопаться/поинтересоваться.

Но где Вы видели английский в школьной программе с первого класса?

У меня дочь сейчас переходит во второй класс, вот там да, будет английский язык, но в первом классе его нет. Если что, то я говорю за Санкт-Петербург.

Что за мелкие претензии?

Надо делать правильные шаги в отношении английского.

Надо заявлять:
1. Человек вправе не знать английского языка.
2. И при этом быть программистом.

Если что, я такого не заявляю. Но тот кто манифестирует «английский приди, порядок наведи» — ССЗБ.

Английский - язык международного общения для программистов. Актуальные книги на английском, профессиональные конференции на английском (даже на исконно российских конференциях нередко бывают англоязычные спикеры), и даже самое каждодневное - документация по платформам/фреймворкам/библиотекам на английском. Переводы на русский появляются или с запозданием и ошибками, либо не появляются вообще. Крупнейшие форумы и профессиональные ресурсы на английском. Переписка в списках рассылки и GitHub issues опенсорсный проектов между людьми из разных стран мира идёт на английском. Комментарии к коду на английском будут полезны программистам со всего мира, и они смогут переиспользовать этот код или поучаствовать в его разработке. И вы тоже сможете.

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

Да, и я не возражал к этому, до определённой даты.

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

Но аргумент «весь мир» очень близок к аргументу «все так делают», не находите?

Но после определённой даты

Какой именно?

Но аргумент «весь мир» очень близок к аргументу «все так делают», не находите?

Если в данном случае делать так, как делают все, несёт в себе большой ряд существенных преимуществ (см. выше), то в этом нет абсолютно ничего плохого.

Какой именно?
Через два дня от даты с одними двойками.
Если в данном случае делать так, как делают все, несёт в себе большой ряд существенных преимуществ
Разумеется, нужно выбирать лучший вариант. А какой вариант лучший мы все знаем.

Но после определённой даты возникло подозрение, что английский имеет негативное влияние на разум.

Через два дня от даты с одними двойками.

И почему же вы так решили?

И почему же вы так решили?

Если вы хотите действительно обсудить, то задайте точный вопрос, чтобы было без моих домыслов.

Вы сказали, что после 24.02 у вас возникло подозрение, что английский язык имеет негативное влияние на разум, я спросил очень даже точный вопрос: почему у вас возникло такое подозрение?

Людей на Земле условно можно поделить на знающих русский и знающих английский. Условность — в отбрасывании других двух вариантов. В эту дату началась война, условно неизвестно кого с неизвестно кем. Условно потому что на этот счёт есть разногласия. Дата тоже условная. Существуют разногласия и по поводу причин этой войны и по поводу того куда она ведёт. Удивительно, но между делением кто как что понимает и знанием языка в моём воображении существует корреляция. По этому вопросу у меня есть позиция, соответственно, противоположную позицию (тут всё до двух вариантов сведено, для простоты) я считаю заблуждением. Корреляция приводит к тому что есть подозрение, что и язык влияет на понимание. Но если бы мне надо было кого-то в чём-то убедить, я бы конечно взял реальную статистику, а не воображаемую корреляцию.
Кроме того, корреляция не означает причино-следственную связь. Возможно одна и та же причина создаёт оба разделения.

Эта причина, какова бы она ни была, обращает внимание, что к понятию «своё» надо относиться последовательно.

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

Т.е. надо массово учить английский.

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

Знание лучше веры.

А знание веры ещё лучше.

Знание веры независимо от знания объекта веры. А вот знание объекта веры несовместимо с самой верой (по определению веры).

Или всё ещё сложней и интересней, потому что вера может выступать в качестве не полученного, но использованного знания.

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

Вера в случайность не позволяет везение считать не случайностью.

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

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

Разве не удивительно, что качество информации оценивается по количеству?

Нет конечно. Чем больше выбор, тем больше шансов найти среди предлагаемого нечто качественное (это не только к информации относится).

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

2) При большем количестве источников с разными позициями появляется возможность увеличить качество информации путём личной интеллектуальной деятельности (сопоставить их друг с другом).

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

Ну, это в целом вписывается во второй пункт, но да, согласен, значимо.

А я вот считаю что измерение информации количеством это близко к позиции «все говорят», «все так делают».
И оговорка «больше шансов» не спасает. Выбери один из миллиона кирпичей и съешь.

Честно говоря, этот ваш подход больше похож на самооправдание, чтобы продолжать жить в привычном информационном пузыре.

Давайте общаться приятно для обеих сторон.

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

Без разборов по существу всё скатится к оскорблениям. А по существу это другая проблема, чем в топике.

Впрочем, позиция «английский язык хорош» подорвана. И речь не только не о программировании. Но ещё и о программировании.

«везде где надо говорят, одно и тоже, только выбирай»

Лично я как раз акцентировал внимание на том, что говорят не одно и то же, и именно это "не" и превращает количество в качество. Впрочем, если для вас позиция англоговорящей стороны - заведомая ложь, а русскоговорящей - нет, то, разумеется, "приятным для обеих сторон" разговор не будет (кроме случаев, когда ваш собеседник думает так же).

Ну даже в том что «одно и то же» или не «одно и то же» есть вовсе не два варианта понимания. Что если говорят разное, но по сути одно и то же?
И это добавляет вариацию: согласие с этим разделением уровней. Или противоположное, принятие множественность форм за авторитет?

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

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

Ваш комментарий можно написать всего тремя словами «передумать не пробовал?»
Предлагаю переформулировать.

после определённой даты возникло подозрение, что английский имеет негативное влияние на разум

Мысли о возможности жить и работать за границей?

Ну, при такой логике наоборот можно сделать вывод, что английский имеет очень положительное влияние на разум :)

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

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

За границей — это туризм, не эмиграция же? Ведь эмиграция — положительное понятие или отрицательное — уже дело вкуса. Или всем известно какой вариант правильный?

Но где Вы видели английский в школьной программе с первого класса?

Уфа, 1996 год :) Правда, там была не средняя школа, а гимназия.

А, ну так то понятно :) Я думал мы про современную школу говорим :)

Хотя у меня дочь учит английский еще с садика, благо попался частный садик :)

Возможно и со второго. Младший уже в пятый пошел, я честно говоря не помню точно.

Но где Вы видели английский в школьной программе с первого класса?

Таштагол, Кемеровская обл. Средняя Образовательная Школа #10. Учили правда так себе, но английский был с первого класса.

Давно это было? Мне для статистики.

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

В школе у моей дочки английский с 1 класса. По желанию, правда. Алфавит учили и слова простые.

По желанию как факультатив после школы?

Спросили родителей, большинство высказалось "За". После этого добавили в расписание еще один урок. Это обычная районная школа, Питер.

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

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

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

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

русский человек думает на русском

Я не русский (и не украинец), и когда я говорю на русском я думаю на русском, а когда говорю на английском я думаю на английском.

Выглядит как отсутствие возражения.

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

А когда пишу код, я думаю о том, что будет делать код, а не о слове, которое набираю

НЛО прилетело и опубликовало эту надпись здесь

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

Я правильно понимаю, что сейчас условные американцы\англичане пишут более доступный, точный, ясный и безопасный код, чем условные русские разработчики?

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

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

Замените "американцы\англичане" на "люди, для которых английский язык является родным" и попробуйте ещё раз

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

Интересно, каким местом Python английский;) Расскажите англичанину, что является столицей Великобритании , только на Python;) Что то мне кажется что native speaker вас не поймет:)

На ассемблере тоже можно попробовать спросить как пройти в библиотеку ;)

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

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

(Не минусовал)

Для языков программирования родной/не родной — вполне определённая классификация. Вышло обновление Питона, в нём сказано «ура, новая функция, называется (новое английское слово) — ведь все англоязычные знают что оно означает — это так удобно!». Нет, не удобно.
Вот до этого момента вот именно этим словом и не пользовался, а теперь надо доучивать.
Так что вопрос удобства кодирования это одно, а удобство расширения, развития это другое.

Вот например добавился в python некий walrus operator :=

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

Анголязычным как раз только один шаг до распознавания в таком значке зубов моржа, а вот мне как русскоязычному вспоминается песня битлов «ай эм э валрус», и надо вспоминать о ком была та песня. Для начала.

А те кто Битлз не слушали, тем совсем никак ;)

И как поможет знание того, что walrus это такое животное с бивнями, в понимании смысла этого оператора?

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

Вопрос к @yurixi. Как вы думаете, почему создатель Python - голландец - использовал для своего проекта английский язык?

Думаю, причин две. Высокая распространённость и подходящая для кодирования простота.

Да. Высокая распространенность -> больше аудитория -> проще создать большое и активное сообщество -> язык лучше развивается и проще в использовании. Для всех, в том числе и для тех, у кого английский - иностранный.

Я давно причислил аргумент «все так делают» к глупости.
Я веду диалог с позиции творчества, идея русского языка хорошая, стоит реализации.

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

Ну что за глупость??

Инженеры-конструкторы в России оформляют чертежи по стандартам ЕСКД. По-вашему совет молодому специалисту "оформляй чертежи по ЕСКД, потому что так делают все, тогда другие инженеры смогут понять твои чертежи, а ты сможешь понять чужие" будет являться глупостью?

Аргумент «как все» подразумевает что стандарт выбран за тебя.

Аргумент «по стандарту», означает что ты сам выбрал стандарт, и понятно кто и зачем его выполняет.

А то что вы на автомате пропускаете различие — да, это глупость. Именно та, которая содержится в аргументации «как все».

Все пойдут с девятого этажа прыгать и на английском программировать. Соглашайся только во втором случае, в первом не соглашайся.

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

Инженер в большинстве случаев сам не выбирает стандарт, а использует тот, что общепринят в индустрии. Именно поэтому российские ЕСКД, кстати, практически полностью соответствуют международным ISO.
С языком то же самое - программист, если ему важно, чтобы над его кодом могли работать другие, и ему самому было привычно работать с чужим кодом, осознанно выберет именно один из тех языков, который поймут другие (при условии что этот язык подходит для решения его задач).

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

Все пойдут с девятого этажа прыгать и на английском программировать. Соглашайся только во втором случае, в первом не соглашайся.

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

Утверждение «минусы иллюзорны» субъективно. О некоторых минусах можно даже не задумываться.
В общем, можно сойтись на том что не надо решать за других.
Я давно причислил аргумент «все так делают» к глупости.

Все в России разговаривают на русском языке. По вашей логике делать как все это глупость. Почему вы тогда разговариваете на русском языке, как делают все, а не на своем выдуманном?
Или все-таки это по каким-то причинам не является глупостью? Можете тогда сформулировать эти причины?

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

Но вы действительно страдаете этой проблемой, чтобы я вас от неё отучал? Действительно если все скажут «оно вкусное» на солёное, как в опытах над детьми, которые соглашались если все другие скажут то что отличается от их мнения, вы согласитесь?

По-моему, я даже в детском садике закричал бы «да вы что, охренели все?»

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

Аххаххахахаха, а может чел решил на волне истерии против коллективного запада хайпануть и заработать 30 тетрадрахм на разработке православного языка программирования?

А что, идея неплоха, может и прокатить. Вон же, хотели православный 3D движок, чем ЯП хуже.

Нет, я как раз пытался обсудить содержательно, выслушивая и вникая в высказывания собеседника, возникая только на явно убогих аргументах «ну, все же так думают/делают».
С математической точки зрение ваши слова выглядят как «У меня есть убеждение, но доказывать я его не буду, мне достаточно того, что оно есть у многих, вам тоже должно быть этого достаточно. Я же с ними согласился, и мы все теперь правы.»

Ну то есть, с математической точки зрения идеальный образец лажи.

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

Вы явно дружите с головой.

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

«Миллионы людей живут и работают во сне» — цитата из матрицы — не о том, что к мозгу подключены провода, а о том что мозг убаюкивает сознание, предостовляя основания убеждения не через доказательства, а через принятие того, что того что уже есть — достаточно для убеждения. Сон так и работает. Всё это и есть сон разума.

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

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

Тренируйте мозг, понимайте, кто кого на основании чего убеждает. И когда НЕ убеждает — тоже надо это понимать, а не то — будут являться чудовища там где их нет.
почему не надо быть баранами и не относиться к аргументации «все так делают» с полной серьёзностью

Ну так в том и дело, что с серьезностью относитесь к ней вы и на основании этого называете окружающих глупцами.


Но вы действительно страдаете этой проблемой, чтобы я вас от неё отучал?

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


Действительно если все скажут

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


Продолжая вашу аналогию, люди говорят вам, что то, что вы им предлагаете, "соленое и невкусное", потому что оно им не нравится, то есть делают именно то, что вы считаете правильным. Просто получается так, что это не совпадает с вашим мнением.

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

почему в данном случае вы не считаете глупостью делать как все

«Почему вы делаете как все?»
«Почему вы выбрали делать так как делают все?»
Улавливаете разницу?
«Потому что так делают все»
«Потому что оценил преимущества и выбрал»
А так?
Вряд ли утверждение "(вот этот) аргумент — глупость" — это название кого-либо глупцом

Это именно так.
Глупец — "Тот, кто поступил, вел себя глупо, сделал или сказал глупость."
Вы говорите, что они делают глупость, значит подразумеваете, что они являются глупцами, по крайней мере пока они так делают.


Улавливаете разницу?

Я же попросил ответить прямо. Если решили участвовать в дискуссии, соблюдайте пожалуйста общепринятые правила ведения дискуссии. В частности, это означает, что на вопросы надо отвечать прямо, а не намеками.


«Потому что оценил преимущества и выбрал»

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

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

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

Куда прямее? Если вы скажете «так надо делать потому что так делают все» — я назову это глупостью и разрешу вам домыслить, что вы и сам глупец.

Тот кто объясняет почему бы он сам не стал развивать русский язык программирования — вполне правильно ведёт диалог. А тот кто возмущён, почему это кто-то вдруг не стал повторять за всеми и сам не видит разницы между существованием и отсутствием момента осмысления — тот вы.
А здесь у нас с вами что за затык?

Затык в том, что вы уходите от ответа на вопросы.


Куда прямее?

Напоминаю мой вопрос:
Почему вы тогда разговариваете на русском языке, как делают все, а не на своем выдуманном?
Или все-таки это по каким-то причинам не является глупостью? Можете тогда сформулировать эти причины?


Ответа на него вы не дали. Прямой ответ на этот вопрос должен начинаться "Я разговариваю на русском языке, как делают все в России, и не считаю это глупостью, потому что ...".


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

А почему вы решили, что ваши собеседники делают так без осмысления? Вам неоднократно привели аргументы, почему они так делают.


А тот кто возмущён, почему это кто-то вдруг не стал повторять за всеми и сам не видит разницы

В словах ваших собеседников ничего подобного не было. Вам неоднократно объяснили преимущества, почему в данном случае надо использовать общепринятые решения. Они указаны прямо в том комментарии, на который вы ответили, что аргумент «все так делают» это глупость. Я пожалуй их процитирую:
"проще создать большое и активное сообщество"
"язык лучше развивается и проще в использовании"


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

Я разговариваю на русском языке, как делают все в России, и не считаю это глупостью, потому что
Дело не в том что так делают все, а в том что этот язык для меня родной. Вам помог этот очевидный ответ найти разницу между «как все» и другими вариантами аргументации?
это вы приписали ему эти слова.
Как бы вы себя чувствовали если бы тот кому я так ответил тут же со мной согласился? Вы бы предположили, что с вами что-то не так, да? Что-то до вас не дошло бы в этом случае. Явно что-то упускаете.
Дело не в том что так делают все, а в том что этот язык для меня родной.

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


Вам помог этот очевидный ответ найти разницу между «как все» и другими вариантами аргументации?

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


Как бы вы себя чувствовали если бы тот кому я так ответил тут же со мной согласился?

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

не делать как все

Вот ты и попался. Отрицание аргумента «делать как все» не приводит к аргументу «делать не как все». Ну что, школьник, уроки все сделал? Шучу, не обижайтесь.

Но если серьёзно, прям загадка, как это так? Вроде рассуждать умеет, но вот как это у вас происходит — отрицание сразу шатает в противоположность да? А вы точно программист? Как можно приписывать мне аргумент «хочу не как все» на основании «не хочу как все»?

Различие мимо проходит, что ли, не улавливается?
говорит аргумент, который является противоположностью

Давайте закончим. Ну зачем мне разговаривать с человеком который думает, что рубит в логику, а сам не рубит? Я ж от смеха лопну. Я уже один раз пошутил, а дальше ещё одно подтверждение.

Да, собеседник не выражал согласия. Но эти два мнения просто не логические противоположности, как вы сами себе придумали. Так что вполне мог.
Отрицание аргумента «делать как все» не приводит к аргументу «делать не как все».

Приводит. "Ничего не делать" тоже означает "не как все".


Как можно приписывать мне аргумент «хочу не как все» на основании «не хочу как все»?

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


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


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


Но эти два мнения просто не логические противоположности, как вы сами себе придумали.

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

вы сказали, что делать как все это глупость
Так так. сравним.
Я давно причислил аргумент «все так делают» к глупости.

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

Я предполагал, что вы умный человек, и не будете участвовать в дискуссии, подразумевая этот вариант.
У умного человека целых три варианта. Так и запишем. Не больше и не меньше.
Я не умею читать мысли, и поэтому не могу узнать, какие другие варианты, противоречащие логике, вы себе придумали.
На арене выступает человек, не умеющий читать мысли другого человека, но точно знающий, что они противоречат логике!

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

Разница в существовании момента осмысления перед выбором. Если первое сообщение подразумевает, что выбор просто разумен, и его можно рассмотреть, то нет никакого противоречия. И даже со вторым сообщением автор первого может согласиться. А если подразумевает, что надо просто повторить, то осмысления нет и тогда есть противоречие.
Делать как все, или аргументировать через то что все так делают? Вот неразрешимая для вас загадка.

Вы снова приписываете собеседнику свои домыслы.
В данном случае разницы никакой нет, потому что если делать как все это не глупость, а логичное поведение, то и аргументировать этим не глупость. Аргументировать отсылкой к действию, про которое известно, что оно аргументировано, это логично. Это как с теоремами в математике, доказали одну, через нее можно доказывать другую.


У умного человека целых три варианта. Так и запишем. Не больше и не меньше.

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


На арене выступает человек, не умеющий читать мысли другого человека, но точно знающий, что они противоречат логике!

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


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

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


— То есть человек не говорил, что причина в том, что все так делают, это вы приписали ему эти слова.
— Как бы вы себя чувствовали если бы тот кому я так ответил тут же со мной согласился?
— … все эти "если бы да кабы" никак не меняют факта, что человек этого не говорил.
— Да, собеседник не выражал согласия… Так что вполне мог.


Я говорил о том, что человек не говорил аргумент, что "все так делают".
А вы почему-то решили, что под "не говорил" я подразумевал его согласие с вашим комментарием.


А тот кто возмущён, почему это кто-то вдруг не стал повторять за всеми и сам не видит разницы между существованием и отсутствием момента осмысления — тот вы.

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

Делать что-то исключительно по причине что "все так делают" это глупость.


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

Англичане программируют на 'родном', но это им не даёт преимуществ. Другие народы, для которых английский является родным, тоже не получают преимуществ. Русские могут получить преимущества, я правильно понимаю?

Да, из-за того что сам русский язык другой.

А есть конкретные примеры того, что именно есть в русском такого, что поможет писать более ясный и безопасный код? Склонения? Падежи? Что?

Мы обсуждаем то чего ещё нет, но в общем, возможно.
Преимущества навскидку? В русском языке есть разные окончание для розного рода, и поэтому упомянув переменные, названные разными родами, повторное упоминание в этом же предложении можно обозначать его/её, и будет ясно о чём речь. Или привязать глагол, и по одному окончанию будет ясно к чему он относится. Но сам русский язык программирования я вам сейчас сходу не придумаю. Даже указанные особенности могут восприниматься сейчас не как преимущества. При общении — рода, падежи и склонения помогают, остаётся эту помощь воплотить в программировании.

есть разные окончание для разного рода

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

Ваш ответ упоминает мою опечатку. Только целиком ваш ответ по вашим понятиям должен выглядеть как «у вас тут какая-то не такая буква, и я ничего не понял». Именно так делают компьютеры.

При общении — рода, падежи и склонения помогают, остаётся эту помощь воплотить в программировании.

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

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

Было бы реально круто!

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

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

А вдруг(!) компьютер потому и тупой что программируется на английском?

Ужасно. Серьёзно, у вас мысли на уровне Задорнова (не комплимент).

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

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

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

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

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

Так я про это и пишу - вы как и Задорнов приписываете языку какие-то мистические свойства.

А так — вы действительно думаете, что составлять программы пользуясь микрофоном и динамиком было бы хуже?

Я вообще не понимаю этого аргумента - это в каких случаях надиктовывание текста годится для чего-то, кроме дневника капитана в "Звёздном пути", или заметок патологоанатома? И то во втором случае это в итоге переносится на бумагу.

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

Английский язык подходит для кодирования потому что сам похож на кодирование.

Каким местом английский язык похож на кодирование? Разве что некоторые слова из английского совпадают с ключевыми словами из некоторых языков программирования. Так с русским то же самое ;)

Как каким, а одинаковые формы слов относительно разных форм для разных падежей в русском языке?

Как вам времена из английского языка?

Что вы имеете ввиду?

Что вы имеете ввиду?

В английском языке есть времена. Их много. Попробуйте закодировать ;)

А вы что имеете в виду (с примером если можно)?

Под кодированием на английском я имел ввиду обычное программирование с названиями, взятыми из английского, благодаря отсутствию падежей издалека это выглядит как грамотная конструкция. А вот «вернуть переменная» на русском уже выглядит не грамотно.

благодаря отсутствию падежей издалека это выглядит как грамотная конструкция

Очень издалека. Для меня тоже любой набор иероглифов выглядит как образец каллиграфии.

А вот «вернуть переменная» на русском уже выглядит не грамотно.

Всего то? Ну кодируйте "переменная" и "переменную" в один токен var и будет компилятору всё равно, а вам будет щасьтье.

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

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

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

Фэйспалм... ЭТО НИКОМУ НЕ НУЖНО. Нужна возможность видеть всё состояние программы, нужна возможность условных остановок, возможность отлатки дампов, куча всего нужно - но не голосовая озвучка. И не распознавание голоса. И не суверенный язык программирования.

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

Я бы что-нибудь полезное сделал.

либо теоретик.

Либо просто тролит ;)

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

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

много домысливает, и только рамках своих представлений.

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

более удобный вид общения

Автоматы Милли/Мура не умеют в общение.

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

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

Да, я это и имел в виду. Я не настоящий рубист, мне простительно. Все равно выглядит как жесткий изврат.

Как правило, программирование - это кодирование алгоритмов. Сможете придумать алгоритм, в котором можно как-то использовать "упомянув переменные, названные разными родами, повторное упоминание в этом же предложении можно обозначать его/её, и будет ясно о чём речь"? Потому что о чём речь я не понял ;)

Я бы сказал объяснение алгоритмов. Если компьютер поймёт фразу «возведение в квадрат это умножение числа на него же», то это и будет примером. Другой вопрос — видны ли преимущества?

Если компьютер поймёт фразу «возведение в квадрат это умножение числа на него же», то это и будет примером.

Тут 2 вопроса:

1 - а компьютер поймёт эту фразу?

2 - y = x*x выглядит достаточно понятно, но значительно более лаконично.

3 - попробуйте описать ряд Фурье на русском языке. А в метематической нотации это одна формула, которая достаточно тривиально кодируется на любом ЯП.

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

хм… какие чудные уязвимости можно заложить в таких формулировках:
«сходи в магазин, купи одну булку хлеба. Если будут яйца, то купи десяток..»
Если компьютер поймёт фразу «возведение в квадрат это умножение числа на него же»

Он уже может это понять, русский язык для этого не требуется.


function square(number) {
  let itself = number
  return number * itself
}

функция возведениеВКвадрат(число) {
  значение него = число  
  вернуть число * него;
}

Грамматический род слова на русском в этом примере не играет никакой роли. На английском отсылка к самому числу выражается аналогично.
A square is the result of multiplying a number by itself.


А вот здесь с вашим подходом уже ничего не понятно.


функция нашаФормула(число, коэффициент) {
  вернуть коэффициент * число * него;
}

"Него" это коэффициент или число? В данном случае ваш подход имеет недостаток.


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

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

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

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

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


и вижу перспективу

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


и вижу перспективу

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


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

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

А продвижением в разработке это было бы, если кто-то это разработал.
Это конечно очень интересно, когда полезный пример приведён, но не разработан. Вряд ли у кого-либо это бы получилось.
разговор как раз о замене слов
Замена слов тривиальна, не стоит обсуждения.
еще никто так не сделал А изобретение искусственного интеллекта от языка ключевых слов не зависит
Вот, кстати, действительно здравая идея — после реализации аналога естественного русского языка позволить образоваться и аналогу естественного английского языка. Обязательно позволим.

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

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


Замена слов тривиальна, не стоит обсуждения.

Не вам решать за других людей, что они хотят обсуждать.


после реализации аналога естественного русского языка

Вы либо не поняли, что я написал, либо намеренно проигнорировали. То, что вы называете "реализация аналога естественного русского языка", невозможно без изобретения ИИ. Без ИИ это будет просто замена одних ключевых слов на другие. А с ИИ это не будет языком программирования.

«Разработан» в моем комментарии означает
А в моём комментарии «разработан» значит доведён до демонстрации концепта.
можно привести полезные для данной дискуссии примеры
полезные примеры потому полезные что работают, в какой-то степени уже представляют собой концепт.
Не вам решать за других людей, что они хотят обсуждать.
То есть, надо было уточнить «не стоит моего обсуждения», не слишком ли это было эгоцентрично? Я вообще имел ввиду, что не обсуждаю простую замену слов, там изобретать нечего.
Без ИИ это будет просто замена одних ключевых слов на другие. А с ИИ это не будет языком программирования.

Да, а вариант что программист разработал язык программирования, и он похож на естественный, но без неопределённостей, для разъяснения которых нужен «ИИ», вы исключаете?
А в моём комментарии «разработан» значит доведён до демонстрации концепта.

Демонстрация концепта "в компиляторах надо использовать преимущества естественного языка" это и есть разработка такого компилятора. Демонстрируется в данном случае его работа. Без этого никакой демонстрации нет.


То есть, надо было уточнить «не стоит моего обсуждения», не слишком ли это было эгоцентрично?

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


без неопределённостей, для разъяснения которых нужен «ИИ», вы исключаете?

ИИ нужен не для разъяснения неопределенностей программисту, а для понимания входного текста на естественном языке.


Человек может пользоваться естественным языком потому что у него есть способность анализировать входные данные, которые поступают постоянно. У компьютера такой способности нет. Ее реализация на уровне, аналогичном человеку, это и есть ИИ. Другие варианты требуют предварительной формализации, закладывание формальной модели в компилятор, и обозначение элементов модели ключевыми словами.


Да, а вариант что программист разработал язык программирования, и он похож на естественный

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

это моя ошибка, извините
Вряд ли после моих слов о том что я бы не обсуждал замену вам стоит говорить чтобы я извинился что начал её обсуждать. Для уточнения: где конкретно указывается, что речь в этой ветке о замене, вдруг я упустил?
а для понимания входного текста на естественном языке.
Так. У нас тут целых четыре варианта образовалось. Обычный ЯП, ЯП с заменой слов, ЯП по форме похожий на естественный и действительно естественный для распознания которого нужен ИИ. Не много, не запутаемся?
Это ничем не отличается от существующих компиляторов.
А, четыре многовато для вас. Ну ладно, как хотите.

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

Где подтверждения того, что третья категория отличается от второй (либо четвёртой, в зависимости от того, с какой стороны подходить)?

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

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


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

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


Считаю ваше признание в не слежении за содержанием диалога бессмысленным.


Не много, не запутаемся?

Выглядит как отсутствие возражения.

Вы не ответили на вопрос, что само по себе является грубостью,
… в теме, где другие обсуждают замену.
вот вы и сами не ответили на вопрос об уточнении уточнение где это такое.
Считаю ваше признание в не слежении за содержанием диалога бессмысленным.
Я бы не стал собеседнику отвечать его словами, даже если бы они подходили. Это же неуважение ни к себе ни к собеседнику. Давайте хотя бы эту ветку оставим уже? Я в ветке про логические противоположности в высказываниях сейчас пытаюсь ответить так чтобы до чего-нибудь разумного договориться.
вот вы и сами не ответили на вопрос об уточнении уточнение где это такое

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


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


Для уточнения: где конкретно указывается, что речь в этой ветке о замене, вдруг я упустил?

Поищите эти фразы на данной веб-странице. Они задают контекст всего этого обсуждения.


"В данной статье приводится мой краткий обзор некоторых языков программирования и решений, которые позволяют программировать на русском."
"Русификация служебных/ключевых слов"
"новый скриптовый язык программирования с синтаксисом на русском языке"

Мне жаль, что я не остановился и нафлудил с таким бескультурным неумным собеседником.

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

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

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

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

А ещё были всякие математики смешные, которые додумаются до умного и им это так просто кажется, и словами они могут объяснит ту простоту, а вот доказать всему миру не то что не могут, а не пытаются, потому как всему миру нужно строгое математическое доказательство по всем правилам как все делают! А потом весь мир вместо развития дальше столетиями пытается по всем правилам доказать то, что понятно описано словами, но чтобы как все.

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

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

требовалось выразить род переменной

const - мужик, непоколебимо стоит на своём,

mutable - девушка, очень переменчивая :)

А можно, пожалуйста, без шуток, закрепляющих гендерные стереотипы?

Можно, я разрешаю :)

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

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

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

Анекдот.

Лампа просьбу поняла дословно правильно! Правда почему-то результат неожиданный!

а вы программируете?

Не только программирую, но и придумываю новый язык, вы находите здесь противоречие?

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

Разработчик. Планируется статья, когда будут результаты.

О! программирование как общение - прям мечты из журнала "Человек и Машина" за 1980й. А создание такой среды разработки на чём? на обычных ЯП, и это колоссальный труд, и его смысл пока не виден.

Всегда предполагал что программист мыслит абстракциями. А потом уже идет реализация через ЯП.

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

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

Абстрагирование заканчивается на создании функции как шаблона? Но оно могло бы на этом не заканчиваться, для самого создания функции при абстрагировании можно сделать шаблон. Вот это настоящее абстрагирование.

Шаблоны в С++ и функции базовых классов в ООП - и есть "абстрагирование". Да и сами классы - суть абстракция реальных сущностей, а методы - абстракция взаимодействий.

«Создание шаблона» — это не абстракция, а вот «шаблон создания шаблона» — абстракция.

Шаблон создания шаблона - это схоластика.

В языках вроде SmallTalk или ObjectiveC, например - вообще нет "методов" - а есть взаимодействия между обьектами. Включая возможность реакции на не известные на момент написания или имеющие другой набор параметров..

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

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

Ха, нейронные сети кто-то умеет или даже хотя бы стремится проверять?

Что вы вкладываете в понятие "проверять"? Как и любая другая аппроксимация неизвестной функции - нейронные сети проверяются статистически. Доказать, что где-то не пропустили локальный экстремум - невозможно, как и критерии "аппроксимируемости" в этой самой точке.

Вы спросили нейронку. Нейронка вам дала ответ. Вы его использовали. Ответ оказался вредный. На каком этапе нужно вводить изменения, в ваш вопрос, в нейронку, или в процедуру проверки ответа перед практическим выяснением того что он навредил?

Это так не работает. Вы "спросили" сеть - она вам дала ответ с определенной уверенностью. Множите эту уверенность на статистическую точность сети - получаете вероятность правильного ответа. Дальше - зависит от критичности применения, можно иметь несколько сетей разных архитектур и совмещать их результаты, можно поставить дополнительные датчики, можно просто смириться.
Если возможна ретроспектива - то большинство сетей умеют "дообучаться" на своих ошибках.

Думаю, в этой концепции нет ответственности, поиска возможных ошибок. Или этому не придаётся должного внимания.

Этому придается внимание - но "поиск возможных ошибок" невозможно завершить за разумное время и деньги.
Кстати, вы для своих "обычных" программ используете статический анализ кода? Думаю что нет, хотя стоят такие анализаторы недорого (а то и вообще бесплатны) - и наверняка найдут у вас кучу ошибок.

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

Нормально же общались.

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

И вам обязательно вот так под конец дня хамить?

Что-то как-то перебор.

Зря вы обижаетесь - это обьективная реальность. Если не использовать статический анализ - то в "безопасных" языках будет 1-2 ошибки на страницу, а в C/C++ - еще больше. Такова сложность современных ЯП.

А времени и денег не хватает всем - бюджет не безграничный и рынок тоже не будет ждать вечно

Вы проецируете своё отношение к ошибкам в программе на меня. У меня другое отношение к ошибкам. Не общепринятое, можно сказать.

Писать на Idris и доказывать всё необходимое c проверкой на тотальность?

Как вы считаете, все понимают то что они сами говорят, или есть исключения?

Программирование с доказательствами это хорошо, но что если будут такие места, где наоборот, именно доказательства ожидать и не стоит?

В этой теме копать и копать.