Обновить

Русский язык в программировании. РУСИ++

Уровень сложностиСложный
Время на прочтение53 мин
Охват и читатели18K
Всего голосов 27: ↑13 и ↓14+2
Комментарии109

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

наместе двояко провѣрятичегоглаголют молчаливо
кагбе
		ѣжѣли получалка.сломалася молчаливо тогдауж 
		кагбе 
			молвити "Не лепо молвишь, барин!" аминь1
			возвѣрнути нуль спасихоспади1
		ага
		возвѣрнути один аминь1
ага

https://habr.com/ru/articles/1003246/comments/#comment_29579650

Так проще ;)

"Ключница синтаксис делала.."(с)

Ну да, только с первой "Г".

Дефайны не интересно

Если нет разницы.. (ц)

Кто ещё пропел?

а есть поддержка модулей? там "имортировать модудль РУС;" и "экспортировать модудль РУС;" ?

Грустно выглядит, за счёт сокращений типа "цел" (что мешает писать "целое") слов теряется стройность, которая для англоговорящих получается.

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

Язык APL был уже давно.

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

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

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

Красивое

не очень человеколюбиво

Китайцы будут недовольны ;)

int - сокращённый integer

у англоговорящего аналогичное сокращение

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

Вообще-то, int -- тоже сокращение от integer. )))

Прикольно, не ново, но, кажется, уже окончательно поздняк.

Исходными кодами на «языках программирования высокого уровня» теперь будут заниматься LLM БЯМ-ки, а им лучше жевать то, на чём написан колоссальный массив, на котором они были обучены, массив, написанный в уходящую эпоху, когда исходные программы ещё писались руками…

в уходящую эпоху, когда исходные программы ещё писались руками…

(Меланхолично:) Не знаю, кто как — а я вот программы пишу головой.

Руками я переношу их из головы в компьютер.

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

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

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

А где требуется русскоязычный код? Вот именно прям чтобы требуется и без этого нельзя. И что мешает иметь русскоязычную документацию если код использует латиницу?

Отрасли

  • Приборостроение - уникальные приборы, измерительная техника

  • Робототехника - управление роботами

  • Системы связи - телекоммуникационное оборудование

  • Транспорт - встроенные системы автомобилей, поездов, самолётов

Как эти отрасли выиграют от перевода ключевых слов ПРОМПТом?

незнание смысла слова void

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

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

Я ровно об этом и говорю. При обучении программированию проблема вовсе не в том, что человек не знает значения слова void, а значит замена на слово "пустота" этой проблемы не решит. Поэтому замена ключевых слов другими словами, но написанными кириллицей даже для учебных целей сомнительна. Более того, может быть даже вредна. Пока код написан "другими" буквами на "другом" языке, можно абстрагироваться от реального смысла слова float и оперировать тем смыслом, который это слово обозначает в коде, а не в нашем мире.

@Честно говоря, не очень ясен практический смысл в этой "русификации".

Может, например, чтобы раскладку постоянно туда-сюда не переключать, в том случае если в коде много комментариев и текстовых строк на кириллице (как это сделано в 1C)?

Проанализировав 9,14 миллиарда обсуждений на GitHub и более 62 500 патчей кода с 2015 по май 2025 года, мы показываем, что участие многоязычных пользователей неуклонно растет, особенно на корейском, китайском и русском языках.

...

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

...

https://arxiv.org/html/2602.19446

Если бы esp-idf было бы на китайском, я б наверно помер.

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

Не поможет. Он же, паршивец, все равно выучит бесовские if.

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

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

Я хоть и не программист, но понимаю что теория без практики мертва.

Все равно придется смотреть документацию, примеры, тонны уже написанного кода. А там - упсь. if.

Смысл просто пет-проектный: поковырять AST компилятора и понять, как работает лексер на живом коде)

Я вот для себя нашел практический смысл в "руссификации" языков программирования. Если быть более точным, то для сына. Написали с ним свой DSL над Python, назвали это дело как полагается в честь нашего кота. Причесали все это иишаком не самым модным, и теперь ребенка не оторвать.

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

Скорее всего вот такие вещи и будут решать задачи именно обучения.

Да, для DSL родной язык хорошо заходит.

только хотел написать что надо новый завет переписать на Руси

А красивые в этой программе иконки!

