В данной статье приводится мой краткий обзор некоторых языков программирования и решений, которые позволяют программировать на русском.
Язык 1С: Предприятия
Несмотря на то, что это самый популярный язык программирования с русскоязычным синтаксисом, я его рассматривать не буду, дабы не разводить холивар. По аналогичной причине я не буду рассматривать OneScript и Перфолента.Net (последний хотя и является самостоятельным языком программирования, но его синтаксис основан на встроенном языке 1С: Предприятия).
1C: Исполнитель
Какая-то странная смесь C# [с его
Console.Write()
], Java [var obj = new Object()
] и наверное Julia [с ;
вместо end
].Также, судя по всему, разработчики 1С: Исполнитель вдохновлялись Scala/Kotlin, выбрав ключевое слово
знч
для неизменяемых переменных. ИМХО, слово пост
подошло бы лучше (конст
уже занято).Кроме того, неудачно выбраны ключевые слова
попытка
, поймать
, выбросить
.Выбор ключевого слова
метод
\method
для объявления функций также вызывает вопросы.Впрочем, есть и хорошие решения, которые вопросов не вызывают. Например, создание массива записью
[1, 2, 3]
, множества записью {1, 2, 3}
и соответствия (то бишь "словаря") записью {"a": 1, "b": 2}
. Совсем как в Python.Но в целом язык подходит лишь для весьма ограниченного круга задач и его практическая ценность пока ещё под вопросом.
КуМир
Уже исходя из названия (Комплект Учебных МИРов) понятно, что область применения данного языка ограничена обучением. А это, как я считаю, тупиковый путь. Мало кто захочет серьёзно изучать язык, который кроме обучения программированию, ни для чего не пригоден/не используется.
Однако некоторые идеи и решения, принятые в КуМир-е, можно позаимствовать. Например то, что математические функции в нём оставлены на английском (sqrt, sin, abs, min, max и т.д.). И я считаю это вполне оправданным. На уроках математики мы же пишем sin x и ничего.
Компилятор C++ от Интерстрон
Русификация служебных/ключевых слов C++ выполнена автором легендарной статьи ‘‘Редкая профессия’’ Евгением Зуевым.
Евгением была проделана огромная работа, однако в этом и состоит главная проблема: переведённых слов слишком много, и специфика их такова, что запомнить русскоязычный эквивалент для них слишком трудно.
Глагол
Проблема Глагола в том, что он основан на непопулярном языке [Oberon-2], и к тому же использует достаточно нетрадиционную терминологию, например:
- «вид», а не «тип»;
- «ряд», а не «массив»;
- «задача», а не «процедура»/«функция»;
- «отдел», а не «модуль»;
- «ячцел», а не «байт»;
- «знак», а не «символ»;
- «кольцо», а не «цикл»/«повтор».
В этом отношении я согласен с Юрием [автором сайта compiler.su]:
ruscomp.bb24.ru/viewtopic.php?id=20#p411:То есть обычные русские слова уже не являются для вас "общепринятым" языком?Общепринятые – это те, которые я читаю в книгах, в том числе по программированию. Когда читаю «байт», мне всё понятно. Это общепринятое. Когда я прочитаю «запись размером 40 слогов» — я буду долго размышлять. А вот «файл размером 40 байтов» — мне сразу понятно, да и Вам тоже. Да, там заимствованные слова, но не я их заимствовал и не я их глубоко внедрил в наш язык. Чтобы быть понятым, я вынужден их использовать.
RuSL
RuSL (Russian Scripting Language) — новый скриптовый язык программирования с синтаксисом на русском языке. После беглого знакомства с языком я выделил несколько [возможно субъективных] недостатков:
- Для объявления переменных используется нетрадиционное ключевое слово
изм
. - Нет поддержки целых чисел (все числа вещественные).
- Операторы присваивания
+=
,-=
и т.д. записываются в обратном порядке (т.е.=+
,=-
и т.д.). Особенно забавно получается с записьюn=-n
, которая работает не какn = -n
, а какn-=n
, т.е.n = n - n
:)(: - Для стандартных функций
input()
иprint()
был выбран переводввести()
ивывести()
вместо более привычноговвод()
ивывод()
.
11l
Семантика 11l берёт за основу язык Python (самый популярный язык программирования на данный момент [согласно рейтингам TIOBE, PYPL, IEEE Spectrum]), а синтаксис разработан/спроектирован с учётом когнитивно-эргономического подхода таким образом, что забыть его [синтаксис 11l] практически невозможно (особенно если это первый изучаемый язык программирования).
Для перевода названия метода
map
в 11l было выбрано слово применить
, т.к. как сказано в Википедии "в функциональной форме map
часто называется «применить-ко-всем»".pyneng.readthedocs.io/ru/latest/book/10_useful_functions/map.html:
Функция map применяет функцию к каждому элементу последовательности и возвращает итератор с результатами.
Использование функции map в Python:
Встроенная в Python функцияmap()
используется для применения функции к каждому элементу итерируемого объекта
pythonist.ru/python-map-znakomstvo:
map() перебирает элементы итерируемого массива (или коллекции) и возвращает новый массив (или итерируемый объект), который является результатом применения функции преобразования к каждому элементу
Для бросания исключения в 11l используется слово
исключение
по аналогии с переводом ключевого слова throw
Евгением Зуевым. Ключевые подслова исключение.контроль
и исключение.перехват
также взяты из перевода Зуева.Для числовых типов используются вполне общепринятые (принятые в том числе в языке РАЯ) названия
Цел
и Вещ
.Вместо того чтобы выполнять перевод всех и каждой функции стандартной библиотеки языка, в 11l осуществлён перевод лишь тех возможностей языка, которые требуются для решения задач по спортивному программированию. Можно сказать, что сама суть русскоязычных имён в 11l — выделить подмножество языка, достаточное для решения задач по спортивному программированию.
цикл 1..Цел(ввод())
пер n = Цел(ввод())
пер a = ввод().разделить(‘ ’).применить(Цел)
пер ответ = (0 .< n).применить(н -> н + 1) // можно сократить до `пер ответ = Массив(1..n)`
если a.послед == 0
вывод_эл(ответ [+] (n + 1))
иначе
цикл(н) 0 .< a.длина
если a[н] == 1
вывод_эл(ответ[0.<н] [+] (n + 1) [+] ответ[н..])
цикл.прервать
Задача ‘Запрещённая подпоследовательность’ (на основе этого решения):
цикл 1..Цел(ввод())
пер s = ввод()
пер t = ввод()
s = сортй(Массив(s)).соединить(‘’)
если t == ‘abc’ & (‘a’ св s) & (‘b’ св s) & (‘c’ св s)
s = s[0 .< s.найти_и(‘b’)]‘’(‘c’ * s.колво(‘c’))‘’(‘b’ * s.колво(‘b’))‘’s[s.об_найти_и(‘c’) + 1 ..]
вывод(s)
Задача ‘Задача на доске’ (на основе этого решения):
цикл 1..Цел(ввод())
пер s = ввод()
пер m = Цел(ввод())
пер b = ввод().разделить(‘ ’).применить(Цел)
пер массив = сортй(Массив(Множество(Массив(s))))
пер ответ = [Символ("\0")] * m // как в Python (1-ый вариант решения)
//пер ответ = "\0" * m // только в 11l (2-ой вариант решения)
цикл сумма(b) != -m
Множество[Цел] индексы
цикл(i) 0 .< m
если b[i] == 0
индексы.доб(i)
b[i] = -1
цикл
пер q = массив.извлечь()
если индексы.длина <= s.колво(q)
цикл(i) индексы
ответ[i] = q // в 11l строки можно изменять
цикл.прервать
цикл(i) индексы
цикл(j) 0 .< m
если b[j] != -1
b[j] -= abs(i - j)
вывод(ответ.соединить(‘’)) // (1-ый вариант решения)
//вывод(ответ) // (2-ой вариант решения)
Кроме того, 11l поставляется со скриптом, который переводит код на русском в код на английском (в том числе переводит имена общеупотребимых переменных).
Несмотря на поддержку русских ключевых слов, названий функций и типов, я считаю, что имена коротких переменных в большинстве случаев целесообразно писать на английском.
Так принято и в учебном алгоритмическом языке:
ввод n; S:=0
А также в русских текстах задач по программированию используются английские/латинские буквы:
codeforces.com/contest/1559/problem/C?locale=ru:И аналогично в книгах:
В первой строке находится одно целое число t ...
Первая строка набора входных данных содержит одно целое число n
habr.com/ru/post/667022:
Напечатайте все возрастающие последовательности длины k, элементами которых являются натуральные числа от 1 до n.
На этом у меня всё. Спасибо за внимание.
Комментарии (415)
4reddy
01.08.2022 00:28+9Лого - учебный язык программирования (появился в 196; в 1997 году вышла российская версия):
ДЛЯ ПРИВЕТСТВИЯ ПИШИ [Привет, мир!] КОНЕЦ
ReadOnlySadUser
01.08.2022 01:31+95ДЛЯ ОТВЕРСТИЯ СВЕРЛИ [По утрам!] М*ДАК
pehat
01.08.2022 05:39+35Слова ДЛЯ и КОНЕЦ обозначают начало и конец функции. Пожалуйста, исправьте вашу программу, чтобы произведение сомножителей М и ДАК сверлило себе КОНЕЦ.
StjarnornasFred
01.08.2022 16:12+3Программа выглядит неоптимизированной, её явно писал джун. Опытные специалисты знают, что по ночам стены мягче. Если провести оптимизацию - указать во второй строке
[По ночам!]
- работа программы заметно ускорится.AlchemistDark
01.08.2022 23:24А зачем в программе перерывы на остальные времена суток? Эффективность же падает. Это же не какой-то порядочный человек. Ему ни есть, ни спать, ни отдыхать не надо.
????
randomsimplenumber
01.08.2022 00:28+11На обычной клавиатуре нужно постоянно переключаться на латиницу. Неудобно.
ReadOnlySadUser
01.08.2022 01:32+5Рекомендую поставить переключение на caps lock и станет достаточно удобно)
randomsimplenumber
01.08.2022 06:43+3Для того чтобы ввести []{}~@#' всё равно нужно переключаться.
mike_nsk
02.08.2022 00:44Как одинэсник, я давно нашел для себя решение: поставить Keyboard Maniac и прописать там макросы, чтобы кнопки с Ctrl работали, как будто включена английская раскладка: Ctrl+Х -> [, Ctrl+Ъ -> ], Ctrl+7 -> & и т.д.
kisaa
01.08.2022 07:11Заголовок спойлера
цикл 1..Цел(ввод()) пер n = Цел(ввод()) пер a = ввод().разделить(‘ ’).применить(Цел) пер ответ = (0 .< n).применить(н -> н + 1) // можно сократить до `пер ответ = Массив(1..n)` если a.послед == 0 вывод_эл(ответ [+] (n + 1)) иначе цикл(н) 0 .< a.длина если a[н] == 1 вывод_эл(ответ[0.<н] [+] (n + 1) [+] ответ[н..]) цикл.прервать
alextretyak Автор
03.08.2022 05:00получается вот такая путаница «n» и «н», как у автора
А в чём тут путаница?
Переменная
n
названа так т.к. в тексте условия задачи на русском языке написано "строка набора входных данных содержит одно целое число n".
А переменнаян
обозначает просто порядковый номер. Можно было бы использоватьi
либоx
, но, на мой взгляд, в данном случаен
подходит чуть лучше.kisaa
03.08.2022 05:42Меня смущает то, что переменная n объявлена (во 2-й строке), а переменная н не объявлена нигде. Так что больше похоже на путаницу.
Didimus
01.08.2022 11:16+1А есть клавиатуры, где не надо переключаться? То есть оба набора букв одновременно на разных клавишах?
mikhanoid
01.08.2022 11:29В Linux можно подключить две клавиатуры и настроить для них разные раскладки.
faultedChip
01.08.2022 12:11+3Мне кажется это худшее решение из всех возможных.
mikhanoid
01.08.2022 13:37+5Огласите весь список возможных решений, чтобы понять, которое из них худшее :)
mindgameswithyou
02.08.2022 00:44Идея интересная, но слишком замудрённая. Даже если и есть, то вряд ли они пользуются широким спросом
slonoten
01.08.2022 00:34Правокод - полный по Тьюрингу dsl для юристов, безскобочная нотация.
Написанный код может быть прочитан и верифицирован без изучения dsl.
Реализован транслятор в python.alisarin
01.08.2022 12:59+2Интересный комментарий - гугление по слову "правокод" дает ссылку лишь исключительно на данный комментарий, интернет по поводу "правокода" ничего не знает. Если где-либо можно узнать подробности, то где?
В отношении темы в целом - почему-то забыта система "Мастер", разработанная в начале 1990-х.
Кроме того, язык макрокоманд Access в локализованной версии - русский; это несколько неполный язык программирования, в нем невозможно задать переменную, но все же - это вполне себе язык программирования, но позволяющий оперировать лишь исключительно объектами Access.
alextretyak Автор
01.08.2022 00:42+13Если бы языки программирования были оружием, каким бы был каждый из них?
АссемблерC11lC++Python
SanyaZ7
01.08.2022 01:38+1Про Clang не упомянуто. Позволяет писать на русском названия функций и переменных.
DrPass
01.08.2022 01:52+10Так это сейчас практически любой язык позволяет, будь-то C#, JavaScript или там Паскаль. Просто так писать непрактично, даже если вам не нужно, чтобы ваш код читали нерусскоязычные разработчики, вам просто надоест постоянно переключать раскладки.
dvoeglazyi
01.08.2022 04:10+5Я, бывает, пишу комментарии к коду на русском и как-то не замечал, чтобы мне надоело переключать раскладки. Из моих личных это, кстати, единственный аргумент в пользу русского языка в программировании - иногда мне кажется, что когда я пишу комментарии, я делаю двойную работу, ещё и переводчика с английского на русский, т.к. названия переменных и функций вроде бы сами говорят за себя.
Так то русский подходит для программирования чуть хуже английского из-за меняющихся в зависимости от падежей окончаний. Не уверен, насколько вообще рационально менять существующее положение вещей по отношению к миру - представьте, каково вам бы было читать программы с китайскими иероглифами или, например, на иврите.
И вот идея для тех, кто хочет русский язык в программировании: не нужно изобретать очередной ЯП из соображений "лишь бы он был на русском", лучше сделать плагин к IDE, который просто русифицировал бы ключевые слова для какого-нибудь из существующих языков.
DrPass
01.08.2022 04:38+4И вот идея для тех, кто хочет русский язык в программировании:
Не знаю, лично мне кажется, что для тех, кто хочет русский язык в программировании, достаточно 1С. А кому по каким-то причинам 1С не подходит, так же достаточно упомянутого Глагола. Ну просто потому, что все эти языки, они ценны не той от силы парой сотен лексем, составляющих основу языка, а огромным количеством библиотек, которые создаются разработчиками со всего мира. Новый нативный русский язык программирования изначально будет отрезан от мировой базы разработчиков, и будет поддерживаться небольшим подмножеством энтузиастов одной отдельной взятой страны. Ну т.е. у него изначально нет шансов на развитие, и будет у нас два Глагола. А зачем нам ещё один?Paskin
01.08.2022 09:29+6Избыток свободного времени - это единственное разумное обьяснение, приходящее мне в голову. Ну, или надежда присосаться к бюджету.
Maccimo
01.08.2022 23:491С не является и никогда не являлся языком общего назначения. Так что нет, не достаточно.
GrimAnEye
01.08.2022 08:25У меня в vscode стоит плагин переводящий комментарии (хотя на самом деле переводит любой выделенный текст) при наведении мышки. Так что мне без разницы на каком языке исходный код и комментари к нему
k102
01.08.2022 15:26+2А не проще комментарии тоже на английском писать?
dvoeglazyi
02.08.2022 17:02+1Кому как, мне - нет. И читать их мне было бы не проще, как вероятно и моим сотрудникам.
mayorovp
01.08.2022 18:28Комментарии — это одно, идентификаторы — другое. Последние попросту слишком часто встречаются вперемешку с ключевыми словами и требующей другой раскладки пунктуацией.
Usul
01.08.2022 07:48+1"Непрактично? Подержи-ка мое пиво!" - сказали китайцы. В сименсовском софте (например, в таком ) уже очень давно можно писать имена символов на любом языке, в том числе на китайском. И китайцы так делают постоянно. Переменные, дата-блоки, функции - все на китайском. Особенно весело, когда установка приходит в неработоспособном состоянии, и все на китайском, включая ПО и схемы. Причем схемы не соответствуют действительности, а обозначения в схемах и в ПО контроллера разные (разумеется, и там, и там иероглифы).
Rsa97
01.08.2022 07:59+5function კვადრატი(عامل) { return عامل * عامل; } const सरणी = [1, 2, 3]; const 新陣列 = सरणी.map(კვადრატი); console.log(新陣列); // [1, 4, 9]
rstepanov
01.08.2022 10:51+21Можно даже вот так:
MockBeard
01.08.2022 11:27+9Вот примерно так и выглядит для меня код на русском. Понимаю, что дело привычки и можно даже переучиться. Но зачем?
ReadOnlySadUser
01.08.2022 11:37+2Но ведь этот код всегда будет печатать какашку :) Кстати, как оказалось, не так уж и сложно читать этот код. Я потратил пару минут, чтобы знакомые конструкции начать распознавать)
rstepanov
01.08.2022 11:40+1Никто не спорит, что можно себя приучить читать и такой код. Вопрос исключительно в ощущениях в процессе. Чувствуете, что у нас особый путь и так гораздо лучше, чем было? :)
ReadOnlySadUser
01.08.2022 11:47-1Чувствую лёгкую эйфорию, как будто иероглифы расшифровал :) На деле мне вообще пофигу на естественный язык используемый в качестве базового в ЯП. Я слова обычно не читаю и не думаю, я думаю смыслами, что они несут. if он и в Африке if, вне зависимости от того, написано там, "если", нарисован фрукт или какая-то другая абракадабра.
Единственное важное условие - должно быть удобно печатать и тут русский язык очевидно непригоден. Равно как и любой локальный язык и эмодзи. Для меня это неудобно не потому, что неудобно читать, а потому что неудобно писать
Myxach
01.08.2022 08:48Японцы, вроде как, тоже на японском пишут методы и переменные
Usul
01.08.2022 09:10+1Японских проектов автоматизации я пока не видел, возможно это так. Готовое оборудование - немного имел дело с Mitsubishi. Достаточно качественная документация на английском языке. Для китайских вендоров это огромная редкость. Из "обычного" японского софта приходилось работать с вот этим opensource проектом. Нормальные имена переменных на английском, попадаются комменты на японском. Но это опенсорс, так что, возможно, пример непоказательный :)
Paskin
01.08.2022 09:38+5Любимая фишка китайских разработчиков конфигураторов и утилит для их же железок - конфигурация читается из какой-нибудь директории с названием иероглифами, желательно с диска M:. Я уже заколебался их творения декомпилировать, благо что про релиз-мод и тем более обфускацию они не слышали...
Willy64
01.08.2022 11:24SCADA-система Yokogawa хоть и использует английские слова в интерфейсе, но также для переходов, выбора режимов и функций используются значки, похожие на символы катаканы. Очень тяжело такое осваивать русскому человеку. Я, периодически посещая установку с йокогавой, испытывал затруднения с запоминанием их значений.
s60
02.08.2022 15:49В сименсовском софте (например, в TIA portal ) уже очень давно можно писать имена символов на любом языке, в том числе на китайском. И китайцы так делают постоянно. Переменные, дата-блоки, функции — все на китайском. Особенно весело, когда установка приходит в неработоспособном состоянии, и все на китайском, включая ПО и схемы. Причем схемы не соответствуют действительности, а обозначения в схемах и в ПО контроллера разные (разумеется, и там, и там иероглифы).
это же посерьёзнее, чем отключение от SWIFT…
faultedChip
01.08.2022 12:14Я этим пользовался когда в (стороннем) swagger были прописаны русские названия переменных. Проще смириться со сгенерированным кодом (который постоянно обновляется) и переключением раскладок, чем каждый раз всё переименовывать.
Daddy_Cool
01.08.2022 01:46+1"если" длинне чем "if", "цикл" длиннее чем "for", вот отсюда и появляются всякие "колво".
vantagepointmoon
02.08.2022 18:19Нужно из команд поубирать гласные и добавить ненормативной лексики, тогда описание циклов, ошибок и прочего может стать по-настоящему лаконичным и ёмким.
Pest85
01.08.2022 04:14+69Русский язык в программировании
... не нужен.
radioxoma
01.08.2022 13:48+8Использовал переменные на кириллице в python, когда пытался повторить расчёт зарплаты бухгалтерией. Всякие тарифные оклады, должностные оклады, надбавки за категорию, повышения и прочие тарифные ставки 1 разряда. На английский и обратно это плохо переводится (и через пару месяцев забудется), а транслит использовать как-то неприятно.
Ta_Da
01.08.2022 15:29+1И вы только что точно описали причину, по которой большинство решений на 1С было написано на русском, при наличии англоязычных вариантов ключевых слов.
Jian
01.08.2022 15:31+3В Excel с формулами кошмар = формулы на русском не работают в англоязычной версии. :(
Ta_Da
01.08.2022 15:36+2Я вас вполне понимаю =) Меня это решение в MS Excel тоже всегда удивляло.
У 1С, кстати, с этим проблем чуток поменьше - т.е. английский и русский можно (в случае с всякими "ФабрикаXDTO", к сожалению, иногда и нужно) смешивать, и вроде с большего работает нормально, хотя и не без косяков.
Didimus
02.08.2022 19:28Там это просто магические заклинания, надо выучить и не думать, никакой мнемоники. Редактор формул ущербен, отсюда максимальное сократительство. Например, что такое ВПР? В результате выходит какой-то диалект падонкаффского, ЕСЛИ ЗНЧ БЛШ ОКРУГЛВВЕРХ
16tomatotonns
01.08.2022 05:37+7Ну смотрите. У нас есть языки программирования с крайне упрощённым английским, для изучения которого не нужно применять никаких особенных усилий.
В противном случае, давайте в каждой стране делать свою локализацию каждого языка.
Теперь, в вашей огромной организации, половина кодовой базы на английском, четверть на русском (с другой терминологией, пришедшей в голову разработчиком, и ещё четверть на бурятском. А какие-то особо важные ключевые моменты на хинди и иддише, потому что почему бы и нет.
А самое приятное, что изначально всё это допустим питон. Просто разработчики решили что будут делать как им "удобнее" и роднее :)
В общем, это буквально расслоение абстракций на разные языки, что будет приводить к очень интересным моментам с отладкой.
Jian
01.08.2022 06:06+14А, где классическая Рапира?
KirovA
01.08.2022 07:21-4Путиси.. путиси... вот поэтому и не приживается.
Jian
01.08.2022 08:49+5Проблема в том, что не знаю ни одного языка программирования хорошо ложащегося на грамматику русского языка: в результате код на русском получается или очень длиннословным, либо состоит сплошь из смешных нелепых малопонятных сокращений. :(
YegorP
01.08.2022 09:42+2Так и будет получаться, если из фундаментально флективного языка выкидывать флексию, а не задействовать её по назначению.
MockBeard
01.08.2022 11:38Вот абсолютно верный коммент! Английский это аналитический язык и использовать русский для программирования, это петь "русский рок" - вроде музыка, но это не rock)))
dvoeglazyi
02.08.2022 17:14Это почемуйто? Иногда песни даже русифицируются прям один-в-один, без потери смысла.
Этот парень был из тех, кто просто любит rock...
sav13
01.08.2022 06:13+18Упаси боже такая статья попадется нашим чиновникам
Сколько бюджетных миллиардов попилиться на разработку этого велосипеда с квадратными колесами.
Но в результате все равно все программисты будут писать на нормальных языках - ибо глобализация и никуда от нее не деться
RalphMirebs
01.08.2022 06:25+3Автокод БЭСМ-6 тоже на русском
www.computer-museum.ru/books/besm6_instruction.pdf
delphinpro
01.08.2022 07:01+12Не раз читал статьи про «русифицированные» языки программирования.
Авторы показывают синтаксис, сравнивают с другими языками, показывают примеры кода на таких языках. Люди в комментариях в основном хейтят, кто-то ржёт, небольшой процент поддерживает и разделяет идею «русских» ЯП.
Но никто никогда не пишет – зачем? Для чего создаются подобные шедевры, что движет их авторами? Какие перспективы они видят для своих творений?
Очень хотелось бы почитать мнения поддерживающих идею «русских» ЯП, а в идеале самих авторов, если таковые прочитают этот комментарий.
Я же вижу только одно разумное предположение – just for fun.Jian
01.08.2022 07:03+1Как учебный язык для детей.
delphinpro
01.08.2022 07:06+14Не соглашусь. Английский детям преподают уже с первого класса. Если учить программирование, то не стоит сразу начинать засорять мозг тем, что ему потом никогда не пригодиться во первых, и во-вторых, придется перепривыкать к нормальному кодингу…
F0iL
01.08.2022 08:25+4не стоит сразу начинать засорять мозг тем, что ему потом никогда не пригодиться во первых, и во-вторых, придется перепривыкать к нормальному кодингу…
А может, это намеренный план, учитывая наметившуюся в стране тенденцию на огораживание от остального мира? Учить программистов так, чтобы им было сложнее свалить (нужно переучиваться), и чтобы написанный ими код никуда не утек (его просто никто не поймет)...
ZeroBot-Dot
01.08.2022 09:51Позвольте докопаться/поинтересоваться.
Но где Вы видели английский в школьной программе с первого класса?
У меня дочь сейчас переходит во второй класс, вот там да, будет английский язык, но в первом классе его нет. Если что, то я говорю за Санкт-Петербург.
yurixi
01.08.2022 09:56+1Что за мелкие претензии?
Надо делать правильные шаги в отношении английского.
Надо заявлять:
1. Человек вправе не знать английского языка.
2. И при этом быть программистом.
Если что, я такого не заявляю. Но тот кто манифестирует «английский приди, порядок наведи» — ССЗБ.F0iL
01.08.2022 10:30+11Английский - язык международного общения для программистов. Актуальные книги на английском, профессиональные конференции на английском (даже на исконно российских конференциях нередко бывают англоязычные спикеры), и даже самое каждодневное - документация по платформам/фреймворкам/библиотекам на английском. Переводы на русский появляются или с запозданием и ошибками, либо не появляются вообще. Крупнейшие форумы и профессиональные ресурсы на английском. Переписка в списках рассылки и GitHub issues опенсорсный проектов между людьми из разных стран мира идёт на английском. Комментарии к коду на английском будут полезны программистам со всего мира, и они смогут переиспользовать этот код или поучаствовать в его разработке. И вы тоже сможете.
Более того, даже исконно русский Яндекс в свое время переводил комментарии к коду в своих библиотеках на английский, ибо в этом есть смысл. Английский для программиста - ключ к взаимодействию со всем миром и обменом знаниями. А изолироваться от всего мира в своем пузыре глупо и губительно для профессионала.
yurixi
01.08.2022 10:39-17Да, и я не возражал к этому, до определённой даты.
Но после определённой даты возникло подозрение, что английский имеет негативное влияние на разум. Хорошо что только подозрение, и только в моём понимании негативного, и мне нет необходимости убеждать кого-то в чём-то.
Но аргумент «весь мир» очень близок к аргументу «все так делают», не находите?F0iL
01.08.2022 10:48+5Но после определённой даты
Какой именно?
Но аргумент «весь мир» очень близок к аргументу «все так делают», не находите?
Если в данном случае делать так, как делают все, несёт в себе большой ряд существенных преимуществ (см. выше), то в этом нет абсолютно ничего плохого.
yurixi
01.08.2022 10:58-12Какой именно?
Через два дня от даты с одними двойками.Если в данном случае делать так, как делают все, несёт в себе большой ряд существенных преимуществ
Разумеется, нужно выбирать лучший вариант. А какой вариант лучший мы все знаем.F0iL
01.08.2022 11:02+2Но после определённой даты возникло подозрение, что английский имеет негативное влияние на разум.
Через два дня от даты с одними двойками.
И почему же вы так решили?
yurixi
01.08.2022 11:21-1И почему же вы так решили?
Если вы хотите действительно обсудить, то задайте точный вопрос, чтобы было без моих домыслов.
F0iL
01.08.2022 11:24+5Вы сказали, что после 24.02 у вас возникло подозрение, что английский язык имеет негативное влияние на разум, я спросил очень даже точный вопрос: почему у вас возникло такое подозрение?
yurixi
01.08.2022 11:45-12Людей на Земле условно можно поделить на знающих русский и знающих английский. Условность — в отбрасывании других двух вариантов. В эту дату началась война, условно неизвестно кого с неизвестно кем. Условно потому что на этот счёт есть разногласия. Дата тоже условная. Существуют разногласия и по поводу причин этой войны и по поводу того куда она ведёт. Удивительно, но между делением кто как что понимает и знанием языка в моём воображении существует корреляция. По этому вопросу у меня есть позиция, соответственно, противоположную позицию (тут всё до двух вариантов сведено, для простоты) я считаю заблуждением. Корреляция приводит к тому что есть подозрение, что и язык влияет на понимание. Но если бы мне надо было кого-то в чём-то убедить, я бы конечно взял реальную статистику, а не воображаемую корреляцию.
Кроме того, корреляция не означает причино-следственную связь. Возможно одна и та же причина создаёт оба разделения.
Эта причина, какова бы она ни была, обращает внимание, что к понятию «своё» надо относиться последовательно.
faultedChip
01.08.2022 12:21+3Удивительно, но между делением кто как что понимает и знанием языка в моём воображении существует корреляция.
Т.е. надо массово учить английский.
Cerberuser
02.08.2022 08:31+2Знание веры независимо от знания объекта веры. А вот знание объекта веры несовместимо с самой верой (по определению веры).
yurixi
02.08.2022 08:36Или всё ещё сложней и интересней, потому что вера может выступать в качестве не полученного, но использованного знания.
Cerberuser
02.08.2022 08:48+1Вера в качестве знания может выступать только случайно. Повезти может кому угодно и в чём угодно, да.
SlimShaggy
01.08.2022 12:44+9Удивительно, но между делением кто как что понимает и знанием языка в моём воображении существует корреляция.
А что тут удивительного? Человеку, знающему английский, доступно на порядок больше источников информации, и соответственно его понимание формируется на основе большей полноты данных. Удивительно скорее то, что вы считаете это чем-то негативным.
SlimShaggy
01.08.2022 13:18+1Нет конечно. Чем больше выбор, тем больше шансов найти среди предлагаемого нечто качественное (это не только к информации относится).
Cerberuser
01.08.2022 13:18+31) При большем количестве источников вероятность обнаружить качественный растёт (если предполагать, что они вообще существуют, разумеется).
2) При большем количестве источников с разными позициями появляется возможность увеличить качество информации путём личной интеллектуальной деятельности (сопоставить их друг с другом).
F0iL
01.08.2022 13:21Можно еще добавить, что при большем количестве источников будет больше возможностей обнаружить противоречия между ними и исходя из этого сделать анализ и выводы. Хотя, вы во втором пункте видимо именно это и имели в виду.
yurixi
01.08.2022 13:28-2А я вот считаю что измерение информации количеством это близко к позиции «все говорят», «все так делают».
И оговорка «больше шансов» не спасает. Выбери один из миллиона кирпичей и съешь.
F0iL
01.08.2022 13:31+2Честно говоря, этот ваш подход больше похож на самооправдание, чтобы продолжать жить в привычном информационном пузыре.
yurixi
01.08.2022 14:05-3Давайте общаться приятно для обеих сторон.
Ну вот правда, аргумент «везде где надо говорят, одно и тоже, только выбирай» вы считаете существенным?
Это же всё равно личный выбор.
Без разборов по существу всё скатится к оскорблениям. А по существу это другая проблема, чем в топике.
Впрочем, позиция «английский язык хорош» подорвана. И речь не только не о программировании. Но ещё и о программировании.
Cerberuser
01.08.2022 15:48+2«везде где надо говорят, одно и тоже, только выбирай»
Лично я как раз акцентировал внимание на том, что говорят не одно и то же, и именно это "не" и превращает количество в качество. Впрочем, если для вас позиция англоговорящей стороны - заведомая ложь, а русскоговорящей - нет, то, разумеется, "приятным для обеих сторон" разговор не будет (кроме случаев, когда ваш собеседник думает так же).
yurixi
01.08.2022 15:57-1Ну даже в том что «одно и то же» или не «одно и то же» есть вовсе не два варианта понимания. Что если говорят разное, но по сути одно и то же?
И это добавляет вариацию: согласие с этим разделением уровней. Или противоположное, принятие множественность форм за авторитет?
F0iL
01.08.2022 13:05+5По этому вопросу у меня есть позиция, соответственно, противоположную позицию я считаю заблуждением.
При этом вы почему-то не рассматриваете вероятность того, что именно ваша позиция - заблуждение (по причине незнания английского языка, а может и вообще по не относящимся к языкам причинам), а противоположная ей наоборот гораздо ближе к истине.
yurixi
01.08.2022 13:25-1Ваш комментарий можно написать всего тремя словами «передумать не пробовал?»
Jian
01.08.2022 11:27+3после определённой даты возникло подозрение, что английский имеет негативное влияние на разум
Мысли о возможности жить и работать за границей?
F0iL
01.08.2022 11:37+2Ну, при такой логике наоборот можно сделать вывод, что английский имеет очень положительное влияние на разум :)
Или владелние английским открывает человеку доступ к гораздо более широкому спектру разнополярных источников информации и мнений, давая возможность перепроверять факты и делать выводы.
Или, что тоже вероятно, владение английским является одним из практически неотъемлемых факторов, дающих возможность найти работу за границей, отсюда и такой результат. Учитывая большое количество людей, которые хотели бы уехать, но не могут в том числе из-за незнания английского, мне это кажется теорией наиболее близкой к реальности.
yurixi
01.08.2022 11:50-5За границей — это туризм, не эмиграция же? Ведь эмиграция — положительное понятие или отрицательное — уже дело вкуса. Или всем известно какой вариант правильный?
F0iL
01.08.2022 10:18Но где Вы видели английский в школьной программе с первого класса?
Уфа, 1996 год :) Правда, там была не средняя школа, а гимназия.
ZeroBot-Dot
01.08.2022 10:35А, ну так то понятно :) Я думал мы про современную школу говорим :)
Хотя у меня дочь учит английский еще с садика, благо попался частный садик :)
delphinpro
01.08.2022 10:38Возможно и со второго. Младший уже в пятый пошел, я честно говоря не помню точно.
ReadOnlySadUser
01.08.2022 11:41Но где Вы видели английский в школьной программе с первого класса?
Таштагол, Кемеровская обл. Средняя Образовательная Школа #10. Учили правда так себе, но английский был с первого класса.
ZeroBot-Dot
01.08.2022 14:29Давно это было? Мне для статистики.
ReadOnlySadUser
01.08.2022 15:40Начало обучения было 2000. В 2010-м закончил, но английскому всё ещё учили в младших классах. Знаю, потому что классная руководительница была учителем английского. Правда по-моему учили со второго уже, а не с первого.
AmSha
01.08.2022 12:45В школе у моей дочки английский с 1 класса. По желанию, правда. Алфавит учили и слова простые.
ZeroBot-Dot
01.08.2022 14:29По желанию как факультатив после школы?
AmSha
01.08.2022 15:07Спросили родителей, большинство высказалось "За". После этого добавили в расписание еще один урок. Это обычная районная школа, Питер.
yurixi
01.08.2022 07:16-26Я поддерживаю создание русского языка программирования и могу ответить на этот вопрос.
Дело в том, что русский человек думает на русском, и для программирования нужно переключаться в другой режим. В этом, конечно, есть преимущество — кодирование отличается от разговора, и необходимые для кодирования навыки внутренне отделены от навыков общения. И даже когда есть возможность просто подменить язык слов — именно ощущения смешения навыков приводит к неприятным впечатлениям.
Но преимущество есть и в отсутствии переключения — компьютерный язык может изначально выглядеть как общение, а не кодирование. Тогда это может усилить доступность, точность, ясность, безопасность.
Кроме того, компьютер может начать и грамотно отвечать.
Поэтому, как минимум, «активное непонимание необходимости русского языка программирования» — это торможение развития компьютерных технологий.Jian
01.08.2022 07:25+24русский человек думает на русском
Я не русский (и не украинец), и когда я говорю на русском я думаю на русском, а когда говорю на английском я думаю на английском.
F0iL
01.08.2022 08:21+9Я русский, и могу подтвердить сказанное. В какой-то момент поймал себя на том, что при совместной отладке кода или обсуждении каких-либо технических вещей с коллегами (внутренний язык в проекте для всех английский) я думаю на английском.
Didimus
01.08.2022 11:23+14А когда пишу код, я думаю о том, что будет делать код, а не о слове, которое набираю
dvoeglazyi
02.08.2022 17:44+1Вот это, мне кажется, ближе всего к правде - я бы тоже не сказал, что при разработке я думаю на определённом языке. Общение и кодирование на втором плане. Есть некий более-менее универсальный "язык алгоритмов", которым описываются происходящие процессы - функция, константа, переменная, условие, цикл, что-нибудь ещё.
Языки программирования - это больше про политику. Типа, вчера код писал разработчик из США, а завтра его можно с успехом заменить на какого-нибудь индуса, потому что нанять его стало выгоднее, а тот код был написан на знакомом ему языке. Но послезавтра уже индуса можно заменить на условного жителя Африки по тем же самым причинам.
dopusteam
01.08.2022 07:49+6Но преимущество есть и в отсутствии переключения — компьютерный язык может изначально выглядеть как общение, а не кодирование. Тогда это может усилить доступность, точность, ясность, безопасность.
Я правильно понимаю, что сейчас условные американцы\англичане пишут более доступный, точный, ясный и безопасный код, чем условные русские разработчики?
yurixi
01.08.2022 07:56-3Если вы проводите аналогии между языками, то надо осторожнее обращаться с тем, что языки отличаются. Ведь по этой аналогии они заменяемые, а в действительности в различиях могут быть преимущества одного над другим.
dopusteam
01.08.2022 08:00+5Не понимаю, к чему ведёте, я задал прямой вопрос, но как то Вы странно от него ушли.
Замените "американцы\англичане" на "люди, для которых английский язык является родным" и попробуйте ещё раз
yurixi
01.08.2022 08:05-12Языки русский/английский разные. Программирование на родном/не родном языке разное. Русские программируют на английском, англичане на родном. Если русские будут писать на родном, могут возникнуть преимущества.
randomsimplenumber
01.08.2022 08:10+9Интересно, каким местом Python английский;) Расскажите англичанину, что является столицей Великобритании , только на Python;) Что то мне кажется что native speaker вас не поймет:)
На ассемблере тоже можно попробовать спросить как пройти в библиотеку ;)
yurixi
01.08.2022 08:16-12Считаю ваше признание в не слежении за содержанием диалога бессмысленным.
yurixi
01.08.2022 08:55-3Не затруднит ли тех кто минусует пояснить: в диалоге для ясности проводящем классификацию на две характеристики языка: русский/не русский родной/не родной вдруг попросить рассказать что-то человеку на языке программирования — разве это не отсутствие слежения за диалогом? Что я мог тут упустить?
Cerberuser
01.08.2022 08:58+2Это косвенное указание на то, что проводимая классификация применима для естественных языков, но не для языков программирования.
(Не минусовал)
yurixi
01.08.2022 09:23-6Для языков программирования родной/не родной — вполне определённая классификация. Вышло обновление Питона, в нём сказано «ура, новая функция, называется (новое английское слово) — ведь все англоязычные знают что оно означает — это так удобно!». Нет, не удобно.
Вот до этого момента вот именно этим словом и не пользовался, а теперь надо доучивать.
Так что вопрос удобства кодирования это одно, а удобство расширения, развития это другое.
iig
01.08.2022 09:30+2Вот например добавился в python некий walrus operator :=
Я очень сомневаюсь, что все англоязычные без чтения документации вдруг внезапно поняли, что это и зачем оно.
yurixi
01.08.2022 09:35+1Анголязычным как раз только один шаг до распознавания в таком значке зубов моржа, а вот мне как русскоязычному вспоминается песня битлов «ай эм э валрус», и надо вспоминать о ком была та песня. Для начала.
iig
01.08.2022 10:02+2А те кто Битлз не слушали, тем совсем никак ;)
И как поможет знание того, что walrus это такое животное с бивнями, в понимании смысла этого оператора?
yurixi
01.08.2022 10:18Тем что можно будет сопоставить раздел документации и значок в программе, разумеется. Но это — был не мой пример, мой пример был действительно о каком-то слове, которое я не знаю, поэтому даже не вспомнил.
yurixi
01.08.2022 09:44Думаю, причин две. Высокая распространённость и подходящая для кодирования простота.
Usul
01.08.2022 09:53+5Да. Высокая распространенность -> больше аудитория -> проще создать большое и активное сообщество -> язык лучше развивается и проще в использовании. Для всех, в том числе и для тех, у кого английский - иностранный.
yurixi
01.08.2022 10:48-3Я веду диалог с позиции творчества, идея русского языка хорошая, стоит реализации.
Я считаю, что хабр помолодел, и молодые люди не различают тонкости общения и ставят минусы вполне позитивным ответам, негативно относящихся к заблуждениям, но не к оппоненту.
Ну что за глупость??
F0iL
01.08.2022 10:49+1Инженеры-конструкторы в России оформляют чертежи по стандартам ЕСКД. По-вашему совет молодому специалисту "оформляй чертежи по ЕСКД, потому что так делают все, тогда другие инженеры смогут понять твои чертежи, а ты сможешь понять чужие" будет являться глупостью?
yurixi
01.08.2022 11:10-2Аргумент «как все» подразумевает что стандарт выбран за тебя.
Аргумент «по стандарту», означает что ты сам выбрал стандарт, и понятно кто и зачем его выполняет.
А то что вы на автомате пропускаете различие — да, это глупость. Именно та, которая содержится в аргументации «как все».
Все пойдут с девятого этажа прыгать и на английском программировать. Соглашайся только во втором случае, в первом не соглашайся.
F0iL
01.08.2022 11:17означает что ты сам выбрал стандарт, и понятно кто и зачем его выполняет.
Инженер в большинстве случаев сам не выбирает стандарт, а использует тот, что общепринят в индустрии. Именно поэтому российские ЕСКД, кстати, практически полностью соответствуют международным ISO.
С языком то же самое - программист, если ему важно, чтобы над его кодом могли работать другие, и ему самому было привычно работать с чужим кодом, осознанно выберет именно один из тех языков, который поймут другие (при условии что этот язык подходит для решения его задач).Мне прям даже интересно, где бы сегодня была например Linux, если бы Торвальдс в свое время начал писать ее не на общепринятым англоязычном Си, а на каком-нибудь выдуманном шведско-финском языке программирования.
Все пойдут с девятого этажа прыгать и на английском программировать. Соглашайся только во втором случае, в первом не соглашайся.
Совершенно верно. Всегда надо задавать вопросы о последствиях. В случае программирования на английском плюсы этого вполне реальны, а существенных минусов не видно. В случае прыжка с девятого этажа плюсы иллюзорны, а вот минусы очень даже существенны.
yurixi
01.08.2022 11:24Утверждение «минусы иллюзорны» субъективно. О некоторых минусах можно даже не задумываться.
В общем, можно сойтись на том что не надо решать за других.
michael_v89
01.08.2022 14:36+7Я давно причислил аргумент «все так делают» к глупости.
Все в России разговаривают на русском языке. По вашей логике делать как все это глупость. Почему вы тогда разговариваете на русском языке, как делают все, а не на своем выдуманном?
Или все-таки это по каким-то причинам не является глупостью? Можете тогда сформулировать эти причины?
yurixi
01.08.2022 14:53-2Знаете, тема обучения школьников почему не надо быть баранами и не относиться к аргументации «все так делают» с полной серьёзностью, конечно интересная.
Но вы действительно страдаете этой проблемой, чтобы я вас от неё отучал? Действительно если все скажут «оно вкусное» на солёное, как в опытах над детьми, которые соглашались если все другие скажут то что отличается от их мнения, вы согласитесь?
По-моему, я даже в детском садике закричал бы «да вы что, охренели все?»
lymes
01.08.2022 15:00+1Знаете, почитал я ваши комменты (все сплошь заминусованные), и у меня сложилось впечатление, что ваш посыл - "я тут самый умный, а все дураки". Ну что же, позиция понятна. Но боюсь, у меня для вас плохие новости. Не в обиду. :-)
Jian
01.08.2022 15:11Его посыл, знание иностранного языка = "первейший признак шпиона". https://i-fakt.ru/instrukciya-sotrudniku-kgb-sssr-po-vychisleniyu-shpionov/
lymes
01.08.2022 15:25Аххаххахахаха, а может чел решил на волне истерии против коллективного запада хайпануть и заработать 30 тетрадрахм на разработке православного языка программирования?
А что, идея неплоха, может и прокатить. Вон же, хотели православный 3D движок, чем ЯП хуже.
yurixi
01.08.2022 15:19-1Нет, я как раз пытался обсудить содержательно, выслушивая и вникая в высказывания собеседника, возникая только на явно убогих аргументах «ну, все же так думают/делают».
michael_v89
01.08.2022 17:12+1почему не надо быть баранами и не относиться к аргументации «все так делают» с полной серьёзностью
Ну так в том и дело, что с серьезностью относитесь к ней вы и на основании этого называете окружающих глупцами.
Но вы действительно страдаете этой проблемой, чтобы я вас от неё отучал?
Нет, "действительно" я попросил вас сформулировать ваши причины того, почему в данном случае вы делаете как все. Я спрашивал серьезно и хотел бы услышать честный ответ. Вы ушли от ответа, поэтому я попрошу еще раз. Сформулируйте пожалуйста причины, почему в данном случае вы не считаете глупостью делать как все.
Я поясню, зачем это нужно, если вы все-таки ответите прямо, как взрослый человек, участвующий в аргументированной дискуссии.Действительно если все скажут
Откуда вдруг взялась ситуация "без причин согласиться с тем, что все скажут"? Разговор был о том, что люди делают, а не о том, что они говорят, и о том, что у них есть причины считать свое мнение правильным, и они их вам приводили, а не о том, что они так делаю без причин. То есть прямая противоположность тому, что вы хотите использовать как аналогию.
Продолжая вашу аналогию, люди говорят вам, что то, что вы им предлагаете, "соленое и невкусное", потому что оно им не нравится, то есть делают именно то, что вы считаете правильным. Просто получается так, что это не совпадает с вашим мнением.
yurixi
01.08.2022 17:21на основании этого называете окружающих глупцами.
Вряд ли утверждение "(вот этот) аргумент — глупость" — это название кого-либо глупцом, даже если он верит, что это весомый аргумент, не глупо было бы передумать.почему в данном случае вы не считаете глупостью делать как все
«Почему вы делаете как все?»
«Почему вы выбрали делать так как делают все?»
Улавливаете разницу?
«Потому что так делают все»
«Потому что оценил преимущества и выбрал»
А так?
michael_v89
01.08.2022 18:02Вряд ли утверждение "(вот этот) аргумент — глупость" — это название кого-либо глупцом
Это именно так.
Глупец — "Тот, кто поступил, вел себя глупо, сделал или сказал глупость."
Вы говорите, что они делают глупость, значит подразумеваете, что они являются глупцами, по крайней мере пока они так делают.Улавливаете разницу?
Я же попросил ответить прямо. Если решили участвовать в дискуссии, соблюдайте пожалуйста общепринятые правила ведения дискуссии. В частности, это означает, что на вопросы надо отвечать прямо, а не намеками.
«Потому что оценил преимущества и выбрал»
Ну вот и другие тоже оценили преимущества и выбрали. И вам эти преимущества сообщили. Почему вы тогда все равно называете это глупостью, если по вашим критериям это не глупость?
yurixi
01.08.2022 18:19Вникайте в тонкости. В диалоге обмениваются аргументами, и аргументы принимаются, диалог продолжается. А здесь у нас с вами что за затык?
Прямо говорю, что применение единственного аргумента что все так делают, без осмысления почему надо за ними повторять — это глупость.
Куда прямее? Если вы скажете «так надо делать потому что так делают все» — я назову это глупостью и разрешу вам домыслить, что вы и сам глупец.
Тот кто объясняет почему бы он сам не стал развивать русский язык программирования — вполне правильно ведёт диалог. А тот кто возмущён, почему это кто-то вдруг не стал повторять за всеми и сам не видит разницы между существованием и отсутствием момента осмысления — тот вы.
michael_v89
01.08.2022 19:01+1А здесь у нас с вами что за затык?
Затык в том, что вы уходите от ответа на вопросы.
Куда прямее?
Напоминаю мой вопрос:
Почему вы тогда разговариваете на русском языке, как делают все, а не на своем выдуманном?
Или все-таки это по каким-то причинам не является глупостью? Можете тогда сформулировать эти причины?Ответа на него вы не дали. Прямой ответ на этот вопрос должен начинаться "Я разговариваю на русском языке, как делают все в России, и не считаю это глупостью, потому что ...".
применение единственного аргумента что все так делают, без осмысления почему надо за ними повторять — это глупость.
А почему вы решили, что ваши собеседники делают так без осмысления? Вам неоднократно привели аргументы, почему они так делают.
А тот кто возмущён, почему это кто-то вдруг не стал повторять за всеми и сам не видит разницы
В словах ваших собеседников ничего подобного не было. Вам неоднократно объяснили преимущества, почему в данном случае надо использовать общепринятые решения. Они указаны прямо в том комментарии, на который вы ответили, что аргумент «все так делают» это глупость. Я пожалуй их процитирую:
"проще создать большое и активное сообщество"
"язык лучше развивается и проще в использовании"То есть человек не говорил, что причина в том, что все так делают, это вы приписали ему эти слова.
yurixi
01.08.2022 19:09Я разговариваю на русском языке, как делают все в России, и не считаю это глупостью, потому что
Дело не в том что так делают все, а в том что этот язык для меня родной. Вам помог этот очевидный ответ найти разницу между «как все» и другими вариантами аргументации?это вы приписали ему эти слова.
Как бы вы себя чувствовали если бы тот кому я так ответил тут же со мной согласился? Вы бы предположили, что с вами что-то не так, да? Что-то до вас не дошло бы в этом случае. Явно что-то упускаете.
michael_v89
01.08.2022 19:24+1Дело не в том что так делают все, а в том что этот язык для меня родной.
Не вижу, как это мешает вам придумать несуществующий язык и разговаривать не как все. Вы же можете придумать какой-то язык, который никто не будет понимать. Или как минимум изучить какой-то достаточно редкий. Ну чтобы не делать как все. Но почему-то этого не делаете. Значит есть какие-то другие причины?
Вам помог этот очевидный ответ найти разницу между «как все» и другими вариантами аргументации?
Почему вы решили, что я до этого не находил разницу «как все» и другими вариантами аргументации?
Вы постоянно приписываете собеседнику какие-то свои домыслы в оскорбительном ключе.
Я указывал вам на то, что ваши собеседники и так используют другие варианты аргументации, отличные от "как все".Как бы вы себя чувствовали если бы тот кому я так ответил тут же со мной согласился?
Я бы предположил, что у него проблемы с логическим мышлением, сначала говорит аргумент, который является противоположностью "как все", потом соглашается, что это аналогично "как все". Но все эти "если бы да кабы" никак не меняют факта, что человек этого не говорил.
yurixi
01.08.2022 19:36-3не делать как все
Вот ты и попался. Отрицание аргумента «делать как все» не приводит к аргументу «делать не как все». Ну что, школьник, уроки все сделал? Шучу, не обижайтесь.
Но если серьёзно, прям загадка, как это так? Вроде рассуждать умеет, но вот как это у вас происходит — отрицание сразу шатает в противоположность да? А вы точно программист? Как можно приписывать мне аргумент «хочу не как все» на основании «не хочу как все»?
Различие мимо проходит, что ли, не улавливается?говорит аргумент, который является противоположностью
Давайте закончим. Ну зачем мне разговаривать с человеком который думает, что рубит в логику, а сам не рубит? Я ж от смеха лопну. Я уже один раз пошутил, а дальше ещё одно подтверждение.
Да, собеседник не выражал согласия. Но эти два мнения просто не логические противоположности, как вы сами себе придумали. Так что вполне мог.
michael_v89
01.08.2022 20:00Отрицание аргумента «делать как все» не приводит к аргументу «делать не как все».
Приводит. "Ничего не делать" тоже означает "не как все".
Как можно приписывать мне аргумент «хочу не как все» на основании «не хочу как все»?
Так, что вы сказали, что делать как все это глупость, а в русском языке, которому меня учили, это слово имеет негативную коннотацию и подразумевает, что надо делать противоположные вещи.
Единственно возможный третий вариант это "ничего не хочу", а в контексте данного разговора он бессмысленный. Я предполагал, что вы умный человек, и не будете участвовать в дискуссии, подразумевая этот вариант.
И да, я уже вас просил отвечать прямо, а не намеками. Я не умею читать мысли, и поэтому не могу узнать, какие другие варианты, противоречащие логике, вы себе придумали.
Но эти два мнения просто не логические противоположности, как вы сами себе придумали.
Эти два мнения просто логические противоположности. Я тоже умею делать бездоказательные утверждения, но в отличие от вас не использую их в качестве аргументов.
yurixi
01.08.2022 20:46вы сказали, что делать как все это глупость
Так так. сравним.Я давно причислил аргумент «все так делают» к глупости.
Так что же является глупостью? Делать как все, или аргументировать через то что все так делают? Вот неразрешимая для вас загадка.Я предполагал, что вы умный человек, и не будете участвовать в дискуссии, подразумевая этот вариант.
У умного человека целых три варианта. Так и запишем. Не больше и не меньше.Я не умею читать мысли, и поэтому не могу узнать, какие другие варианты, противоречащие логике, вы себе придумали.
На арене выступает человек, не умеющий читать мысли другого человека, но точно знающий, что они противоречат логике!
Так. Я проржался. Теперь надо, наверное, как-то обсудить конкретно, противоречат ли два утверждения «есть много аргументов почему все это выбирают» и «аргументировать через то что так все делают — глупо» не противоречат друг другу.
Разница в существовании момента осмысления перед выбором. Если первое сообщение подразумевает, что выбор просто разумен, и его можно рассмотреть, то нет никакого противоречия. И даже со вторым сообщением автор первого может согласиться. А если подразумевает, что надо просто повторить, то осмысления нет и тогда есть противоречие.
michael_v89
02.08.2022 01:14+1Делать как все, или аргументировать через то что все так делают? Вот неразрешимая для вас загадка.
Вы снова приписываете собеседнику свои домыслы.
В данном случае разницы никакой нет, потому что если делать как все это не глупость, а логичное поведение, то и аргументировать этим не глупость. Аргументировать отсылкой к действию, про которое известно, что оно аргументировано, это логично. Это как с теоремами в математике, доказали одну, через нее можно доказывать другую.У умного человека целых три варианта. Так и запишем. Не больше и не меньше.
Вы снова приписываете собеседнику свои домыслы.
Я сказал, что умный человек не будет рассматривать этот вариант. Лично я считаю, что их всего три, причем третий является частным случаем одного из остальных, но возможно у вас в данном случае какие-то другие критерии логичности.На арене выступает человек, не умеющий читать мысли другого человека, но точно знающий, что они противоречат логике!
Естественно, если с моей точки зрения рассмотрены все варианты, покрывающие область значений функции логичности, то другие варианты я могу считать нелогичными, даже не зная их. Вы можете доказать, что это не так, приведя конкретные примеры с пояснениями, но вы этого не сделали.
Теперь надо, наверное, как-то обсудить конкретно, противоречат ли два утверждения «есть много аргументов, почему все это выбирают» и «аргументировать через то, что так все делают — глупо» не противоречат друг другу.
Так, я похоже понял. Вы опять потеряли нить разговора. Напомню диалог в этой части:
— То есть человек не говорил, что причина в том, что все так делают, это вы приписали ему эти слова.
— Как бы вы себя чувствовали если бы тот кому я так ответил тут же со мной согласился?
— … все эти "если бы да кабы" никак не меняют факта, что человек этого не говорил.
— Да, собеседник не выражал согласия… Так что вполне мог.Я говорил о том, что человек не говорил аргумент, что "все так делают".
А вы почему-то решили, что под "не говорил" я подразумевал его согласие с вашим комментарием.А тот кто возмущён, почему это кто-то вдруг не стал повторять за всеми и сам не видит разницы между существованием и отсутствием момента осмысления — тот вы.
И еще один момент, который вы не поняли. Смысл моего комментария про русский язык был вовсе не в том, что надо повторять за всеми. А в том, что те же аргументы, которые вы приведете, справедливы и для ваших оппонентов. Но вы, к сожалению, решили уйти от ответа и не продолжать эту ветку обсуждения. Поскольку это был единственный тезис моего изначального комментария, не вижу смысла продолжать эту дискуссию.
Kanut
01.08.2022 15:09+3Делать что-то исключительно по причине что "все так делают" это глупость.
Но это не значит что не может существовать других, более адекватных, причин делать что-то также как все остальные.
dopusteam
01.08.2022 08:20+6Англичане программируют на 'родном', но это им не даёт преимуществ. Другие народы, для которых английский является родным, тоже не получают преимуществ. Русские могут получить преимущества, я правильно понимаю?
yurixi
01.08.2022 08:25-9Да, из-за того что сам русский язык другой.
dopusteam
01.08.2022 08:35+9А есть конкретные примеры того, что именно есть в русском такого, что поможет писать более ясный и безопасный код? Склонения? Падежи? Что?
yurixi
01.08.2022 08:46-8Мы обсуждаем то чего ещё нет, но в общем, возможно.
Преимущества навскидку? В русском языке есть разные окончание для розного рода, и поэтому упомянув переменные, названные разными родами, повторное упоминание в этом же предложении можно обозначать его/её, и будет ясно о чём речь. Или привязать глагол, и по одному окончанию будет ясно к чему он относится. Но сам русский язык программирования я вам сейчас сходу не придумаю. Даже указанные особенности могут восприниматься сейчас не как преимущества. При общении — рода, падежи и склонения помогают, остаётся эту помощь воплотить в программировании.Cerberuser
01.08.2022 08:52+2есть разные окончание для разного рода
И для разных чисел и падежей, вот только пользуются ими далеко не все, как видно прямо из процитированной фразы. Неужели языку программирования, который должен быть однозначно понятен и машине, и человеку, нужны такие усложнения, которые и в естественном-то языке постоянно теряются?
yurixi
01.08.2022 08:58-1Ваш ответ упоминает мою опечатку. Только целиком ваш ответ по вашим понятиям должен выглядеть как «у вас тут какая-то не такая буква, и я ничего не понял». Именно так делают компьютеры.
Constanine
01.08.2022 09:19При общении — рода, падежи и склонения помогают, остаётся эту помощь воплотить в программировании.
Вот в этом и проблема. Идея звучит может быть и хорошо, а куда её прикрутить и как использовать, не понятно.
Jian
01.08.2022 09:20+1указанные особенности могут восприниматься сейчас не как преимущества. При общении — рода, падежи и склонения помогают, остаётся эту помощь воплотить в программировании
Было бы реально круто!
warhamster
01.08.2022 11:09+1Нет. До появления сильного ИИ пихать куда-либо в программирование концепции из естественных языков - плохая идея. Компьютер сейчас тупой, он все равно ничего не поймет, а программисту будет только сложнее читать.
В Руби, например, обрабатывается окончание множественного числа у имен переменных, и, как по мне, от этого один вред и проблемы. Больше такого не видел нигде, и слава богу.
yurixi
01.08.2022 12:45-1Ну нет, мысль просто свёрнута до одного предложения. А так — вы действительно думаете, что составлять программы пользуясь микрофоном и динамиком было бы хуже?
PanDubls
01.08.2022 16:30Мне кажется, так думает любой, кто хоть раз пытался втолковать что-то более или менее сложносочиненное даже очень продвинутому голосовому помощнику. А если у меня фефекты фикции (а они есть у каждого первого, если он не профессиональный актёр), то вообще швах.
Вы вот, как я понимаю, математик. Вы как предпочитаете математические задачи с какими-нибудь сложными уравнениями решать - ручкой (шаркиовой) на бумажке или вслух надиктовывать?
yurixi
01.08.2022 16:57Ручкой. Но почему бы мне не хотеть говорить компьютеру «умножь обе части на икс» так чтобы это было не шаблоном, а пониманием, включающем подтверждение верности этого действия, включающем проверку, надо ли делать уточнение о случае когда икс равен нулю?
faultedChip
02.08.2022 08:00Ну нет, мысль просто свёрнута до одного предложения.
Так я про это и пишу - вы как и Задорнов приписываете языку какие-то мистические свойства.
А так — вы действительно думаете, что составлять программы пользуясь микрофоном и динамиком было бы хуже?
Я вообще не понимаю этого аргумента - это в каких случаях надиктовывание текста годится для чего-то, кроме дневника капитана в "Звёздном пути", или заметок патологоанатома? И то во втором случае это в итоге переносится на бумагу.
yurixi
02.08.2022 08:12Программирование сейчас это кодирование. Английский язык подходит для кодирования потому что сам похож на кодирование. Русский язык отличается. Предполагаемый язык программирования, который был бы русским, не только предоставлял бы другие символы для кодов, он мог бы разбирать живую речь, что может быть реализовано через голосовое взаимодействие. И отвечать программная среда для моментов отладки тоже могла бы.
iig
02.08.2022 11:10Английский язык подходит для кодирования потому что сам похож на кодирование.
Каким местом английский язык похож на кодирование? Разве что некоторые слова из английского совпадают с ключевыми словами из некоторых языков программирования. Так с русским то же самое ;)
yurixi
02.08.2022 11:26Как каким, а одинаковые формы слов относительно разных форм для разных падежей в русском языке?
iig
02.08.2022 11:51Что вы имеете ввиду?
В английском языке есть времена. Их много. Попробуйте закодировать ;)
А вы что имеете в виду (с примером если можно)?
yurixi
02.08.2022 12:01Под кодированием на английском я имел ввиду обычное программирование с названиями, взятыми из английского, благодаря отсутствию падежей издалека это выглядит как грамотная конструкция. А вот «вернуть переменная» на русском уже выглядит не грамотно.
iig
02.08.2022 12:15+1благодаря отсутствию падежей издалека это выглядит как грамотная конструкция
Очень издалека. Для меня тоже любой набор иероглифов выглядит как образец каллиграфии.
А вот «вернуть переменная» на русском уже выглядит не грамотно.
Всего то? Ну кодируйте "переменная" и "переменную" в один токен var и будет компилятору всё равно, а вам будет щасьтье.
faultedChip
02.08.2022 13:30+3Такие как вы продают идиотам в правительстве прожекты, а потом уходят с деньгами в закат.
Другими словами вы пишите чушь, и если судить только по вашим комментариям, то либо вы в принципе не пересекались с программированием (судя по отсутствию знания английского), либо теоретик.
И отвечать программная среда для моментов отладки тоже могла бы.
Фэйспалм... ЭТО НИКОМУ НЕ НУЖНО. Нужна возможность видеть всё состояние программы, нужна возможность условных остановок, возможность отлатки дампов, куча всего нужно - но не голосовая озвучка. И не распознавание голоса. И не суверенный язык программирования.
yurixi
02.08.2022 14:04Из вашего комментария я понял, что вы боитесь, что вас обманут путём того что представят под видом перспективной разработки то что будет выглядеть как русский язык программирования, а по факту будет содержать излишества и являться необоснованной тратой средств. Думаю, если так и будет, то это буду не я. Меня можете не бояться.
Я бы что-нибудь полезное сделал.
yurixi
02.08.2022 14:35Не, я думаю, из-за того что я выражаюсь коротко и без детальных объяснений, тот кто читает — много домысливает, и только рамках своих представлений.
Когда я при отладке «задаю программе вопросы», например «как будет выглядеть то, как будет выглядеть это, а в чём разница?», то программу, которая исследует данные и отвечает, мне приходится писать самому. Так что, обыкновенная рефлексия приводит к мысли всё это превратить в более удобный вид общения.
iig
02.08.2022 14:49+1много домысливает, и только рамках своих представлений.
А что делать ,если ваши рассуждения - сплошная неопределенность. Сложно понять, вам нужен естественный язык для общения с компьютером, или язык программирования, основанных на русских лексемах, или что-то другое.
более удобный вид общения
Автоматы Милли/Мура не умеют в общение.
Cerberuser
01.08.2022 11:50+1В Руби, например, обрабатывается окончание множественного числа у имен переменных
Это где такое? Я с ходу нашёл только в Rails, но там это метапрограммирование, которое, теоретически, можно реализовать на любом языке с динамической типизацией и сильной системой рефлексии (другой вопрос - нужно ли, это да).
warhamster
01.08.2022 15:26Да, я это и имел в виду. Я не настоящий рубист, мне простительно. Все равно выглядит как жесткий изврат.
iig
01.08.2022 09:23Как правило, программирование - это кодирование алгоритмов. Сможете придумать алгоритм, в котором можно как-то использовать "упомянув переменные, названные разными родами, повторное упоминание в этом же предложении можно обозначать его/её, и будет ясно о чём речь"? Потому что о чём речь я не понял ;)
yurixi
01.08.2022 09:33Я бы сказал объяснение алгоритмов. Если компьютер поймёт фразу «возведение в квадрат это умножение числа на него же», то это и будет примером. Другой вопрос — видны ли преимущества?
iig
01.08.2022 10:10Если компьютер поймёт фразу «возведение в квадрат это умножение числа на него же», то это и будет примером.
Тут 2 вопроса:
1 - а компьютер поймёт эту фразу?
2 - y = x*x выглядит достаточно понятно, но значительно более лаконично.
3 - попробуйте описать ряд Фурье на русском языке. А в метематической нотации это одна формула, которая достаточно тривиально кодируется на любом ЯП.
yurixi
01.08.2022 10:25В своих статьях я описывал преобразование Фурье на русском языке, и мне вполне ясно, что формула имеет преимущество в лаконичности, но описание словами всё же добавляет что-то важное для понимания.
IvanPetrof
01.08.2022 10:30+5возведение в квадрат это умножение числа на него же
хм… какие чудные уязвимости можно заложить в таких формулировках:
«сходи в магазин, купи одну булку хлеба. Если будут яйца, то купи десяток..»
michael_v89
01.08.2022 14:18+1Если компьютер поймёт фразу «возведение в квадрат это умножение числа на него же»
Он уже может это понять, русский язык для этого не требуется.
function square(number) { let itself = number return number * itself } функция возведениеВКвадрат(число) { значение него = число вернуть число * него; }
Грамматический род слова на русском в этом примере не играет никакой роли. На английском отсылка к самому числу выражается аналогично.
A square is the result of multiplying a number by itself.А вот здесь с вашим подходом уже ничего не понятно.
функция нашаФормула(число, коэффициент) { вернуть коэффициент * число * него; }
"Него" это коэффициент или число? В данном случае ваш подход имеет недостаток.
Так у вас есть аргументы, которые могут показать преимущества? Потому что если их даже у вас нет, то странно ожидать от собеседников, что они их увидят.
yurixi
01.08.2022 14:38Разумеется, принцип замены языка слов и идея взятия из естественного языка его преимуществ различаются.
Примеров более качественных предоставить не могу, это само по себе было бы продвижением в разработке.
Но я ввязался в этот спор потому что размышляю на эту тему и вижу перспективу.
michael_v89
01.08.2022 17:37+1предоставить не могу, это само по себе было бы продвижением в разработке
Нет, это было бы обоснованием ваших высказываний. Вы же говорите о преимуществах для программирования, а программирование подразумевает конкретные программы. То есть получается, что вы спорите, не имея обоснования своих слов.
А продвижением в разработке это было бы, если кто-то это разработал.и вижу перспективу
Ну так значит вы представляете какие-то ситуации, где это было бы лучше, чем программирование с английскими словами. Почему бы тогда не описать эти ситуации? Или вы их все-таки не представляете?
и вижу перспективу
Опишите пожалуйста перспективу во втором примере программного кода из моего комментария.
Он сделан в точности так, как вы хотите.
Лично я по сравнению с обычным языком программирования вижу только одно отличие, которое является недостатком — непонятно, что означает слово "него". Но может быть я чего-то не понимаю, поэтому жду от вас ответа, почему этот вариант лучше.принцип замены языка слов и идея взятия из естественного языка его преимуществ различаются
Не очень понятно, почему вы спорите с собеседниками о преимуществах естественного языка для задания требований компьютеру, когда разговор как раз о замене слов.
Но дело даже не в этом, а в том, что английский это тоже естественный язык, и взятие его преимуществ было бы полезно. То есть это не является аргументом в пользу использования русского языка (или какого-то другого естественного языка) вместо английского. Просто понимание естественного языка требует изобретения искусственного интеллекта, поэтому еще никто так не сделал. А изобретение искусственного интеллекта от языка ключевых слов не зависит, как минимум потому что программы потом компилируются в машинный код.
yurixi
01.08.2022 18:32А продвижением в разработке это было бы, если кто-то это разработал.
Это конечно очень интересно, когда полезный пример приведён, но не разработан. Вряд ли у кого-либо это бы получилось.разговор как раз о замене слов
Замена слов тривиальна, не стоит обсуждения.еще никто так не сделал А изобретение искусственного интеллекта от языка ключевых слов не зависит
Вот, кстати, действительно здравая идея — после реализации аналога естественного русского языка позволить образоваться и аналогу естественного английского языка. Обязательно позволим.
Но потом.
michael_v89
01.08.2022 19:08когда полезный пример приведён, но не разработан. Вряд ли у кого-либо это бы получилось.
"Разработан" в моем комментарии означает фактическое внедрение описанных вами преимуществ в компиляторы для языков программирования.
А гипотетические примеры на выдуманном языке можно приводить и без существующего компилятора.
Поэтому да, можно привести полезные для данной дискуссии примеры, не имея разработанным использование в компиляторах "преимуществ естественного языка".Замена слов тривиальна, не стоит обсуждения.
Не вам решать за других людей, что они хотят обсуждать.
после реализации аналога естественного русского языка
Вы либо не поняли, что я написал, либо намеренно проигнорировали. То, что вы называете "реализация аналога естественного русского языка", невозможно без изобретения ИИ. Без ИИ это будет просто замена одних ключевых слов на другие. А с ИИ это не будет языком программирования.
yurixi
01.08.2022 19:20«Разработан» в моем комментарии означает
А в моём комментарии «разработан» значит доведён до демонстрации концепта.можно привести полезные для данной дискуссии примеры
полезные примеры потому полезные что работают, в какой-то степени уже представляют собой концепт.Не вам решать за других людей, что они хотят обсуждать.
То есть, надо было уточнить «не стоит моего обсуждения», не слишком ли это было эгоцентрично? Я вообще имел ввиду, что не обсуждаю простую замену слов, там изобретать нечего.Без ИИ это будет просто замена одних ключевых слов на другие. А с ИИ это не будет языком программирования.
Да, а вариант что программист разработал язык программирования, и он похож на естественный, но без неопределённостей, для разъяснения которых нужен «ИИ», вы исключаете?
michael_v89
01.08.2022 19:44+1А в моём комментарии «разработан» значит доведён до демонстрации концепта.
Демонстрация концепта "в компиляторах надо использовать преимущества естественного языка" это и есть разработка такого компилятора. Демонстрируется в данном случае его работа. Без этого никакой демонстрации нет.
То есть, надо было уточнить «не стоит моего обсуждения», не слишком ли это было эгоцентрично?
Нет, надо было сказать "Да, я признаю, что разговор был о замене слов, а я начал спорить о чем-то другом, и мои аргументы в этой теме ничего не доказывают, это моя ошибка, извините".
без неопределённостей, для разъяснения которых нужен «ИИ», вы исключаете?
ИИ нужен не для разъяснения неопределенностей программисту, а для понимания входного текста на естественном языке.
Человек может пользоваться естественным языком потому что у него есть способность анализировать входные данные, которые поступают постоянно. У компьютера такой способности нет. Ее реализация на уровне, аналогичном человеку, это и есть ИИ. Другие варианты требуют предварительной формализации, закладывание формальной модели в компилятор, и обозначение элементов модели ключевыми словами.
Да, а вариант что программист разработал язык программирования, и он похож на естественный
Это и есть замена одних ключевых слов на другие. "Похож", но не "является", значит есть какие-то формальные рамки, которые заданы этим программистом при разработке компилятора. Это ничем не отличается от существующих компиляторов.
yurixi
01.08.2022 19:53это моя ошибка, извините
Вряд ли после моих слов о том что я бы не обсуждал замену вам стоит говорить чтобы я извинился что начал её обсуждать. Для уточнения: где конкретно указывается, что речь в этой ветке о замене, вдруг я упустил?а для понимания входного текста на естественном языке.
Так. У нас тут целых четыре варианта образовалось. Обычный ЯП, ЯП с заменой слов, ЯП по форме похожий на естественный и действительно естественный для распознания которого нужен ИИ. Не много, не запутаемся?Это ничем не отличается от существующих компиляторов.
А, четыре многовато для вас. Ну ладно, как хотите.
Cerberuser
01.08.2022 21:49+1У нас тут целых четыре варианта образовалось. Обычный ЯП, ЯП с заменой
слов, ЯП по форме похожий на естественный и действительно естественный
для распознания которого нужен ИИ.Где подтверждения того, что третья категория отличается от второй (либо четвёртой, в зависимости от того, с какой стороны подходить)?
yurixi
01.08.2022 19:59-2О, оказывается мы ведём две ветки беседы. А я думаю, что за превышение статистики по пониженной культуре общения у собеседника — целых два за раз.
michael_v89
01.08.2022 20:10+1А я думаю, что за превышение статистики по пониженной культуре общения
Я вежливо попросил вас ответить на вопрос, заданный в корректной форме и в нейтральных словах. Вы не ответили на вопрос, что само по себе является грубостью, и начали высказывать различные реплики с негативными коннотациями в адрес собеседников. Культура общения да, от этого понижается.
Вряд ли после моих слов о том что я бы не обсуждал замену вам стоит говорить чтобы я извинился что начал её обсуждать.
Я не говорил, чтобы вы извинились, что начали обсуждать замену. Я говорил, чтобы вы извинились, что начали приводить аргументы, касающиеся распознавания естественного языка, в теме, где другие обсуждают замену.
Считаю ваше признание в не слежении за содержанием диалога бессмысленным.
Не много, не запутаемся?
Выглядит как отсутствие возражения.
yurixi
01.08.2022 20:21Вы не ответили на вопрос, что само по себе является грубостью,
… в теме, где другие обсуждают замену.
вот вы и сами не ответили на вопрос об уточнении уточнение где это такое.Считаю ваше признание в не слежении за содержанием диалога бессмысленным.
Я бы не стал собеседнику отвечать его словами, даже если бы они подходили. Это же неуважение ни к себе ни к собеседнику. Давайте хотя бы эту ветку оставим уже? Я в ветке про логические противоположности в высказываниях сейчас пытаюсь ответить так чтобы до чего-нибудь разумного договориться.
michael_v89
02.08.2022 01:26+2вот вы и сами не ответили на вопрос об уточнении уточнение где это такое
Пишите пожалуйста в большем соответствии с правилами русского языка, сложно понимать, где именно вы пропустили знаки препинания и что хотели сказать.
Действительно, я хотел ответить на этот вопрос, но пропустил его в финальной версии комментария. Но хочу заметить, что если вы сами не отвечаете на вопросы, то этим понижаете уровень дискуссии до того, где это допустимо, а потому не можете относительно этого предъявлять претензии собеседнику.
Для уточнения: где конкретно указывается, что речь в этой ветке о замене, вдруг я упустил?
Поищите эти фразы на данной веб-странице. Они задают контекст всего этого обсуждения.
"В данной статье приводится мой краткий обзор некоторых языков программирования и решений, которые позволяют программировать на русском."
"Русификация служебных/ключевых слов"
"новый скриптовый язык программирования с синтаксисом на русском языке"
yurixi
02.08.2022 06:59Мне жаль, что я не остановился и нафлудил с таким бескультурным неумным собеседником.
ABOMETP
02.08.2022 16:48-1имхо не было тут безкультурия или культуры вообще, было обыкновенное непонимание ака про Фому и Ерёму. Я не настоящий программист, однако есть мнение про поднятую проблему.
Есть такая тенденция развития творческих и не только занятий людей, ну там живопись, музицирование, да мало ли, так вот, для примера использую музыку. Для создания музыки нужно осваивать нотную грамоту или хотя-бы блатные аккорды, притом в дальнейшем придётся учить что-то более сложное типа нотной грамоты или гармонии с тональностями, не всякий человек осилит по разным причинам такой путь, однако появляются решения для тех у кого в голове возникают творческие идеи и эти решения помогают им как-то их реализовать, пусть неграмотно с точки зрения профи, но они могут выдать образ и поделиться им.
Тот же эффект произойдёт и в программировании если таковой инструмент появится! Ведь кто такой профессионал в программерстве (образ усреднён) - это обученный всем премудростям согласно требований, имеющий опыт успешного применения навыков ремесленик, но тем не менее идущий как лошадь в шорах по проторённой до него другими тропе с высокой оградой, ограничивающей творчество стандартами, этакий идеальныё робот.
Просто сравните музыкантов профессионалов с музыкантами самоучками, пусть играют не так чисто, зато душевно.
А ещё были всякие математики смешные, которые додумаются до умного и им это так просто кажется, и словами они могут объяснит ту простоту, а вот доказать всему миру не то что не могут, а не пытаются, потому как всему миру нужно строгое математическое доказательство по всем правилам как все делают! А потом весь мир вместо развития дальше столетиями пытается по всем правилам доказать то, что понятно описано словами, но чтобы как все.
faultedChip
01.08.2022 12:28+2В русском языке есть разные окончание для розного рода, и поэтому упомянув переменные, названные разными родами, повторное упоминание в этом же предложении можно обозначать его/её, и будет ясно о чём речь.
Я за всю жизнь не сталкивался с ситуацией, когда бы мне в программе требовалось выразить род переменной или функции.
F0iL
01.08.2022 12:36+2требовалось выразить род переменной
const - мужик, непоколебимо стоит на своём,
mutable - девушка, очень переменчивая :)
yurixi
01.08.2022 08:51-3Кроме того, сложность языка заставляет развивать понимание, воображение на слушающей стороне, что в программировании означает на стороне компьютера. А это значит, приближение программирования к диалогу с понимающим, ответственным исполнителем.
iig
01.08.2022 11:00ложность языка заставляет развивать понимание, воображение на слушающей
стороне, что в программировании означает на стороне компьютераВот чего меньше всего хочется, так это воображения со стороны компьютера. Он навоображает, что вы его угнетаете своими программами, и обидится.
LordCarCar
01.08.2022 11:23Лампа просьбу поняла дословно правильно! Правда почему-то результат неожиданный!
yurixi
01.08.2022 12:15Не только программирую, но и придумываю новый язык, вы находите здесь противоречие?
Static_electro
01.08.2022 12:34+3не в противоречии дело, просто ваша точка зрения - с моей точки зрения - выглядит странной и даже сомнительной, потому что вместо практического удобства вы предлагаете значительное усложнение ради... я не очень понял, ради чего, если честно. Поэтому и вопрос, теоретик вы или практик.
Affdey
01.08.2022 14:10О! программирование как общение - прям мечты из журнала "Человек и Машина" за 1980й. А создание такой среды разработки на чём? на обычных ЯП, и это колоссальный труд, и его смысл пока не виден.
Constanine
01.08.2022 07:50+9Всегда предполагал что программист мыслит абстракциями. А потом уже идет реализация через ЯП.
yurixi
01.08.2022 07:58-10Если бы программист действительно мыслил абстракциями, он бы при программировании одновременно создавал бы абстрактные шаблоны, которые в последующем можно было бы просто параметризировать.
Constanine
01.08.2022 08:57+6Так процедура, функция и есть абстрактный шаблон. Передали аргументы, получили результат.
Мы не работаем с физическими объектами в большинстве случаев.yurixi
01.08.2022 09:03Абстрагирование заканчивается на создании функции как шаблона? Но оно могло бы на этом не заканчиваться, для самого создания функции при абстрагировании можно сделать шаблон. Вот это настоящее абстрагирование.
Paskin
01.08.2022 09:44+1Шаблоны в С++ и функции базовых классов в ООП - и есть "абстрагирование". Да и сами классы - суть абстракция реальных сущностей, а методы - абстракция взаимодействий.
yurixi
01.08.2022 09:48«Создание шаблона» — это не абстракция, а вот «шаблон создания шаблона» — абстракция.
Paskin
01.08.2022 11:08Шаблон создания шаблона - это схоластика.
В языках вроде SmallTalk или ObjectiveC, например - вообще нет "методов" - а есть взаимодействия между обьектами. Включая возможность реакции на не известные на момент написания или имеющие другой набор параметров..
yurixi
01.08.2022 11:30Не схоластика, а понимание. Я вёл к тому, что развитие абстрагирования вполне может привести к естественному языку, так как абстрагирование информации о том что надо сделать ведёт к тому как это сообщить оптимальным способом, учитывая что собеседник уже знает, к аналогу естественного языка.
Paskin
01.08.2022 11:59Тогда уже замахивайтесь не на "что надо сделать" - а на "что должно получиться", как в нейронных сетях...
Paskin
01.08.2022 13:19Что вы вкладываете в понятие "проверять"? Как и любая другая аппроксимация неизвестной функции - нейронные сети проверяются статистически. Доказать, что где-то не пропустили локальный экстремум - невозможно, как и критерии "аппроксимируемости" в этой самой точке.
yurixi
01.08.2022 13:37+1Вы спросили нейронку. Нейронка вам дала ответ. Вы его использовали. Ответ оказался вредный. На каком этапе нужно вводить изменения, в ваш вопрос, в нейронку, или в процедуру проверки ответа перед практическим выяснением того что он навредил?
Paskin
01.08.2022 16:46Это так не работает. Вы "спросили" сеть - она вам дала ответ с определенной уверенностью. Множите эту уверенность на статистическую точность сети - получаете вероятность правильного ответа. Дальше - зависит от критичности применения, можно иметь несколько сетей разных архитектур и совмещать их результаты, можно поставить дополнительные датчики, можно просто смириться.
Если возможна ретроспектива - то большинство сетей умеют "дообучаться" на своих ошибках.
yurixi
01.08.2022 17:29Думаю, в этой концепции нет ответственности, поиска возможных ошибок. Или этому не придаётся должного внимания.
Paskin
01.08.2022 18:07Этому придается внимание - но "поиск возможных ошибок" невозможно завершить за разумное время и деньги.
Кстати, вы для своих "обычных" программ используете статический анализ кода? Думаю что нет, хотя стоят такие анализаторы недорого (а то и вообще бесплатны) - и наверняка найдут у вас кучу ошибок.
yurixi
01.08.2022 18:46Так. Аргумент что кому-то не хватает времени и денег понятен. А вот указание, что у меня найдётся много ошибок — по моей классификации необоснованное принижение достоинства. Вот прям наверняка, без вариантов? И прям кучу? Не три, не десять, а кучу?
Нормально же общались.
Я и так уделил этим обсуждением весь день. Мне карму слили чисто по упоротости недорусских по английскому языку и мировоззрению. Половина оппонентов не умеют ни читать ни в логику. Сама мечта не оценена.
И вам обязательно вот так под конец дня хамить?
Что-то как-то перебор.
Paskin
01.08.2022 19:13Зря вы обижаетесь - это обьективная реальность. Если не использовать статический анализ - то в "безопасных" языках будет 1-2 ошибки на страницу, а в C/C++ - еще больше. Такова сложность современных ЯП.
А времени и денег не хватает всем - бюджет не безграничный и рынок тоже не будет ждать вечно
yurixi
01.08.2022 19:23Вы проецируете своё отношение к ошибкам в программе на меня. У меня другое отношение к ошибкам. Не общепринятое, можно сказать.
yurixi
01.08.2022 22:38Как вы считаете, все понимают то что они сами говорят, или есть исключения?
Программирование с доказательствами это хорошо, но что если будут такие места, где наоборот, именно доказательства ожидать и не стоит?
В этой теме копать и копать.
Cerberuser
02.08.2022 05:56все понимают то что они сами говорят, или есть исключения?
Никто не понимает - это фундаментальное ограничение естественного языка.
что если будут такие места, где наоборот, именно доказательства ожидать и не стоит?
При работе с автоматическими системами (т.е. с такими, которые руководствуются только сказанным явно в коде программы либо в спецификации языка) такое место ровно одно: обработка аппаратных сбоев, вроде некорректно прочитанного из памяти бита. Во всех остальных примерах доказательство корректности кода возможно (пусть и редко когда стоит того) и является единственным способом не допускать ошибок при разработке.
gluk47
01.08.2022 09:58Так и делается.
Шаблонные классы с шаблонизированными шаблонными параметрами и переменным количеством простых типов-параметров, вот, например.Просто оно настолько развивает воображение на принимающей стороне (у человека-читателя), что не очень часто используется. А компьютеру нормально, и иногда очень полезно получается.
yurixi
01.08.2022 10:15Если шаблон функции можно будет свести к «С учётом что было объяснено выше нам понадобится функция, сам понимаешь какая, и сам понимаешь как называется». И это развернётся в исполняющийся код, то это будет хорошим приближением к естественному языку.
gluk47
01.08.2022 10:24Ну тут либо неоднозначность и трудноуловимые ошибки — такое сейчас готовы предоставить нейросетевые классификаторы.
Либо долгое объяснение, какие функции что делают, то есть написание библиотеки алгоритмов, откуда можно создавать объекты и функции, подставляя им конкретные типы данных и шаблонные стратегии (типичный пример стратегии в C++ — аллокатор при создании контейнеров).Объяснять выше, собирая конференц-колл и проводя двухгодичные курсы алгоритмов и структур данных для компьютера, мало толку: на выходе получится та же стандартная библиотека, только с ошибками — во всяком случае, люди, начав код писать после такого курса, довольно быстро узнаю́т слова off-by-one и segfault.
Объяснить сложные вещи как-то ещё более по-другому — непонятно как, и от выбора языка это не сильно зависит, хотя конечно, в языке должны быть необходимые слова и абстракции.yurixi
01.08.2022 10:30Всё сходится к такому хорошему абстрагированию, которое переходит в понимание. Но и там проверку правильно ли друг друга участники понимают, не стоит отменять.
Cerberuser
01.08.2022 10:24+1Я бы не хотел работать с такой системой, скажем прямо. По одной простой причине: когда (не "если") она сделает не то, что надо, мы не сможем разобраться, почему.
yurixi
01.08.2022 10:27Ну для того чтобы такого не было надо быть на одной волне)
И проверить, правильно ли тебя поняли помогает и в обычном кодировании.Cerberuser
01.08.2022 10:30Разница только в том, что при обычном кодировании это возможно, ввиду его формализуемости.
yurixi
01.08.2022 10:42А что если повторить два раза?) Разными словами, и одна интерпретация будет проверять другую.
Cerberuser
01.08.2022 11:52"Quis custodiet ipsos custodes?" Где гарантия, что проверка интерпретациями друг друга будет иметь хоть какую-то достоверность - опять-таки, в условиях не-формализуемого языка?
yurixi
01.08.2022 12:10Вообще незачем называть предполагаемый язык не-формализуемым. Для программирования надо иметь единое с компьютером понимания, какие слова что означают, и расхождения — хоть и допустимы во время начала программирования — условно, к моменту выполнения — после всех проверок — стоило бы исключить.
То есть, какая-то принципиальная основа действительна должна быть.
Cerberuser
01.08.2022 12:24Естественный язык не формализуем принципиально. Соответственно, предлагаемый язык либо будет заведомо не похож на естественный, либо будет также не формализуем.
yurixi
01.08.2022 13:00Либо будет условно формальным, вся условность которого будет в том что если понадобятся уточнения, они будут запрошены и получены.
Cerberuser
01.08.2022 13:19+1Если автоматизированная система может запросить уточнения каким-либо образом, кроме "я ничего не понял", и эти уточнения будут гарантированно релевантными (а не догадками) - значит, язык формализован, значит, он не похож на естественный.
yurixi
01.08.2022 11:52Аналог отладки, тестов. Только при приближении к общению — ответ на уточняющие вопросы.
LordCarCar
01.08.2022 12:13При использовании формального языка или формул это просто.
А с естественным языком процесс будет бесконечным: чтобы проверить правильно ли тебя поняли, надо задать уточняющий вопрос, проверить правильно ли поняли вопрос и т.д. А еще надо проверять правильно ли поняты ответы...
yurixi
01.08.2022 12:18Ну, если у вас был опыт с людьми которых надо непрестанно проверять, то вам, наверное, виднее. По моему опыту можно объяснить и проверить объяснение за ограниченное время. Ну, в рамках мировоззренческих установок.
iig
01.08.2022 12:28Человеку не ставят задач на python.
Компьютеру не обьясняют, ни на английском языке, ни на латыни.
yurixi
01.08.2022 13:05Если вы считаете, что «указание что делать» это не «объяснение, что делать», то могу с вами согласиться, различия есть. Возможно, лучше бы их не было.
mikhail-edoshin
01.08.2022 09:54+3А вы попробуйте реально абстрагироваться. Возьмите любую проблему по работе и замените в ней все важные сущности случайно выбранными словами. Допустим, у вас есть группы пользователей с разными правами доступа к объектам. Назовите группы "яблоками", пользователей "сапогами", права доступа "кляксами", а объекты "яичницами". Итак, "сапог может входить в разные яблоки, которые имеют разные кляксы к яичницам...". Все существенные отношения между сущностями тут сохраняются, но сомневаюсь, что у вас получится рассуждать таким образом. И даже если взять нейтральные имена А, Б, В и Г, вряд ли это что-то изменит.
В программировании мы мыслим больше аналогиями, чем абстракциями. Например, в этом же примере, если оставить пользователей, а остальное заменить на "связки ключей к комнатам", то мышление пойдет бодрее и, может быть, даже проявятся какие-то неочевидные возможности.
Constanine
01.08.2022 10:25Вы не поверите, но я с таким сталкиваюсь так как поддерживаю несколько систем на 1с, одна из которых довольно древняя.
Так там хватает и программирования на русском и случайных слов не связанных с предметной областью (переменные ГВ, ХВ, СЗ_, ДН_ и.т.п.). При работе с ними как раз помогает абстрагирование.При этом я ещё и умудряюсь получать удовольствие, так как воспринимаю работу с таким кодом как логическую головоломку(хотя может это проф. деформация...)
Paskin
01.08.2022 11:15Это не совсем абстракция. Правильная абстракция - это, например, моделирование автомобиля классом Car с методами, имитирующими воздействие на руль и педали. Такая абстракция вполне применима для определенных задач - хотя в ней опущены, например, параметры топливо, рельеф и т.п. А также взаимодействия типа "ломаться", "насрал голубь" и "запихать в багажник матрац"
mikhail-edoshin
01.08.2022 12:09Это да, но речь о том, что от средство построения такой модели -- нотация на основе языка, и что от языка мы как раз не абстрагируемся, а напротив, используем всю его конкретику, все символические связи, почерпнутые нами из окружающей культуры. Сколько споров идет о том, как правильно называть переменные -- но если имена переменных важны, то и язык тоже.
misato
01.08.2022 10:51+5Когда ты пишешь код, ты не думаешь ни на русском, ни на английском, ты мысленно оперируешь конструкциями языка, структурами данных и алгоритмами, а потом записываешь это на языке программирования. Соответственно, определённые алгоритмические шаблоны уже ассоциируются с блоками кода на этом языке, и какими именно символами записаны всякие ключевые слова - не имеет большого значения.
Чтобы программировать на PHP не обязательно знать, как переводятся слова while, switch, yield, надо просто знать, как они работают.
И кстати, попытки довести синтаксис ЯП до человеко-понятного текста на английском или русском вообще не доводят до добра. Код - это не речь, это отдельный "язык".
faultedChip
01.08.2022 12:24Но преимущество есть и в отсутствии переключения — компьютерный язык может изначально выглядеть как общение, а не кодирование. Тогда это может усилить доступность, точность, ясность, безопасность.
Программирование не предполагает общения - это сведение задачи к точным формулировкам языка. Можно сказать что это смесь приказов и юридического документа. А когда с машиной начинают общаться - в мир выходят особенно убойные шедевры индусского стиля.
Janycz
01.08.2022 12:52+4для программирования нужно переключаться в другой режим
Вот не согласен, ибо по крайней мере у меня как-то не так происходит. Например, когда думаю, надо написать какое-то условие, проговариваю в уме "если", но пишу "if". Аналогично при чтении кода: вижу "if" -- читаю "если".
«активное непонимание необходимости русского языка программирования» — это торможение развития компьютерных технологий
Я вот вообще не понимаю подобных тем "какой-то там естественный язык (русский, английский) в программировании". Так, например, я не воспринимаю при чтении кода ключевые слова языка программирования как слова какого-то там естественного языка. Т.е. я не ассоциирую ключевое слово "while" языка программирования С++ с каким-нибудь английским словом "пока", для меня это просто слово "while" со значением цикла, а то что оно совпадает с английским словом -- так это уже другой вопрос. И в естественных языках тоже бывают совпадения слов. Поэтому, на мой взгляд, такие высказывания как
«активное непонимание необходимости русского языка программирования» — это торможение развития компьютерных технологий
где вместо русского можно вставить любой другой язык, не имеют под собой основания.
компьютерный язык может изначально выглядеть как общение, а не кодирование
Вот для меня С++ (или другой язык программирования) и выглядит как иностранный язык, отличный от английского или какого-то другого естественного языка.
yurixi
01.08.2022 13:12-1когда думаю, надо написать какое-то условие, проговариваю в уме «если», но пишу «if».
О том и речь, без переключения бы так и писали «если».не имеют под собой основания.
Дело в том, что такое уже упомянутое явление как «русскийязыкнинужын» существует, и в комментариях много примеров. Моё высказывание направлено против него. Если вы и явления не ощущаете, то и обсуждать нечего.Janycz
01.08.2022 13:40+1О том и речь, без переключения бы так и писали «если».
Но это утверждение работает и в другую сторону. Т. е. какой-нибудь немец может заявить вот если бы вместо "if" писали "wenn"... Да, и что твориться у китайцев страшно себе представить, говорят "rén", а пишут "人". Также скажу, что мы говорим "малако" (более точно, "мълᴧко" -- но мы этого не чувствуем), но пишем "молоко". А вот если бы сразу писали "малако"...
В случае языков программирования происходит следующее: можно составить такой язык, чтобы как можно больше его ключевых слов совпадало со словами некоторого наперед заданного языка. Но, как я говорил ранее, ключевые слова языка программирования даже в такой ситуации, становятся словами иностранного языка, хотя и совпадающими со словами выбранного естественного языка.
Кстати, похожим образом создаются некоторые языки программирования, где в качестве некоторого наперед заданного языка выступает другой язык программирования.
Также с другой стороны, какой естественный язык выбирать качестве такого наперед заданного языка для создания языка программирования? Выберем, условно, немецкий -- что тогда скажут французы? Выберем французский -- что тогда скажут русские? Поэтому тут тоже такая проблема у данного подхода, что всем не угодишь, и приходиться выбирать компромисное решение, ведь язык обычно создается для международной разработки, для всех, а не для разработчиков-носителей определенного языка.
Дело в том, что такое уже упомянутое явление как «русскийязыкнинужын» существует
На данный момент не вижу в этом смысла, ибо важнее чтобы один язык программирования был похож на некоторый другой язык програмирования (на смесь некоторых языков программирования). Или так можно сказать: чтобы языки програмирования были похожи в некоторой степени.
Jian
01.08.2022 13:46+1у китайцев страшно себе представить, говорят "rén" ", а пишут "人".
Что звучит как "жэн", а по Палладию пишется "жэнь" (у Палладия "ng" пишется как "н").
yurixi
01.08.2022 15:16-1В даёте себе отчёт, что на моё утверждение «при программировании нужно переключаться» вы возражаете по типу «при программировании нужно переключаться»? Предполагаю, что это идёт в смысле «не жалуйся» в ответ на жалобу. Но я-то это писал не в каком-то негативном смысле, а как факт. И тут же выделил преимущества. Русский язык для вас не родной, или в чтение не всегда?
Все кто утверждает «давайте русского языка программирования не будет» говорит «давайте не развивать ИТ в этом направлении». «Давайте не развивать», ага — явно не позитивное предложение.чтобы языки програмирования были похожи в некоторой степени.
Ну да, а то что это не как все.Janycz
01.08.2022 15:43В даёте себе отчёт, что на моё утверждение «при программировании нужно переключаться» вы возражаете по типу «при программировании нужно переключаться»
Лично я не переключаюсь, по крайней мере, "базовый" C++ для меня это как родной язык.
Русский язык для вас не родной, или в чтение не всегда?
Таки да, не родной. Но опять же, говоря на русском, мне не нужно переключаться. И произношение слов определенного языка не обязано совпадать с написанием.
Ну да, а то что это не как все.
Условно, зная С++, человек может легко освоить Java или C# (или вернее сказать, ему будет легче освоить) в силу похожей "лексики" и грамматики языков. Но вот язык с абсолютно другими непохожими ключевыми словами будет освоить ему гораздо сложнее (Я напомню, что слова языка программирования я не воспринимаю как слова естественного языка). Тогда зачем следует тратить время на создание языка, который текущим разработчикам будет сложнее освоить. Конечно, язык программирования это, вообще говоря, теоретическая вещь. Для использования его на практике (в промышленности) нужны дополнительные вещи, например, компилятор. Если же язык для учебных целей -- то зачем, если у него нет применения в промышленности, а это значит, что с него надо будет переучиваться потом на язык программирования с другой "лексикой", что будет сложнее, чем изучение первым языка, более приближенного или совпадающего с языком, используемым в промышленности.
Более того, в промышленности уже существующие языки программирования хорошо заняли свои нишы. Даже если взять язык программирования, и заменить в нем ключевые слова, то что это даст? Кто будет это использовать? Не говоря уже про проекты, развиваемые силами участников из разных стран.
yurixi
01.08.2022 15:47Тогда тут всего лишь мнение «давайте зря силы не тратить». Но почему бы при этом не существовать людям, которые готовы потратить силы? Возможно, потратить впустую, хорошо, что это не вы, правда?
iig
01.08.2022 16:00+1А зачем тратить? Уже всё потрачено. С помощью небольшого заголовочного файла неправославный С превращается в православный , даже с ятями. Здорово, правда?
Cerberuser
01.08.2022 15:57на моё утверждение «при программировании нужно переключаться» вы возражаете по типу «при программировании нужно переключаться»?
Не совсем так. Ваше утверждение - "при программировании нужно переключаться, если язык программирования не основан на естественном языке, знакомом программисту". Утверждение вашего собеседника - "при программировании нужно переключаться точно так же, как и при разговоре на иностранном языке, независимо от того, какой естественный язык для программиста родной".
yurixi
01.08.2022 16:10Ваше утверждение: «при программировании нужно переключаться, если язык программирования не основан на естественном языке, знакомом программисту
Вот прямо что я говорил:Дело в том, что русский человек думает на русском, и для программирования нужно переключаться в другой режим.
Почувствуйте разницу. В том что Англичанину не надо переключаться я не говорил. Что, все минусы — от этих домыслов, да?
Cerberuser
01.08.2022 16:56Ваше высказывание предполагает, что после создания "русского" языка программирования переключаться будет не надо (иначе этот аргумент не имеет веса).
k102
01.08.2022 15:45+1для программирования нужно переключаться в другой режим
В режим программирования? Любая деятельность подразумевает некий набор "слов" - на естественном языке или на ЯП. При этом на естественном есть огромное количество специфичных слов - вон у любителей парусного спорта спросите. Даже когда я еду на велике по всякой пересеченке, я внутри себя думаю специфичными "словами", не все их них русские (а те что да - часто матерные). Также и с программированием - тут есть некоторые "слова", которыми нужно пользоваться. Кому какое дело на какой естественный язык они похожи? Они им не являются.
yurixi
01.08.2022 15:51Программирования само по себе помогает думать абстракциями, заменяющими слова. Но выражать это надо более-менее принятым способом. В этом кстати, может быть и замес всего спора — у меня есть мнение, что для абстрактной идеи можно легко менять форму воплощения, не привязываясь к одной.
k102
01.08.2022 16:11+1Опять же - понятной кому? Программисту и так понятно, на то он и программист. А не программистам оно нафиг не нужно, на то они и не программисты.
для абстрактной идеи можно легко менять форму воплощения, не привязываясь к одной
Ну... да? Я это и говорю - слова это только форма, какая разница какие они там. А вот зачем тратить усилия на создание и, что важнее, поддержку языка с другими словами, мне непонятно.
Maccimo
01.08.2022 07:38-5Но никто никогда не пишет – зачем? Для чего создаются подобные шедевры, что движет их авторами? Какие перспективы они видят для своих творений?
Ну, во-первых это интересно. Во-вторых обычному человеку удобнее общаться на родном языке, а не на английском суржике, приправленном щепоткой знаков препинания. Плюс комплимент от шеф-повара в виде брызжущих слюной в комментариях на тему «русскийязыкнинужын!»
Единственный минус в том, что как правило получается просто русификация уже существующего ЯП, а не что-то действительно новаторское. И это в то время, когда нейронные сети бороздят просторы Большого Интернета, генерируя тексты, изображения и звуки.
dopusteam
01.08.2022 07:51+10обычному человеку удобнее общаться на родном языке
Это не будет русским языком, так же как сейчас язык программирования не является английским языком
Maccimo
01.08.2022 23:43-2Допустим, у нас есть два ЯП. Язык Q с ключевыми словами на английском языке и язык Ы с ключевыми словами на на русском языке. Совершенно очевидно, что язык Ы является более русским, чем язык Q.
Q.E.D.
В обозримом будущем неизбежно будет сделан шаг в сторону более похожих на живую речь ЯП. Потому что людям так удобнее.
Cerberuser
02.08.2022 05:59В обозримом будущем неизбежно будет сделан шаг в сторону более похожих на живую речь ЯП. Потому что людям так удобнее.
Если не ошибаюсь, примерно так в 90-х начинался всем известный язык Ruby. С ним работать действительно удобнее? Я просто не могу судить, я на нём постоянно NameError получаю, закодить что-то крупное не получается, но я, наверное, просто английским не владею?
dopusteam
02.08.2022 09:03+1В обозримом будущем неизбежно будет сделан шаг в сторону более похожих на живую речь ЯП. Потому что людям так удобнее
Живая речь содержит слишком много неоднозначности и недосказанности, так что вряд ли.
Ну и в целом, звучит слишком категорично и без пруфов
Rsa97
02.08.2022 10:23+4В обозримом будущем неизбежно будет сделан шаг в сторону более похожих на живую речь ЯП. Потому что людям так удобнее.
Если бы живой язык был удобен везде и всегда, то не возникли бы те же правила радиообмена в авиации, сложные юридические формулировки для исключения неоднозначных толкований, армейские уставы с прописанными в них командами и ответами.
mikhail-edoshin
01.08.2022 07:40Нотация -- инструмент мышления и влияет на то, до чего человек может додуматься. Рассуждая на одном языке человек будет думать иначе, чем на другом, особенно на неродном.
TheMrWhite
01.08.2022 08:13+6Вот вам смешно, а англоязычные программисты всю жизнь вынуждены писать на таких языках))
mikhanoid
01.08.2022 09:31+1Слышал такую мотивацию: военные не хотят, чтобы их программисты знали английский, потому что знание английского повышает шансы ухода такого специалиста в закат, то есть на запад.
zuek
01.08.2022 10:26+1...я как-то just for fun, одну из обработок в 1С переписал на "английский" (да, 1С - двуязычный):
Штатных программистов 1С ставило в тупик
maledog
01.08.2022 17:10Мне, например, так даже понятнее. И "читается" быстрее. Когда читаю что-то из 1с приходится переводить с русского на английский, чтобы понять что делает код. Для меня эта операция сложнее, чем с английского на русский.
И в приведенном примере я не вижу какого-то "особого русского мышления". Получается что код на 1с был написан ровно так же, как мог быть написан "англичанином", только кириллицей.Ta_Da
01.08.2022 18:03Это не более чем вопрос привычки. Т.е. мне, допустим, комфортно читать код на английском, если это не 1С (мысленно на русский при этом не перевожу), а вот читать код 1С на английском - "ломает" (этакий своеобразный "эффект зловещей долины" только для программирования - мозг понимает, что это 1С, но какой-то неправильный =)).
dopusteam
02.08.2022 09:05Quer, TTab, ArrRep, Lin,
For each Str in TTab
For each Str2
Вы не только программистов 1с в тупик ставите таким кодом)
zuek
02.08.2022 10:48Quer - чтобы не пересекаться с зарезервированным словом, TTab - да, это не "тип таб", а всего лишь "временная таблица", а то, что "str" в 1С не зарезервирован - ну, такова селявя???? и вообще, меня программированию учили в те лохматые времена, когда счётчиком цикла были переменные "i,j,k", строковыми переменными были "a,b,c...", а числовыми "n,m,x,...", так что приведённый выше код можно считать абсолютно читабельным... и да, "серьёзно" не писал года с 1994-го - так, костыли и подпорки всякие иногда колхозю, да, на проде, да, иногда и не в "микробизнесах", но когда надо, чтобы "работало со вчерашнего дня", иногда приходится...
dopusteam
03.08.2022 08:16Выбирать название quer, чтоб не пересекаться - не самая лучшая идея.
TTab можно назвать TempTab хотя бы. Вместо Str и Str2 можно написать, что это за str вообще, иначе Lin.Add(Str(Str2.Title)) и не читаемо и подвержено ошибкам при изменении.но когда надо, чтобы "работало со вчерашнего дня", иногда приходится
Придумать имена переменным не займёт несколько дней. Хотя бы имена, отражающие суть, а не просто str и str2
zuek
03.08.2022 13:41Вместо Str и Str2 можно написать, что это за str вообще, иначе Lin.Add(Str(Str2.Title)) и не читаемо и подвержено ошибкам при изменении.
Там весь цимес этой обработке в том, что на вход она получает название запроса, и по сути, она не знает ни размеров возвращаемой запросом таблицы значений, ни что это за значения (вся интерпретация данных - от ожидаемого количества столбцов до сопоставления типов данных и форматирования - на запросившей стороне), хотя по прошествии лет могу согласиться - вместо Str2 красивее было бы Cell (значение ячейки обрабатываемой строки), а вместо Lin - LineRep (строка отчёта) или LineRet (возвращаемая строка). И вообще, именно эта обработка - нерабочая - я пытаюсь перебирать строки не в таблице Cols, а в возвращённом результате запроса TTab, не являющемся, в общем случае, таблицей ))) Да, "боевой" обработки от того древнего проекта под рукой не оказалось (он остался в боевой конфигурации предприятия) - попался первичный набросок, сделанный на домашнем компе в пустой конфигурации.
thenonsense
01.08.2022 07:47+26Языки программирования и языки говорения/общения - вещи совершенно разные. Подавляющее большинство языков программирования "английские", но это не английский, а просто в написании команд используется латиница и какие-то ключевые слова на ней. Потому как изначально всё делалось под латиницу и удобно в принципе - английские слова короче, префиксы/суффиксы - редкость, алфавит небольшой, язык сам по себе более абстрактен, а всякие языковые сложности (вроде системы времён) в коде как раз не используются.
Конкретно для нас то, что языки программирования, как правило, английские - это благо. Так как граница очень чётко проведена - в чате пиши себе на русском, а когда программируешь, то там уже не чат, там своя рабочая среда с английскими командами. Очень легко абстрагироваться, чтобы писать алгоритмы и логику. А русский оставьте для рассказов, статей, романов, где это действительно нужно.
Да, если бы речь шла о том, чтобы что-то программировать на каких-то очень высоких уровнях абстракции и в специфических сферах, то там, возможно, имело бы смысл использовать русский язык, чтобы получать какой-то профит от его персональных особенностей. А просто так, ради православного рескина GO TO на ВЫЙДИ ВОН - бессмысленно, даже (особенно) для детей.
F0iL
01.08.2022 08:28+8Русификация служебных/ключевых слов C++
Напомнило найденный в одном очень старом корпоративном проекте код на "французском Си":
...и оно так было сделано на полном серьёзе и работало почти три десятка лет...
8street
01.08.2022 08:54+9Удивлен, что еще никто не упомянул этот древний баян на C++
Баян (осторожно мат)
#define говно NULL #define нихуя void #define факт bool #define хуёво false #define пиздато true #define цифра int #define число float #define базар char #define ТамГде * #define типа { #define ёба } #define это = #define сука == #define и && #define или || #define чатко const #define базарь cout<< #define спроси cin>> #define блять ; #define то ) #define иначе else #include <iostream> using namespace std; нихуя main() типа факт Semki блять базарь "Семки есть,, ёба? /n" блять спроси Semki блять если Semki сука пиздато то типа базарь "Красава" блять ёба иначе типа базарь "Нарываешься, сука? /n" блять ёба ёба
IvanSTV
01.08.2022 08:59+2Есть конспирологическая версия. Язык Кумир создан по заказу Госдепа США для того. чтобы окончательно похоронить попытки создать кириллический ЯП с именами команд на основе русского языка. А рептилоиды в министерстве образования вредительски внедрили его во все школы страны. :)
Почему?
ЯП очень грубо-алгоритмический, то есть, изначавльно создан для того, чтобы писать на нем ничего, кроме простейшего.
Документация к нему и учебные материалы (для коих он, собственно, и создавался), написаны ужасно и непонятны ни детям, ни взрослым.
массовое внедрение в разноуровневые школы привело к тому, что на нем писались только самые простые и примитивные вещи. Даже Интернет не знает ничего сверх ГДЗ,
На олимпиадах по программированию этот язык не котировался от слова никак. а потому школьник, которых хотел развиваться, на нем развиваться не мог.
Таким образом, несмотря на то, что ставилась цель обучения программированию, реальному программированию язык не учит, а только очень поверхностно демонстрирует основы алгоритмизации, а для всего остального надо переучиваться.
Вместо развития идеи кириллических языков с русскоязычной лексикой, Кумир вложил в головы школьников отвращение к самой идее кириллических языков и хорошо. если не отвращение к идее программирования.
Я лично в свое время прошел в 1993-94 когнитивный диссонанс от того, что учебники были на некоем кириллическом языке, и задачи были на нем же, а реально у нас был нормальный бейсик, к которому не было никаких пособий, кроме страшно дефицитной методички для поступающих в ГАУ. И даже если бы удалось разыскать и чудом прошить этим кириллическим языком БК-шки, то все равно для дальнейшего развития надо было бы осваивать другие языки.
Впрочем, есть у меня подозрение, что 1С, которая в связи с уходом зарубежных аналогов разрастется до того, что будет на каждом предприятии, идее заглохнуть не даст.
misato
01.08.2022 09:44+4Язык ключевых слов и команд в ЯП не имеет никакого значения.
miga
01.08.2022 11:40+4... если этот язык - английский
Stanislavvv
01.08.2022 14:49На самом деле - пофиг. Внутреннее представление команд, скажем, интерпретатора BASIC и их внешнее отображение не слишком-то связаны.
В 90-х видел русифицированный клон спектрума, на котором вполне себе загружались и работали программки, написанные на нерусифицированном.iig
01.08.2022 15:33+2В спектрумовском basic ключевые слова сохранялись как готовые токены. Нельзя LIST набрать из 4 символов, можно только ввести готовый токен 1 нажатием. А отображение токенов бралось из ПЗУ, были бы тогда в хожу эмоджи - можно хоть иконки нарисовать.
elFurion
01.08.2022 10:24+3Очень зря пропустили OneScript. Его создавали люди практикующие программирование на 1C, С#. Так что получился самый адекватный язык из всех перечисленных на мой взгляд.
napa3um
01.08.2022 10:34+10Надо воспринимать английский язык в ключевых словах языка программирования не английским языком, а латынью, математическими обозначениями, и тогда переводить на русский язык не надо будет. Мне кажется, перевод на русский язык наоборот ухудшит понимание программного кода, ибо будет смешивать в голове программиста бытовую семантику с компьютерной. А вот имена переменных/функций для обозначения сущностей прикладной области на русском языке норм (и компактные DSL-язык для композиции бизнес-логики, возможно, тоже можно для конфигураторов/менеджеров делать на русском).
DGG
01.08.2022 18:03"не английским языком, а латынью, математическими обозначениями" - Мне кажется вы заново изобрели APL
napa3um
02.08.2022 20:35«Математических» языков сейчас как грибов после дождя, а «нематематические» обрастают «математическими» аспектами (прежде всего аспектами ФП) и фреймворками, выражающими прикладную «математику» с помощью этих аспектов. Думаю, основным экономическим фактором тут является развитие машинного обучения и всей этой темы, которая тянет за собой потребность в простом выражении сложных параллельно-массовых вычислений.
foxyrus
01.08.2022 10:35+5Судя по результатам голосований (на compiler.su и даже здесь на Хабре) идею программирования на русском поддерживает не так уж и мало людей.
nmrulin
01.08.2022 10:38+3Пример кириллического языка программирования показан в известном мультфильме в виде примера кода:
Ну-ка(двое из ларца)
Замесить
Нарубить
К сожалению интерпретатор был глючный, поэтому после получение команды "замесить" месились дрова, а команда "нарубить" рубила тесто :-)
iig
01.08.2022 11:04+2В интерпретаторе было всё плохо с многопоточностью. Синхронизации не предусмотрено, race condition во весь рост.
arTk_ev
01.08.2022 10:40В принципе без разнице на каком языке будут комманды, программировал на 1с. Но даже там перешел на латиницу.
Придется постоянно переключать раскладку, чтобы ввести специальные символы.
У некоторых ide до сих пор проблемы с кодировкой и поиском.
В английском существенно короче слова. Правописание и времена противопоказаны в программирование, а краткость, читаемость и емкость - самое важное.
А есть программирование с китайским синтаксисом? Интересно как оно выглядит.
Rsa97
01.08.2022 11:30+1Wenyan-lang
吾有一數。曰三。名之曰「甲」。
為是「甲」遍。
吾有一言。曰「「問天地好在。」」。書之。
云云。dvoeglazyi
02.08.2022 18:04Вот это, кстати, для меня выглядит как жуть какая-то. И отличный пример того, что русскому языку дальше укореняться в мире программирования не стоит.
Вообще, причина возникновения этих вопросов про национальные языки в программировании - скорее всего то, что английский в этой сфере на самом деле вовсе не идеален (как и сам по себе, кстати - пишется одно, читается по-другому - это фундаментальный косяк, который и у нас тоже есть). Пусть ему нет лучшей замены, но самые прочные в мире ЯП как раз-таки всякие скобочки, кавычки, плюсики и прочие знаки (хоть и некоторые не C-подобные языки всё-ещё пытаются над ними извращаться).
Akon32
01.08.2022 10:46+1Поздно.
Русский язык программирования мог бы быть полезен лет 30-50 назад, когда всё начиналось. Сейчас уже всё завязано на английский язык, даже корпоративный сленг содержит (по ощущениям) несколько процентов английских слов типа NDA, KPI, SLA - чужие буквы и слова вообще никто не стесняется использовать
, и не только в офисе. Вычистить английские фрагменты из языка общения уже сложно и не имеет смысла.Сегодня единственный успешный ЯП, основанный на русском - 1С. Остальные слишком эзотеричны для реального применения. Да и, как показывает быстрое изучение вопроса, 1С не содержит ни ООП, ни статической типизации, так что он не очень хорош как ЯП общего назначения. От языка ключевых слов точно ничего не зависит. Любой программист способен выучить ~25 идентификаторов языка, и их семантику всё равно надо учить.
mikhanoid
01.08.2022 10:47+2А в научной нотации тоже от латиницы откажемся? Не ощущается это хорошей идеей.
Английский упрощался и переформатировался под международным давлением. Мы же не на языке Шекспира пишем, а используем некий наиболее общий pidgin - примитивный язык: "я ехать в 3 час сегодня сверху трамвай". Да, он сформирован на основе английского, потому что Британия была великой морской торговой империей. Но, может, она и была великой морской торговой империей, потому что всем легко было освоить базовые структуры языка?..
Смогут ли господа/товарищи патриоты вменить русский всем потенциальным своим партнёрам, чтобы расширять свою it-индустрию на них? И не боятся ли они, что великий и могучий таким образом превратится в "твоя моя понимай"? Ведь, необходимо будет резко упростить систему сопряжений и склонений. Иначе прямо сейчас легко разглядеть многокилометровые флеймы о допустимых падежах и формах глаголов в именованиях функций, классов, процедур и т.д. И, ведь, это будет настоящая производственная необходимость, а не просто ВерблюдСтиль против _подчёркивание (споры о которых носят характер религиозных войн). Программистам, всё равно, придётся жить с двумя языками: русским и pidgin-русским. И второй будет проникать в сферу обращения первого.
Оно нам точно надо?
Если так уж не хочется английского, то может быть, лучше взять или разработать простой искусственный язык такой, как toki pona?
Balticman
01.08.2022 10:50+2ЯП на любом "чистом" национальном языке, отличном от английского, вреден по определению. Пусть он сделан идеально, программировать классно, но поддержка таких творений то ещё приятное занятие. Не говоря уже о том, что отсекается огромная часть комьюнити прогеров.
Fr0sT-Brutal
01.08.2022 11:18+6Ересь, по мне. Если человек дорос до программинга, то выучить десяток слов на английском он уже должен суметь (у нас с 1 класса был, а сейчас некоторые уже в детсадах начинают спикать). Раскладку постоянно дергать, потому как не можешь ввести [], <> или ' - тоже изврат. Ну а имена переменных успешно решаются за счет транслита, и неизменные Zena (вовсе не воительница из сериала) и Rashod (вовсе не некий араб) вымрут, наверно, только вместе с русским языком.
Grey6000
01.08.2022 11:20Как-то все упускают один момент из виду, бизнес-логику есть смысл описывать в русских терминах, чтобы туда-сюда это все не переводить, особенно если следовать DDD
tormozedison
01.08.2022 11:49Давно хочу взять любой интерпретатор Бейсика (как известно, это Beginner’s All-purpose Symbolic Instruction Code) с открытыми исходниками, чтобы переделать в интерпретатор языка ОСНОВА (Обучающая Система для Начинающих Операторов Вычислительной Аппаратуры) со следующими соответствиями:
PRINT СКАЖИ
INPUT СПРОСИ
FOR ДЛЯ
TO ДО
STEP ШАГ
END ГОТОВО
STOP ПРЕКРАТИ
GOTO ПЕРЕЙДИ
GOSUB ОТВЛЕКИСЬ
RETURN ВЕРНИСЬ
DELAY/PAUSE ПОДОЖДИ
BEEP ПОСИГНАЛЬ
PLAY СЫГРАЙ
LOAD ЗАГРУЗИ
SAVE ЗАПИШИ
В Terminal-BASIC, кстати, уже что-то подобное сделано, но соответствия отличаются.faultedChip
01.08.2022 12:44+2STOP ПРЕКРАТИ
Ах, семпай, прекрати!
GOSUB ОТВЛЕКИСЬ
Как-то вообще плохо. Это же не "отвлечение", а выполнение блока операций.
MockBeard
01.08.2022 19:37Вам не нужен интерпретатор, достаточно при открытии файла в IDE заменять английские слова русскими, а при сохранении файла заменять обратно.
tormozedison
01.08.2022 21:19Интересно, чтобы оно не в IDE работало, а в интерпретаторе с диалоговым режимом, ибо я с таковых начинал.
matabili1973
01.08.2022 12:01На национальном языке, на мой взгляд, имеют смысл языки описания сценариев. На практике лично работал с таким в процессе контроля качества - написание автоматизированных тестов на естественном языке.
Естественно, это была надстройка, реализованная с помощью Node JS и Selenium. Основное достоинство - просто написания и поддержки тестов.
Еще в теории могу вообразить национальный язык разметки.
mikhail-edoshin
01.08.2022 12:22«Языки программирования» -- это нотации, и любая нотация может существовать в национальном варианте, нисколько не мешая при этом другим вариантам. (Например, шахматная нотация.) Описание сценариев -- это (сложный) параметр для некоторой программы, выполняющей эти сценарии. Но и код программы -- это параметр для компилятора. Тут нет принципиальной разницы.
Представим, например, нотацию для описания рецептов. Не просто список ингредиентов, а более толковую нотацию, как вот тут. Там будут шаги, операнды, изменения состояния, вызов подпрограммы приготовления соуса, и пр. Не сильно будет отличаться от «настоящего» языка программирования. Очевидно, что такая нотация как раз выиграет, если адаптировать ее к различным национальным языкам.
Kotofay
01.08.2022 12:21+6#include "stdafx.h" #include <iostream> использовати площадь какобычно аминь1 наместе двояко провѣрятичегоглаголют молчаливо кагбе ѣжѣли получалка.сломалася молчаливо тогдауж кагбе молвити "Не лепо молвишь, барин!" аминь1 возвѣрнути нуль спасихоспади1 ага возвѣрнути один аминь1 ага цѣло голова(цѣло количество_указов, глаголют указы[]) кагбе дваждыточно первыйсундук, второйсундук, отвѣт аминь1 буквица знако спасихоспади1 творити кагбе молвити "молви первый цифирь, барин: " аминь1 получити первыйсундук аминь1 ѣжѣли провѣрятичегоглаголют молчаливо еси ложъ тогдауж прѣрвати спасихоспади1 молвити "молви деяние, барин: " аминь1 получити знако спасихоспади1 ѣжѣли провѣрятичегоглаголют молчаливо еси ложъ тогдауж прѣрвати спасихоспади1 ѣжѣли знако еси 'q' тогдауж прѣрвати аминь1 молвити "молви второй цифирь, барин: " аминь1 получити второйсундук аминь1 ѣжѣли провѣрятичегоглаголют молчаливо еси ложъ тогдауж прѣрвати спасихоспади1 избирати знако тогдауж кагбе выборъ '+' сталобыти отвѣт буде первыйсундук да второйсундук аминь1 прѣрвати спасихоспади1 выборъ '-' сталобыти отвѣт буде первыйсундук бѣзо второйсундук аминь1 прѣрвати спасихоспади1 выборъ '*' сталобыти отвѣт буде первыйсундук повторити_столько_сколько второйсундук аминь1 прѣрвати спасихоспади1 выборъ '/' сталобыти отвѣт буде первыйсундук убрати_столько_сколько второйсундук аминь1 прѣрвати спасихоспади1 ага молвити "Ответ есьм: " аминь1 молвити отвѣт да_промолчати спасихоспади1 ага пока (истино) аминь1 возвѣрнути нуль спасихоспади1 ага
Древнее зло пробудилось! Пришло время!
jobless
01.08.2022 12:45Первую программу, которую, кроме меня использовал кто то ещё, я вводил с пульта Урал-11 в 8-х кодах. До того как я увидел первую раскраску Си на экране прошла маленькая вечность. Сейчас мне не удобно без раскраски как и многим другим. Убеждён что все языки программирования сведутся к хранению промежуточного дерева. А ключевые слова, операторные скобки [begin/end,{/},TAB] мы будем выбирать как стиль раскраски или цветовую схему. Кто то первый это сделает, как это случилось с раскраской, и мир изменится.
p.s. кстати мне приходилось набирать Си текст на клавиатуре с отсутствующими фигурными скобками и да в стандарте это предусмотрено.
lantanov
01.08.2022 12:45+2меня просто тошнит от русского языка в коде после знакомства с 1С во время учёбы, ещё экзамен сдавали по нему, ужас
Ta_Da
01.08.2022 15:19Тут скорее претензии к преподавателю, т.к. для учебных задач вполне можно было бы и на английском писать (благо есть даже статьи и видеокурс на курсере той же).
koreychenko
01.08.2022 13:45+3Интерпретатору/компилятору в принципе пофигу на каком национальном языке написаны буковки в листинге программы. Научишь его с русского в бинарник гнать - будет жрать русский. Смысла, разумеется, никакого.
Говорить, что в русском есть какая-то "истинно православная логика", которой нет в других национальных языках без доказательств некорректно. Скорее наоборот, практика показывает, что с лаконичностью у русского большие проблемы.
Тут выше было, что можно использовать рода, падежи и всё такое. Ну, как бы в немецком это тоже всё есть и в итальянском, и чего? Т.е. у русского нет монополии на эти фишки естественного языка.
Ну и отдельный привет тому, кто будет писать компилятор, который будет класть неявность русского языка на всякую булеву логику.
DrMefistO
01.08.2022 14:32Напомню про ИнтАЛ. Разработка белорусская. Имелись роботы-исполнители: чертёжник, кладоискатель и другие. Аналог КуМир.
net_men
01.08.2022 15:05+1Ох, какая жесть... когда я первый раз увидел 1С внутри, решил, что больше никогда :))
denis_pesherin
01.08.2022 15:08+1Вопрос зачем придумывать супер локальные ЯП?
На английском говорит весь мир (так уж сложилось), все всех понимают и это помогает сообществу развивать продукты, делать для них либы, дорабатывать под себя.
Вот представьте, что индусы начнут массово писать полезные программульки на хинди. Или на каком нибудь языке мертвых?
Какой в этом смысл, если тебя не будут понимать другие люди?
Да и вопрос кому надо было много переключаться в процессе написания кода?
В нормальном продукте, где есть локализация все выводимые значения и формулировки выносятся в отдельный файл. В остальных местах все пишется на латинице.
Комментарии можно писать и на английском. Я сомневаюсь что для кого-то написать мысль из 4-10 слов составит труда (а если и составит - повод для того, чтобы подучить язык)
panzerfaust
01.08.2022 15:10+3А можно узнать предполагаемый православный синтаксис для ФП и реактивщины? Map, flatmap, bind, monad, either, yield, debounce, throttle и т.д.
AnthonyMikh
02.08.2022 02:14Карта, плющкарта, вилка, буррито, либо, свержение, стреноживание.
panzerfaust
02.08.2022 07:41+2Ну буррито же неправославно. Лучше кулебяка.
Hidden text
Кулебяка - это расстегай в категории эндовыпечки
sheshanaag
01.08.2022 15:51+3GHCi, version 9.2.3: https://www.haskell.org/ghc/ :? for help Loaded GHCi configuration Prelude> :set -XUnicodeSyntax Prelude> import Text.Show.Unicode Prelude Text.Show.Unicode> напечатай = uprint Prelude Text.Show.Unicode> затем = (>>) Prelude Text.Show.Unicode> напечатай 5 `затем` напечатай "Ну и зачем это нужно?" 5 "Ну и зачем это нужно?" Prelude Text.Show.Unicode>
GothicJS
01.08.2022 17:59+1А ведь для американцев и англичан код выглядит, как для нас код на русском, и они от этого как то не парятся)
miksmiks
01.08.2022 19:18+3Мы в PascalABC.NET экспериментировали с этим 6 лет назад и пробовали сделать русские ключевые слова. Поскольку мы на PascalABC.NET массово учим школьников, то основная аргументация была такой - детям младших классов (для нас это 6-7 класс) будет понятнее видеть русский код.
Оказалось совсем несложно влезть в компилятор и поменять английские лексемы на русские.Но возник ряд проблем.
Первая - основная. Когда набираешь код, то всё равно некоторые переменные пишешь на английском и знаки препинания тоже привык на английском. И переключать язык при наборе - это куча ошибок. А дети их делают в 10 раз больше преподавателя.
Вторая - перевод лексем. Совершенно понятно, что текстовые лексемы просто переводить один в один - другие варианты усложняют парсер, он у нас и без того непростой. Например, как перевести
var a := 0;
Варианты:
пер a := 0;
перем a := 0;
переменная a := 0;Все варианты - не очень. Второй немного лучше.
В итоге код получается примерно такой:
тип Ученик = авто класс Имя: строка; Возраст: цел; кон; нач для перем счетчик := 1 до 10 делать Вывод(счетчик); перем а := 1; ВыводПК; пока а <= 10 делать нач Вывод(а); а += 1; кон; ВыводПК; перем уч := нов Ученик('Иванов',15); ВыводПК(уч); кон.
ВыводПК - это здесь аналог Println - как перевести ln по-другому - не хватило фантазии.
Некоторые ключевые слова вообще плохо переводились:
var a: array of integer;
Как здесь перевести of - вообще непонятно.
Была еще идея сделать русские синонимы имен библиотечных функций на уровне компилятора - тогда можно было бы пользоваться либо теми либо другими либо обоими по какой-нибудь глобальной настройке. Вот, например, такой код вполне цивилизованный
uses Исполнители; begin Страны.Выбрать(страна -> страна.Континент = 'Азия') .ОтсортироватьПоУбыванию(страна -> страна.Население) .Взять(10) .Преобразовать(страна -> (страна.Название,страна.Население)) .ВывестиПострочно end.
Тем не менее, мы отказались от этой возможности ввиду явных методических сложностей такого подхода.
Мы активно используем эту возможность только для имен, создаваемых в программе, что в ряде случаев хорошо воспринимается школьниками.
PereslavlFoto
02.08.2022 01:10+1var a: array of integer;
переменная А: массив из целое;
Конечно, очень режет глаза отказ от окончаний множественного числа.miksmiks
02.08.2022 09:37Да, согласен. Я вижу, у нас были такие синонимы типов:
тип цел = integer; вещ = real; строка = string;
Поэтому
перем a: массив из цел;
вполне себе ничего.
У нас кстати была идея заложить в язык склонения и множественное число в зависимости от контекста. Это не безумная идея - на уровне компилятора можно сделать - в большинстве случаев будет нормально.
TheHellblazer
03.08.2022 09:22"Println" - "ВыводСтроки". "ln" - сокращение от "line"
miksmiks
03.08.2022 09:48Это не очень хорошая идея в ситуации
Println(1,2,3)
Начинающих будет путать - почему
ВыводСтроки(1,2,3)
выводит целые
Krasnoarmeec
01.08.2022 20:10+1А ЯМБ (язык машин бухгалтерских) почему-то забыли. Видел такой на ИСКРЕ 226. С документацией в виде здоровенной книжки переплетёных "синек" (кто знает, тот поймёт).
sintech
02.08.2022 00:17+1Удивлен, что никто не упомянул язык АП для армянских ЭВМ Наири с ключевыми словами: допустим, кончаем, введем, вставим.
i=3 j=4 a
i=2 x
1 допустим i=0
2 допустим j=0
3 введем aij
4 вставим j=j+1
5 если j-3≤0 идти к 3
6 вставим i=i+1
7 если i-2≤0 идти к 2
8 программа су (a 3 x)
9 печатаем с 5 знаками x0 x1 x2
10 кончаем
rev42
02.08.2022 01:30Самое годное из того что есть на текущий момент, для программирования на руском, это Компонентный Паскаль или какой-нибудь диалект Оберона. Современные компиляторы позволяют писать от микроконтроллеров до прикладного софта, ОС (JAOS например) Мозг ломает конечно конкретно, но писать на русском можно)
naff
02.08.2022 11:18Единственное аргумент в пользу программирования на родном, а не заморском языке, можно описать одним мемом: «Не важно, жирный ты или худой. Главное что бы не жирный»
DrPass
Да нормальный же язык:
ПЕР колво: ШИРЦЕЛ;
УКАЗ
колво:=10;
КОН
IvanPetrof
boulat
Как вы собираетесь угловые скобки вводить, не переключая раскладку ))
iig
Раскладка была бы одна, но со всеми необходимыми знаками.
staticmain
Fragster
На правом альте висят доп символы, специфичные для 1с и не только https://1c.chistov.pro/2012/11/1.html
SferRA
просто на клавиатуре было бы больше кнопок))
Usul
Кодировка "ФПУ-8"? Безобразие! Язык разметки ЯГТР должен использовать исключительно КОИ-8 (ГОСТ 19768-93)
Dzenbuddist
Только "голова" заменить на "шапка" и норм, можно работать