программный код на английском

программный код

1 программный код

2 маршалер

См. также в других словарях:

Программный код — Исходный код, написанный на JavaScript Исходный код (также исходный текст) текст компьютерной программы на каком либо языке программирования. В обобщённом смысле любые входные данные для транслятора. Исходный код либо транслируется в… … Википедия

программный пакет — 3.19 программный пакет: Архивный файл, содержащий программный код в бинарном или исходном виде, а также метаданные о программе, ее версии, зависимостях и другую информацию. Источник: ГОСТ Р 54593 2011: Информационные технологии. Свободное… … Словарь-справочник терминов нормативно-технической документации

Программный интерфейс подключаемых модулей Netscape — (англ. Netscape Plugin Application Programming Interface, NPAPI кросс платформенная архитектура разработки плагинов, поддерживаемая многими браузерами. Интерфейс был разработан для семейства браузеров Netscape Navigator, начиная с Netscape… … Википедия

Программный агент — В компьютерных науках программный агент это программа, которая вступает в отношение посредничества с пользователем или другой программой. Слово «агент» происходит от латинского agere (делать) и означает соглашение выполнять действия от… … Википедия

Программный каркас — Framework термин, имеющий размытое значение. Обычно используется в программировании, обозначая «простую концептуальную структуру, используемую для решения сложной, проблемной задачи». Значение этого термина существенно зависит от контекста его… … Википедия

Машинный код — Эта статья о системе команд в целом; об инструкциях см.: Код операции. Машинный код (платформенно ориентированный код), машинный язык система команд (набор кодов операций) конкретной вычислительной машины, которая интерпретируется… … Википедия

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

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

Патч (программный) — Заплатка, или патч (англ. patch /pætʃ/ заплатка) автоматизированное отдельно поставляемое программное средство, используемое для устранения проблем в программном обеспечении или изменения его функционала, а также сам процесс установки патча (… … Википедия

Pyramid (программный каркас) — Pyramid Тип Программный каркас веб приложений Разработчик … Википедия

Источник

программный код

1 marshaler

2 paging file

3 swap file

4 swap-file

5 reverse-engineer

Other companies started to reverse-engineer the printer cartridges of successful companies like HP. — Другие компании взялись за обратное проектирование картриджей для принтеров, производимые успешными компаниями, такими, как HP.

6 bloated code

7 business logic

8 clean code

9 malicious code

10 nondebug code

11 position-dependent code

12 position-independent code

13 processor-specific

14 programme code

15 rogue code

16 software

17 unused code

18 Application Programming Interface

19 marshaler

20 paging file

См. также в других словарях:

Программный код — Исходный код, написанный на JavaScript Исходный код (также исходный текст) текст компьютерной программы на каком либо языке программирования. В обобщённом смысле любые входные данные для транслятора. Исходный код либо транслируется в… … Википедия

программный пакет — 3.19 программный пакет: Архивный файл, содержащий программный код в бинарном или исходном виде, а также метаданные о программе, ее версии, зависимостях и другую информацию. Источник: ГОСТ Р 54593 2011: Информационные технологии. Свободное… … Словарь-справочник терминов нормативно-технической документации

Программный интерфейс подключаемых модулей Netscape — (англ. Netscape Plugin Application Programming Interface, NPAPI кросс платформенная архитектура разработки плагинов, поддерживаемая многими браузерами. Интерфейс был разработан для семейства браузеров Netscape Navigator, начиная с Netscape… … Википедия

Программный агент — В компьютерных науках программный агент это программа, которая вступает в отношение посредничества с пользователем или другой программой. Слово «агент» происходит от латинского agere (делать) и означает соглашение выполнять действия от… … Википедия

Программный каркас — Framework термин, имеющий размытое значение. Обычно используется в программировании, обозначая «простую концептуальную структуру, используемую для решения сложной, проблемной задачи». Значение этого термина существенно зависит от контекста его… … Википедия

Машинный код — Эта статья о системе команд в целом; об инструкциях см.: Код операции. Машинный код (платформенно ориентированный код), машинный язык система команд (набор кодов операций) конкретной вычислительной машины, которая интерпретируется… … Википедия

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

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

Патч (программный) — Заплатка, или патч (англ. patch /pætʃ/ заплатка) автоматизированное отдельно поставляемое программное средство, используемое для устранения проблем в программном обеспечении или изменения его функционала, а также сам процесс установки патча (… … Википедия

Pyramid (программный каркас) — Pyramid Тип Программный каркас веб приложений Разработчик … Википедия

Источник

OpenAI представила усовершенствованную версию нейросети Codex, которая переводит английские фразы в программный код

image loader

10 августа 2021 года OpenAI представила усовершенствованную версию нейросети Codex, которая переводит английские фразы в программный код. Пользователь может писать, что ему нужно получить простыми словами, а система искусственного интеллекта, обученная на наборе данных, хранящемся в общедоступных репозиториях, включая терабайты общедоступного кода, переводит запросы в программный код. Текущая бета-версия OpenAI Codex наиболее эффективна при трансляции с естественного языка пользователя в код языка программирования Python. Система также обучена интерпретировать простые команды и выполнять их в виде кода JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript и даже Shell.

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

Пример использования OpenAI Codex для написания программы путем ввода различных английских фраз

Разработчики могут протестировать API усовершенствованной версии Codex по запросу. OpenAI сейчас проводит закрытое бета-тестирование нейросети для исследователей.

29 июня Microsoft и GitHub представили нейросетевого помощника программиста Copilot, работающего на базе OpenAI Codex. Решение OpenAI Codex генерирует код значительно более эффективно, чем GPT-3. Алгоритм обучали на датасете из терабайтов общедоступного кода. Copilot вышел в виде плагина редактора Microsoft Visual Studio Code и функции браузерного редактора кода GitHub Codespaces после регистрации в программе тестирования технического превью сервиса.

Читайте также:  леди баг наклейки 150 шт

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

Источник

8 языков программирования не на английском: галопом по Европам

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

9a059095f0d4443dbab2cfaa223bfe81

619ee8768440be5dc3dca79b5a4eaa1c

Шок-контент: только 45% из 8500 известных языков программирования используют английские слова для обозначения различных действий. А вот оставшиеся 55% — уже не англоязычные.

Их создают с разными задачами:

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

11530027032021 869e44ab5d559eb6b3bf9459db5cedefb75418d2

Пишет про технологии и бизнес.

Русские идут: 1С, Робик, Рапира

Большую часть кириллических языков придумали ещё во времена СССР — и они канули в Лету вместе с пятилетками и перестройкой.

Сто китов мне в глотку: ненавистный 1С

1С в представлении не нуждается, да что там — именно он вдохновил нас написать статью. Правда, в языке 1С можно использовать и английские ключевые слова. По синтаксису он напоминает «русский Pascal», только менее строгий и без некоторых конструкций. При этом синтаксис языка довольно простой: например, вот так выглядит классика — «Hello, World!»:

Собственно, готово. Только зачем это бухгалтерам — непонятно 🙂

В профессиональном сообществе 1С-программистов и сам язык не очень-то и жалуют. Даже JavaScript на фоне нашенского Enfant Terrible выглядит благородным доном. Ругают 1С за слабую производительность и отсутствие классов — кстати, никакого наследования, инкапсуляции и полиморфизма вы там тоже не найдёте. Зато в экосистеме 1С есть своя объектная модель базы данных, хранилище значений и язык запросов.

12473013072021 accf102caaa970ce65d217b9ae9a8e9a57caa67c

Несмотря на хейт и насмешки, 1С популярен — российский бизнес плотно подсел на продукты компании, а значит, 1С-программисты без работы не останутся.

Русская «черепашка»: Робик

Язык Робик разработал Геннадий Звенигородский в 1975 году. Писали его под родные винтажные «агаты» — в помощь школьникам. Фишка Робика — концепция исполнителей. Это как «черепашка» в Лого, только у Робика таких «черепашек» было несколько, причём каждая со своим «характером» — набором команд.

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

Изучить язык по архивной документации можно тут.

Защищайтесь, сэр: Рапира

Рапира — ещё один учебный язык программирования made in USSR начала восьмидесятых годов. Рапира помогала старшеклассникам и студентам-первокурсникам пересесть с Робика на нормальные языки. Они писали на ней калькуляторы, алгоритмы поиска, сортировки файлов, простые игры и алгоритмы решения математических задач.

«Hello, World!» на Рапире выглядит вот так:

Интересно, что у Рапиры были версии не только на русском, но и на английском, эстонском, грузинском. «Пролетарии всех стран, соединяйтесь!» — да и только. Это был настоящий призрак цифрового коммунизма — правда, побродить по Европе ему так и не удалось.

Документация сохранилась в веб-архиве и на сайте новосибирца Ершова.

Исландский Fjölnir: Рейкьявик-Рейкьявик

Fjölnir (читается как « Фьёльнир») — это язык программирования на исландском. Его используют для обработки списков (как семейство Лиспов) и модульного программирования. Отличительная черта языка — взаимосвязи, благодаря которым имена при импорте не перечисляются «внутри» каждого модуля, а задаются «снаружи» — как выражения над модулями.

Вот так выглядит промозглый исландский «Hello, World!»:

Fjölnir придумал профессор информатики Исландского университета Снорри Агнарссон ещё в восьмидесятые. И он был довольно популярен среди местных программистов. Если вам вдруг попадётся файл с расширением fjo или sma — знайте, это Fjölnir.

В сети есть целая книга с описанием языка.

Испанский Lexico: Hasta la vista, baby

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

Lexico работает только на платформе от Microsoft, поэтому пользователи Linux и других ОС в пролёте. Именно в этом главный недостаток языка и причина его невысокой популярности в реальной разработке. А вы думали, всё дело в неанглийских словах? Да ладно вам, какой серьёзный девелопер не мечтает писать страстные и кровавые программы на испанском! Да ведь их можно петь под гитару вместо серенад. Послушайте, как звучит: «Привадос! Эль обхэкто валорес ун карактер!» Ах, ну что за прекрасная музыка — мы уже на всё согласные!

Вот и пример кода на Lexico — создание графического окна:

Спецификацию языка и подробности можно посмотреть тут.

Немецкий Teuton: немец свиньёй идёт

Teuton — даже не язык в строгом смысле слова. Это немецкая реализация CEDSimply — специальной оболочки, которая позволяет создавать локализации Python. Чтобы добавить новый язык, надо составить таблицу соответствия лексики Python. Вот немец Кай Шлюер и не поленился — сделал такую таблицу. Получилась весёлая программистская шутка.

Сам автор объясняет появление немецкого Python так:

«Хотя на немецком раньше не было языков программирования, об этом мечтал, пожалуй, каждый захмелевший студент, изрядно хряпнувший пшеничного на Октоберфесте или в других злачных местах. У Teuton нет никаких особых свойств — он просто немецкий. Идею я позаимствовал у Энди Дента, который рассказал в блоге о своём космополитическом языке CEDSimply».

Эстетствующий Шлюер не просто составил банальную таблицу — нет, он ещё и включил в Teuton две формы предлога in (in и im), чтобы они грамматически правильно подстраивались под падежи и артикли немецкого языка. В общем, если вы германист, вам точно понравится.

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

Латинский Lingua::Romana: :Perligata: sic transit gloria mundi

Lingua::Romana::Perligata — модуль для Perl. Он позволяет писать Perl-программы на латыни. Создатели Lingua::Romana::Perligata всерьёз заявляют, что в английском слабая лексическая структура. То ли дело древние языки — в них и лексическая структура гораздо богаче, и на строгий порядок слов они полагаются меньше.

У латинского варианта Perl есть ряд фишек. Например, в латыни для обозначения прямых цитат не используются символы. Их заменяет глагол inquit («сказал»). Поэтому в Perligata символьная строка создаётся не кавычками, а вызовом отглагольного существительного inquementum («результат высказывания»).

Источник

О русском языке в программировании

419e1fbf12855c00be66ee16c99ff834

Введение

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

Читайте также:  коды городов автомобильные номера россии 2021

Справедливости ради: на некоторых клавиатурах есть отдельная клавиша переключения (на ней обычно нарисован глобус). Сложность в том, что на многих других компьютерах ее нет. В древнем текстовом редакторе «SideKick» я даже когда-то использовал обе клавиши «Shift», поскольку они есть всегда: правая переключала постоянно (и поэтому как «Shift» вообще не работала), а левая – временно, первые две секунды как «Shift», а уже затем как переключатель. Смысл в том, что тогда можно печатать, например, по-русски, затем, удерживая мизинцем клавишу, одно слово по-английски, затем отпустить и опять продолжать по-русски.

Настоящей проблемой, на мой взгляд, является появление на тех же компьютерных форумах обсуждений на тему: «мешает ли русский язык программированию». С точки зрения той части российских программистов, которые работают в западных фирмах или поставили себе такую цель (с возможным и желательным отъездом за границу) русский язык в программировании – это действительно зло, дополнительный барьер, мешающий быстрее адаптироваться в англоязычной среде. Но мне кажется, им мешает не русский язык в программировании, а русский язык вообще.

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

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

Т.е. мысленно про себя произношу «если», «уходим», а писать все-таки должен «if», «return». Незаметно приходится все время переводить, пусть и в самой простейшей форме. Поэтому для меня более естественна запись того же оператора в виде:

Я именно так и пишу. И это вовсе не псевдокод, а реальный оператор языка [1], где ключевые слова имеют русские эквиваленты, не требуется различать присваивание и сравнение (а, значит, не нужно удвоение символов), и логические операции можно писать просто как И, ИЛИ, НЕ. Оператор больше стал похож на мысленную фразу и перевод с «мысленного русского» на «программный английский» уже не требуется.

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

Например, когда моя жена училась в Московском математическом техникуме, основы программирования им преподавали с помощью специального языка (нечто вроде псевдокода), который так и назывался: Русский Алгоритмический Язык, сокращенно РАЯ. (Смешно. Выходит, в нашей семье жена знакома с языком РАЯ, а муж с языком Ада). На мой взгляд, это был мудрый прием. Родной язык, конечно, не панацея и не обеспечивал выпуск суперпрограммистов, но то, что он способствовал более глубокому пониманию основ на самом важном начальном этапе – несомненно.

Разумные границы использования

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

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

Другую крайность представлял язык АПЛ, имевший большое число специальных знаков для всяких операций. Запись программы на АПЛ внешне напоминала записи, которыми пользуются математики. АПЛ остался в истории знаменитым тем, что программу, записанную на одной строке, т.е. не более 80 знаков, можно было анализировать часами, т.е. долго разгадывать, что же, собственно говоря, она делает. Получалось, что кроме авторов в таких программах вообще никто не мог разобраться, и идея сверхкомпактной записи большим числом специальных знаков была заброшена.

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

Опыт использования родного языка

Если обратиться к собственному опыту использования родного языка, то считаю, что мне в какой-то мере даже повезло: период обучения и освоения пришелся на время, когда русский язык использовался не то, чтобы широко, но вполне естественно, поскольку применялись программные и аппаратные средства отечественной разработки. Как программист я начинал с БЭСМ-6, операционной системы ОС-Диспак, транслятора БЭСМ-АЛГОЛ и диалоговой программы «Пульт» (при этом работа за терминалом VT-340 очень напоминала работу за первыми персональными компьютерами). В те времена даже в кодовой таблице сначала шел русский алфавит, а затем латинские буквы, отличающиеся по написанию от кириллицы. Вся документация была, естественно, на русском, например, в описании команд БЭСМ-6 все аббревиатуры команд были кириллицей, не было никаких «MOV» или «JMP».

В отличие от ЕС-ЭВМ, в направлении БЭСМ (и «Эльбрус») все оставалось «по-русски». Правда, до тех пор, пока не появилась разработка дубнинского ядерного центра – мониторная система «Дубна», в составе которой был ассемблер (тогда такие языки назывались автокодами) со странным именем «Мадлен». Так как транслятор сначала переводил на него, некоторые сообщения об ошибках выдавались на уровне ассемблера. И все они были по-английски! Получалось, что одни советские программисты писали сообщения для других советских программистов не на родном языке. Разумеется, «Дубна» изначально была предназначена для совместной работы где-нибудь в ЦЕРН, поэтому там и было все в «международном» варианте. Но нам она была поставлена как отечественная система и при этом бесцеремонно «отодвинула» от родного языка. Например, аббревиатуры команд в «Мадлен» стали не такими как в исходной документации на БЭСМ-6, что вызывало непонимание и раздражение.

Еще через несколько лет (для меня в 1987 году) в части родного языка все перевернулось с появлением американских персональных компьютеров. Объективно и естественно в первое время никакого русского языка там не было в принципе. Но поскольку это требовалось для набора текстов, приспосабливать их под родной язык все-таки пришлось. Т.е. пришлось перепрошивать ПЗУ видеокарт, наклеивать переводные картинки кириллицы на боковые стенки клавиш, учиться писать драйверы клавиатуры, попутно привыкая к аббревиатурам системы команд x86. Очень скоро «русификацией» компьютеров и принтеров уже занимались во многих организациях, имеющих ПК, и дело было поставлено буквально на поток. Но при этом «русификацией» получаемых вместе с компьютерами трансляторов обычно никто не занимался, в лучшем случае лишь переводились руководства.

Читайте также:  коды в клоуне убийце роблокс

Возможно, я стал одним из первых, кто озаботился этим и то лишь потому, что полученный вместе с IBM-PC/XT транслятор с языка PL/1 не позволял писать по-русски даже комментарии: все символы с кодом больше 7FН воспринимались им как управляющие. Из-за этого на первых порах комментарии выглядели как теперешние SMS «по-русски» с телефонов, не имеющих кириллицы. Но разрабатывать программы, не используя родной язык, было для меня совершенно недопустимым. Первое исправление транслятора, которое разрешило кириллицу, оказалось очень легким и привело к мысли дизассемблировать весь транслятор, чтобы стать полноправным владельцем и постепенно сделать его целиком «русским». Учитывая, что в PL/1 ключевые слова не зарезервированы, можно иметь одновременно два варианта слов: английский и русский. Поэтому уже написанные программы можно было оставить «английскими», зато новые программы можно было писать уже «по-русски».

Впоследствии в транслятор было внесено множество доработок, приведенных в [1]. По части «русификации» были добавлены русские ключевые слова, включая И-ИЛИ-НЕ вместо знаков «&», «!» и «

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

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

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

Заключение

На первый взгляд кажется, что сейчас никаких проблем с русским языком нет. Действительно, давно «локализованы» на национальные языки операционные системы, офисные программы и игры, а кириллица наносится на клавиши заводским способом. Но если обратиться к программированию, то здесь русский язык почти полностью вытеснен. Конечно, есть и исключения, например, «Бухгалтерия 1С». При этом я ни в коем случае не призываю создавать специально «русские» языки программирования (остряки сразу же добавят: «православные»). Напомню, что даже в самом первом международном документе по языку программирования [2] предполагалось три уровня его представления: эталонный, язык публикаций и конкретные представления. Т.е. с самого начала предполагалось, что «знаки языка могут быть различными в разных странах, однако должно быть сохранено однозначное соответствие с эталонным представлением».

Сам я использую язык PL/1, созданный на Западе (большей частью в Великобритании), наличие готового транслятора с которого было в свое время даже одним из аргументов принятия в СССР решения копировать IBM 360 в виде ЕС ЭВМ. Но, возможно, обоснованное на тот момент решение в своей программной части в дальнейшем не было подкреплено развитием первоначально скопированного «эталона». Конечно, сейчас с позиции послезнания легко советовать, что надо было делать тогда. Впрочем, и тогда многим это было понятно: «урок освоения ОС ЕС ясен: можно, и иногда нужно осваивать отдельные образцы зарубежного программного обеспечения, но нельзя становиться на путь постоянного следования за ними» [3].

Мой опыт энтузиаста-дилетанта (без профильного образования), показывает, что разобраться в существующем компиляторе не так уж и трудоемко. Коллектив из 4-5 человек где-нибудь в Академгородке сделал бы это быстро и качественно, например, с компилятором IBM для PL/1. Т.е. дизассемблировал бы его и научился транслировать и собирать точную копию исходного. И это надо было делать, конечно, не для «русификации», а для того, чтобы стать хозяином транслятора и с этой стартовой площадки продолжить его развитие дальше, уже независимо ни от кого, снабжая армию пользователей ЕС ЭВМ качественным и, главное, совершенствующимся продуктом. А перевод на русский язык компилятора и других утилит был бы всего лишь бонусом, облегчающим сопровождение и использование. Но транслятор с языка PL/1 на ЕС ЭВМ так и не был «освоен». Я делаю такой вывод потому, что он так и не был «русифицирован», хотя попытки развить язык и были [5].

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

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

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

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

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

1. Д.Ю. Караваев «К вопросу о совершенствовании языка программирования» RSDN Magazine #4 2011

2. А.П. Ершов, С.С. Лавров, М.Р. Шура-Бура «Алгоритмический язык АЛГОЛ-60. Пересмотренное сообщение». Москва «Мир» 1965

3. Г.С. Цейтин Доклад «Итоги освоения ОС ЕС (заметки пользователя)» 29.08.1983

4. В.М. Табаков «Специализированная система гиперпрограммирования для языка ПЛ/1» : диссертация кандидата физико-математических наук : 05.13.11. Калинин, 1984.

Источник

Поделиться с друзьями
admin
Здоровый образ жизни: советы и рекомендации
Adblock
detector