Друзья, не спешите минусовать автора! Мне тоже не очень нравится задача, всем понятно, почему она имеет шанс ноль целых ноль десятых на что-то практическое. Но автор честно написал, что не это для него главное.

Не всем дано стать мертвым страусом...Автору удачи в своих начинаниях и в выборе тем, а нам всем чуточку больше снисхождения к чужим хотелкам, даже если они нам не нравятся.

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

От Кумира еще никто не умер.

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

Ну да, пусть белорусы пишут на белорусском, китайцы на китайском, японцы на японском и т.д. Надо же как то хлебушек в эпоху ИИ теперь зарабатывать кому то. А то что универсальность теряется это ничего... Потом еще придумаем переводчик китайских программ на русские и т.п. Даешь изучение традиционно-ценностного РУСИ, РУГО, РУПИ, РУБЭ во всех образовательных учреждениях! ))))

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

https://github.com/RAprogramm/rusem

Идея закодировать правила и логику языка

Где про это можно почитать? Ничево не найду.

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

Эх, плохо что KPI программиста исчисляют в строках кода, а не в байтах. Так бы поможно было повысить производительность труда сразу в три раза! ;-)

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

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

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

Скорее полезно

Даже в изучении отченаш есть польза.

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

В конце 80-х Турбо Паскаль в школе мог появиться только благодаря редчайшему стечению обстоятельств, так как вообще IBM PC до 90-х был в СССР редкостью. Единый советский учебник информатики Ершова использовал русский алгоритмический язык, а большинство (действительно большинство) школьников в то время изучало программирование без компьютеров вообще. А если и были компьютеры в школах, то в основном до 1990 года отечественные или изредка болгарские.

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

Изучая программирование на очень продвинутом для школьника уровне, я IBM PC впервые увидел живьём в жизни в 1989 или 1990 году, а в учебном процессе (наряду с другими машинами) – в 1992 году в институте. (В тот период, кстати, я считал вычислительные машины, потребляющие меньше 100 кВт мощности, не очень достойными внимания – хотя я и начинал с персоналок).

Боюсь ошибиться, но по моему у них было что-то типа Искры-1030 или ЕС-1840. Еще вспомнил, что примерно в то же время в школах было поделие под названием КУВТ (если не ошибся с аббревиатурой) - специальный учебный класс, по мотивам ДВК, БК-шки и т.д. Там в составе базового ПО был Бейсик.

Гипотетически: каким бы был полноценный продакшеновый русский Си?

Ну, наверное, он не был бы продакшеновым :)

Так вот ты какая, деглобализация!
Вашему вниманию предлагается классическая программа на языке С "Hello, wold!" на тамильском языке.

#உள்ளடக்கு <நிலையான உள்ளீட்டு/வெளியீட்டுத் தலைப்பு>

முழுஎண் பிரதானசார்பு(வெறுமை)

{

அச்சிடு("வணக்கம், உலகமே\n");

திருப்பு 0;

}

-----------
По-моему это красиво...

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

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

по-английски в нашей стране не сильно шпрехают даже преподаватели русского языка

Так в том-то и хохма: читать код на ЯВУ как текст — это боль. Я вот языкеи всегда воспринимал как «этот „глиф“ означает цикл, этот — условие, этот — целое число» и тому подобное. Под словом «глиф» в данном случае понимается комбинация буковков (while, if, int...) И тот факт что буковки латинские, помогало не читать слово, а воспринимать его как набор закорючек.

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

цел й = ы

как кот прошёл по клавиатуре

в русифицированном Экселе ввод названий функций по-русски бесит

Это точно)

"நிலையான உள்ளீட்டு/வெளியீட்டுத் தலைப்பு" -- это "stdio.h"?

Почему так длинно? )))

"стандартный ввод вывод" как сократить я не додумался ).

"цел" это как то слишком кратко, лучше "целка"

"цел" это как то слишком кратко, лучше "целка"

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

А float - это когда выпал с десятого?

А struct когда по частям ;)

с приблизительно 10.0- го

кода упал в бассейн ;)

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

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

Более того, это полезно, т. к. несёт единственный смысл. У кого русский родной — понимает сразу и однозначно, что принтер — это периферийное устройство компьютера для получения аналоговой твëрдой копии документа.

У кого родной английский — уже возможны варианты...

В этом сила правила заимствования иностранных слов в русском языке.

Принтер — пример правильного и полезного заимствования. Лайфхак — пример мусорного и бесполезного заимствования.

P. S.: Можете понижать карму дальше. )) Если дискутировать это мне и не позволяет, то раз в неделю я всё равно могу писать вам сюда. )))

Я в целом придерживаюсь Вашей логики, детали есть, но не суть. По существу Вас поддерживаю. А вот по форме не совсем. Чуток поболее уважения к коллегам, и, глядишь, минусить в карму перестанут.

Удачи!

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

Лайфхак — пример мусорного и бесполезного заимствования.

Бесполезных заимствований не бывает. Раз словом пользуются - значит оно полезное

Про Лайфхак очень сомнительно - мусорное умирает, в том числе изначально русские слова, полезное живет

Спасибо за мнение. Карму поднял)))

Тоже не люблю вату и либерду. Поставил +.

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

Начал изучать программирование со школы, не зная английского языка вообще. Начал понятно с паскаля и учебников, которые давали в школе. Не шло. Было очень интересно но с тех пор терпеть не могу конструкции вроде - "Сделай так, получите это", без объяснений.
Потом стало интересно, на чем пишут "настоящие" программы. Мне учитель намекнул на C# и .net Framework. И выдал 2 диска. Один с Visual Studio и SDK, а второй с MSDN на русском. И вот нормальная документация на русском языке мне тогда помогла очень сильно. Да, у меня были названия классов и функций транслитом, но вот с ключевыми словами вообще не возникало проблем. Так что грамотно переведенный CPP Reference, разумеется, был бы сильно полезнее. Но на это, конечно, надо время потратить.

Это полный бред, бредятина, фиаско. Не знаю откуда столько свободного времени взяли на эту чушь. Ладно бы какой то там ЦЕрковный Си++(ЦЕСИ++) или СОборный Си++ (СОСИ++)

Ну да, а то вдруг английский случайно изучат.

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

Нафига? Чтобы иной народ не смог разобраться в коде программы?

И да, сомневаюсь что такой код пройдет верификацию при регистрации ПО в реестре отечественного ПО.

Чтобы иной народ не смог разобраться в коде программы?

Ллм в помощь.

Теперь нужно как-то интегрировать падежи и уменьшительно-ласкательные

Переменная с именем "твёрдый знак" -- это же конь-цептуально!

Ради одного этого -- язык имело смысл создавать!! )))

2026 год - самое время для си с нескучными обоями

Мы уже видели до чедо довел фанатизм по поводу суверенного интернета. Суверенное программирование это шаг в туже сторону.

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

Хуже даже чем за или против "ё"

В очередной раз перепутали синтаксис с лексикой. Синтаксис си останется синтаксисом си, неважно "if" там или "если".

Бессмысленная работа.

На рубеже 2000 я пару лет вёл информатику в лицее и ФМШ на базе УКНЦ с Бейсиком и ibm pc с продуктами Борланд. Русифицированные среды в формате "черепашки" видел, но не использовал, поскольку plot/draw всё то же самое делает. У знакомых, связанных с системой образования, отношение к русскоязычным средам было от равнодушного до брезгливого, поскольку возможности совместной разработки, создания библиотек и больших проектов отсутствовали и все "черепашку" ощущали как обязательную пустую трату времени перед началом изучения Паскаля и си.

Десткий мозг гибкий и не зная языка, дети вполне считывают if else как логический блок, а не рассказ на английском, как и остальные ключевые слова. Ломать это восприятие, превращая программу в повесть, дикую смесь комментариев, отдельных букв в роли имени переменных и слов русского языка, которые наделены особыми правами в рамках синтаксиса, это насилие над разумом. Как пресловутое ВычСрЗнач в Экселе для бальзаковского возраста бухгалтерш, которые иное просто органически не осилят или не захотят.

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

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

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

В детском курсе информатики не зря бывает много псевдокода для "программирования" людей. Зачем вводить искусственную разницу между черепашкой, которая понимает "DRAW", и соседом по парте, который понимает "НАРИСУЙ"?

Зачем вводить искусственную разницу между черепашкой, которая понимает "DRAW", и соседом по парте, который понимает "НАРИСУЙ"?

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

На развитии логики синтаксис не сказывается вообще никак.

При этом четверть века назад информатика в школе использовалась именно для воспроизводства программистов, учитывая CTR в 1% это не грозило их избытком )

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

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

В обсуждаемом форке gcc можно было бы добавить ещё условно полсотни синонимов для void как пример, но программист будет всё равно натыкаться на invalid keyword ошибки при попытке своими словами написать код и всё равно требуется знать подмножество естественного языка, которое применять можно.

Поэтому зачем плодить сущности?

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

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

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

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

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

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

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

страны и общества в целом это было бы губительно

Какая польза для общества от безработных программистов?

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

После школы

Профессии раньше учили в ПТУ.

в ПТУ раньше шли отбросы, прошу прощения, неспособные осилить программу старших классов. Из них делать программистов, мне кажется, такое себе. Вот слесарей для АвтоВАЗа самое то.

сейчас в ПТУ выживают школьников ввиду экономии на ставках учителей старших классов и это работает иначе, чем тогда.

Какая польза для общества от безработных программистов?

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

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

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

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

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

или шокирует?

После школы

Профессии раньше учили в ПТУ

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

при этом логическое мышление развивается тем успешнее, чем раньше начато развитие и условно возраст 6-7 лет для начала информатики - самое то, чтобы ребенка не перегружать и более сложные вещи он успел осилить до условно периода "год топтания плаца сапогами"

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

у меня лично информатики в школе не было, перфокарты, СМ4 и ДВК я увидел впервые учась в вузе, БК0010 и его ассемблер осваивал дома примерно в те же годы, но будь у меня лет пять запаса времени, то есть, начни я ковыряться еще в школе, скорее всего был бы только рад.

Прикиньте, вам в школе прогать было интересно. А остальным? Конечно, китайский метод - пусть учат все, из миллиона выберем 10 способных - хорош, если есть в запасе 1 000 000 000 китайцев.

Программирование - рабочая профессия. В ПТУ ей нормально. Только ПТУ не для сварщиков а для программистов.

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

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

китайский метод эмпирически оказался хорош буквально во всём, и проблема РФ не в отсутствии миллиарда россиян, ага.

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

навыки пользования ПК и гаджетами де-факто стали атрибутом образованного человека

Хм, возможно. А при чем тут программирование?

средняя школа навязывает всем химию и физику, чтобы люди реже травились

Хм. Сколько химию не учи - распознавать сальмонеллу или мышьяк не научишься. Но таблицу Менделеева изучить обязан.

плохо с мотивацией (дай волю, будут тупо смотреть смешариков в телефоне вместо учебы)

У БГ, например, все нормально было с мотивацией. У него был доступ к компу, и ему было интересно.

Лошадку можно привести к речке, но сложно заставить пить.

есть конструктивная мысль: Т.к. основная проблема (мне) видится в размерах русских аналогов названий операторов - сравним "if" и "если" - двукратное увеличение слова, какой ужас начнется с switch - case, или конструкциями типа exception просто не хочется и думать. А если использовать обсценную лексику? Такого рода слова гораздо короче и в силу некоторой неопределенности значения могли бы быть использованы в "русском Си". Длинные слова-операторы continue, return, break а то и goto (!!) прекрасно заменились бы гораздо более короткими, причем читаемость кода, на мой взгляд, только улучшилась бы.

А если использовать обсценную лексику?

-- Плохой человек?

-- редиска

-- unsigned long long int ?

-- забыл..

Кто пустил одинэсника в тред?

Ужасная скреподуховная импортозамешенная суверенная мешанина на месте того, что признано международным стандартом

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

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

Упрощённая схема для любого компилятора высокого уровня:

Исходник → лексемы → AST → ассемблер → лексемы → AST → исполняемый файл

Ну это вообще же неправда.

  1. Перед AST может быть CST (concrete syntax tree), включающее в себя узлы для всяких там комментариев, скобок и запятых. Обычно это побочный продукт от использования генераторов парсеров, но может быть полезно для переиспользования в автоформаттерах, например.

  2. Бывают scannerless парсеры, которые пропускают лексический анализ и сразу строят AST. (правда, я не знаю, используют ли их какие-то мало-мальски известные языки)

  3. После AST может быть произвольное число (особенно в nanopass подходе) промежуточных представлений постепенно снижающегося уровня.

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации