Язык программирования на русском языке – C – General-purpose, imperative computer programming language, supporting structured programming, lexical variable scope and recursion, while a static type system prevents many unintended operations / Habr

Содержание

Языки программирования с ключевыми словами не на английском языке — Википедия

Материал из Википедии — свободной энциклопедии

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 18 июля 2016; проверки требуют 33 правки. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 18 июля 2016; проверки требуют 33 правки.

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

Преобладание языков программирования, основанных на английском[править | править код]

Существует подавляющая тенденция использовать английский язык как источник ключевых слов и названий библиотек. Согласно базе языков HOPL[1], существует более 8500 языков программирования, 2400 из них разработаны в США, 600 в Великобритании, 160 в Канаде, 75 в Австралии.

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

Языки программирования, основанные на естественных языках, кроме английского[править | править код]

Многоязычные[править | править код]

  • Алгол 68 — помимо английской, существуют немецкая, французская, русская, болгарская, китайская и японская версии.
  • 4th Dimension — локализованные версии этого языка используют французские или немецкие ключевые слова.
  • ДРАКОН — визуальный (графический) язык программирования и моделирования. Позволяет использовать ключевые слова на любых естественных и искусственных языках. На практике выбор языка осуществляется при создании инструментальных средств.
  • Фокал — ключевые слова изначально английские, но DEC создала версии FOCAL на нескольких европейских языках.
  • MS Word и MS Excel — их язык макросов локализован для других языков.
  • TI-Calculator BASIC — 68000 версия локализована. Различные строки конфигурации также локализованы, что исключает полную бинарную совместимость.
  • Компилятор Делавар — ключевые слова, описания ошибок и алфавит языка можно указать в текстовом файле. На данный момент имеется локализация для русского и английского языков.
  • Oberon-07ru — вариант языка Oberon-07 с возможностью написания кода как на русском, так и английском языке.

Русскоязычные[править | править код]

  • ЯАП — язык автоматического программирования, использовавшийся на советских ЭВМ Наири и Наири-2[2].
  • АЛМИР-65, АНАЛИТИК и Аналитик-74 — языки программирования, использовавшиеся на советских ЭВМ серии МИР.
  • Встроенный язык программирования 1С:Предприятие — основанный на русском языке язык программирования, используется в технологической платформе «1С:Предприятие».
  • Перфолента.Net — Язык программирования Перфолента это дружелюбный для программистов 1С объектно-ориентированный язык общего назначения с русским синтаксисом, с русскоязычной стандартной библиотекой.
  • Глагол — основанный на русском языке компилируемый процедурный язык программирования со статической типизацией, сходный с языками Оберон и Паскаль[3][4].
  • КОНЦЕПТ;
  • КуМир;
  • РАПИРА — основанный на русском языке интерпретируемый процедурный язык программирования с динамической типизацией.
  • Учебный алгоритмический язык — язык программирования, используемый для записи и изучения алгоритмов.
  • Робик — простой, основанный на русском языке язык программирования для изучения детьми основ программирования.
  • ОСМО — язык программирования, используемый для записи и решения экономических задач.
  • ОВСЕИ — язык программирования, используемый для записи и решения экономических задач.
  • ПРОЗА — язык программирования, используемый для записи и решения задач.
  • ЯМБ — язык программирования, используемый для бухгалтерских записей, учёта и статистики.

На основе европейских языков[править | править код]

  • Fjölnir — исландский императивный язык программирования 1980-х годов.
  • GOTO++ — французский язык программирования, основанный на французском и английском языках[5].
  • Lexico — испанский объектно-ориентированный язык для изучения .NET.
  • LSE — фр. Langage Symbolique d’Enseignement, французский учебный язык программирования, созданный в 1970-х в École Supérieure d’Électricité. Вид Бейсика с процедурами, функциями и локальными переменными как в Паскале.
  • SAKO — созданный в 1950-е годы язык, польский FORTRAN.
  • Superlogo — голландская разработка для автоматизированного обучения, основана на Лого.

На основе восточных языков[править | править код]

  • Aheui — эзотерический Befunge-подобный язык программирования, использующий хангыль[6].
  • Alb — арабский язык программирования, схожий по синтаксису с Си. Название языка в переводе с арабского означает «сердце»
    [7]
    .
  • AMMORIA(ARAB) — открытый объектно-ориентированный арабский язык программирования, созданный специально для арабов[8].
  • ARLOGO — открытый арабский язык программирования, основанный на интерпретаторе UCB Лого.
  • Chinese BASIC — китайский диалект Бейсика, основанный на Applesoft BASIC; для тайваньских клонов Apple II и Multitech Microprofessor II.
  • Geem — арабский язык программирования, основан на C++ с простой графической реализацией.
  • Hindawi Programming System — индийский набор аналогов для C, C++, lex, yacc, ассемблера, BASIC, Лого, Ada и проч. для таких языков как хинди, гуджарати, ассамского языка, и бенгали (версия BangaBhasha).
  • Hindi Programming Language — основанный на хинди язык программирования для .NET.
  • hForth — Forth с вариантом набора ключевых слов на корейском языке[9].
  • HPL — основанный на иврите язык программирования[10].
  • Nadeshiko — язык программирования, основанный на японском языке.
    [11]

Языки программирования, не основанные на естественных языках[править | править код]

Многие из них эзотерические.

  • APL — Язык программирования, основанный на математической нотации и абстракции.
  • Brainfuck — Минималистичный эзотерический язык программирования, созданный с целью создания компилятора, меньшего 256 байтов.
  • FALSE — Другой минималистичный эзотерический язык программирования, имеющий синтаксис, состоящий главным образом из единичных не буквенно-цифровых символов.
  • Piet — язык программирования, использующий разноцветные изображения в качестве операторов языка.
  • Plankalkül — Первый язык программирования. Разработан немецким пионером компьютеростроения Конрадом Цузе; использует символьную табличную нотацию.
  • Spoon — Brainfuck-подобный язык программирования, использующий только нули и единицы.
  • var’aq — Язык, основанный на искусственном клингонском языке из Star Trek.
  • Whitespace — Язык, основанный на использовании пробелов.
  • ChinesePython — полный перевод Python на китайский язык.
  • HyperTalk — язык программирования, используемый в Apple HyperCard; позволяет перевод с помощью стандартных ресурсов.
  • Macintosh AppleScript — доступны различные «диалекты», включая французский и японский; как бы то ни было, эта возможность исчезла в поздних версиях.
  • Perl — хотя ключевые слова и имена функций Perl’а были английскими, в нём можно изменить синтаксический анализатор для смены языка ввода, например, как в модуле Дэмиэна Конвэя Lingua::Romana::Perligata, который позволяет писать программы на латыни.

Есть ли рускоязычная среда програмирования? — Хабр Q&A

Я имею в виду не перевод пунктов меню типа файл правка выполнить это и так понятные вещи. Я имею в виду нечто другое:

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

В uopilot можно писать скрипты (самые простые чуть сложнее и всё же придётся лезть в wiki) просто тыкнув правой кнопкой мыши и выбрав нужный пункт. Скрин того что я имею в виду в uopilote —
Например мне надо просто вывести сообщение так там именно такой пункт меню:

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

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

Вот ещё комментарий прямо с тостера: «Как добавить textArea в фрейм я не знал, но нашел один способ».

Русскоязычные пользователи вынуждены лезть в google и искать, перелопачивать тонну информации ради маленького фрейма. Англичанам проще их инструкции написаны на понятном им языке.
В NetBeans есть по нажатию ctrl+space нечто похожее. Но сравните разницу: создание переменной — пункт int нажали написалось и что дальше? Просто int и что мне написать дальше? И вообще в некоторых языках есть путаница: Создание переменно или присваивание или ссылка — откуда мне узнать?

Например (в том же netbeans) если к слову Process нажать «показать Документацию» — он найдёт и покажет страничку из интернета, а к int он пишет «выполнение не возможно». а вот пример из uopilot конечно ихние сокращения без wiki не разберёшь, но зато сразу видно после #должно быть название а потом идти значение. Это может сильно надоедать, когда рука автоматически тянется к знаку = но это только потому, что мы привыкли ставить равно. И мы знаем, что оно должно идти после имени переменной. А как быть, если вы первый раз программируете?

Нет в netbeans тоже есть некоторые команды такие как for, if , while которы кроме написания синтаксиса ещё и сразу расписывают пример прямо в коде . Но на чисто английском мне смысл не понятен.
Также даже со всеми такими подсказками совершенно не понять как например нарисовать простейший пиксель на экране. Нужно сначало лезть по документации изучить язык, затем узнать что существуют библиотеки(opengl например) затем научиться с ними работать, затем узнать что есть всякие api(winAPI или qt) , и научиться работать с ними. И только потом вывести пиксель на экране. И ведь для всего мне придёться читать документацию (javaJDK openglSDK MSDSN qt-доки) и всё на иностранном для меня языке. Согласитесь скопировать/вставить пример из интернета намного быстрее но нифига не понятно что при этом всём таки делает программа. А если мне ещё вдруг приспичит ещё и самому написать свою реализацию графической библиотеки типо opengl — страшно представить в какие дебри придётся углубляться. Ладно когда ещё хоть какая то документация есть.
Сел писать аддон к wow решил что addon studio будет проще. И да — она тоже показывает по ctrl+space подсказки. И они тоже совсем без комментариев — вывод: не для меня.
Пример из addon studio для wow — нет нечего по сути. Выбрав пункт из меню мне всё равно приходиться искать его сначало в wiki а затем один чёрт искать пример в интернете.

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

//upd я просил среду такую чтобы подсказывала что и как написать. а вы мне предлагаете не среду а сам язык. более того многие предлагают такой язык как 1с на котором даже пиксел на экран не выведешь.
Всяческие HIASM и blocky являются новичку не менее непонятными чем машинный код так как есть сразу все инструменнты сразу перед глазами и даже не знаешь что поставить первым а что последним. КуМир кстати не лутше. У Языка ДРАКОН в этом плане проще — Нам в подсказке так и напишут нужно создать облачко и назвать его «начало»…НО если попытаться его скомпилировать вдруг оказываеться что нужно выбрать язык в который его компилируешь. ладно выбираю например c++ Создаю 2 облачка начало и конец, связываю . Решил создать например условие и что оказалось? нужно в облачко писать всякие «if i = 2; » с соблюдением всего синтаксиса c++. И чем же мне поможет тогда дракон? ничем.
Глагол ; Рапира — вообще мёртвые языки.
ps. кумир вообще насмешил 1-на команда всего на ctrl+space

to Ix_Didicus: по конфигам менять игру это уже пройденный этап. Более того мной даже был написан прототип простенькой игрушки на java к сожелению учебник по которому я учился я потерял как и сам прототип (да и тормозил он сильно) после формата диска. Да и наличие учебника один чёрт заставляло меня постоянно в него лазить. Каждую функцию я смотрел как выглядит в учебнике и переписывал. Затем я решил раз уж оно всё равно так сильно у меня тормошило я начал искать альтернативы. Различные языки программирования. И везде свой синтаксис. Да конечно везде примерно похоже. Но например Язык D намного легче чем java: все объекты которые я создаю — к ним не нужно к каждому приписывать функцию для изменения переменных в них. Значительно облегчает, но русского учебника я не нашёл как раз таки только примеры. Я задал вопрос на хабре у человека который писал статью по этому языку. Я его спросил «Простите за тупые вопросы но как мне сделать глобальный мутабельный обьект-структуру? » это был вопрос который я задал . (я тогда ещё изучал попутно rust) пример оказался проще чем я думал. НО Вот получил я ответ и что дальше? Допустим я захочу создать массив таких объектов и что мне сного искать того человека и сного спрашивать? Да я его заканаю вопросами.

Всем людям которые пишут что мне нужно изучить английский: да я знаю несколько(не считал но по тесту я знаю 30 из 50) Но мыслю то я на русском. Мне не проблемма запомнить что такое for if while и другие, тем более что для этого не нужно знать английский, но если мне понадобиться изучать документацию к языку вот скажите — так ведь всё равно будут слова которые я не знаю? В любом случае! Так какой прок? Это хорошо если ещё просто изучение какой нибудь java а если я захочу изучить assembler? даже англичанин не сразу поймёт(я не имею в виду работу процессора) значение слов что там написано.

Ну и простите что я не отвечал и не как не комментировал ответы я думал это тостер лагает оказалось аддон в firefox глючил…

Русские языки программирования — это… Что такое Русские языки программирования?


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

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

Преобладание языков программирования, основанных на английском

Существует подавляющая тенденция использовать английский язык как источник ключевых слов и названий библиотек. Согласно базе языков HPOL[1], существует более 8500 языков программирования, 2400 из них разработаны в США, 600 в Великобритании, 160 в Канаде, 75 в Австралии.

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

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

  • Aheui — эзотерический Хангыль[2].
  • AMMORIA(ARAB) — открытый объектно-ориентированный арабский язык программирования, созданный специально дла арабов[3].
  • ARLOGO — открытый арабский язык программирования, основанный на интерпретаторе UCB Logo.
  • Chinese BASIC — китайский диалект Applesoft BASIC; для тайваньских клонов Apple II и Multitech Microprofessor II.
  • Fjölnir — исландский императивный язык программирования 1980-х годов.
  • FOCAL — ключевые слова изначально английские, но DEC создала версии FOCAL на нескольких европейских языках.
  • 4th Dimension — локализованные версии этого языка используют французские или немецкие ключевые слова.
  • Geem — арабский язык программирования, основан на C++ с простой графической реализацией.
  • GOTO++ — французский язык программирований, основанный на французском и английском языках[4].
  • Hindawi Programming System — индийский набор аналогов для C, C++, yacc, ассемблера, logo, Ada и проч. для таких языков как хинди, гуджарати, ассамского языка, и бенгали(версия BangaBhasha).
  • Hindi Programming Language — основанный на хинди язык программирования для .NET.
  • hForth — Forth с вариантом набора ключевых слов на корейском языке[5].
  • HPL — основанный на иврите язык программирования.
  • Lexico — испанский объектно-ориентированный язык для изучения .NET.
  • LSE — фр. Langage Symbolique d’Enseignement, французский учебный язык программирования, созданный в 1970-х в École Supérieure d’Électricité. Вид Бейсика с процедурами, функциями и локальными переменными как в Паскале.
  • MS Word и MS Excel — их язык макросов локализован для других языков.
  • SAKO — созданный в 1950-е годы язык, польский FORTRAN.
  • Superlogo — голландская разработка для автоматизированного обучения, основана на Logo.
  • TI-Calculator BASIC — 68000 версия локализована. К сожалению, различные строки конфигурации также локализованы, что исключает полную бинарную совместимость.
  • АНАЛИТИК — язык программирования, использовавшийся в советских ЭВМ серии МИР.
  • Встроенный язык программирования 1С:Предприятие — основанный на русском язык программирования, использующийся в технологической платформе «1С:Предприятие».
  • ГЛАГОЛ — основанный на русском язык программирования, сходный с языками Oberon и Pascal.
  • Рапира — основанный на русском языке интерпритируемый процедурный язык программирования с динамической типизацией.
  • РАЯ (русский алгоритмический язык) — русский язык программирования, используемый для записи и изучения алгоритмов.
  • Робик — простой, основанный на русском языке язык программирования для изучения детьми основ программирования.

Языки программирования, не основанные на естественных языках

Многие из них эзотерические.

Изменяемый синтаксис анализатора

Примечания

Источники

Pigott, Diarmuid HOPL, the History of Programming Languages (2006). Проверено 14 апреля 2008.

Ссылки

Wikimedia Foundation. 2010.

  • Русский
  • Русские шашки

Смотреть что такое «Русские языки программирования» в других словарях:

  • Языки программирования — Язык программирования  формальная знаковая система, предназначенная для записи программ. Программа обычно представляет собой некоторый алгоритм в форме, понятной для исполнителя (например, компьютера). Язык программирования определяет набор… …   Википедия

  • Лого (язык программирования) — У этого термина существуют и другие значения, см. Лого. Лого (англ. Logo) Появился в: 1967 Автор(ы): Сеймур Пейперт, Идит Харель Испытал влияние: Лисп …   Википедия

  • С++ — См. также: Си (язык программирования) C++ Семантика: мультипарадигмальный: объектно ориентированное, обобщённое, процедурное, метапрограммирование Тип исполнения: компилируемый Появился в: 1985 г. Автор(ы): Бьёрн Страуструп …   Википедия

  • Squeak — Семантика: объектно ориентированная Появился в: 1996 Автор(ы): Алан Кэй, Дэн Ингаллс, Адель Гольдберг Релиз …   Википедия

  • The Code Project — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете …   Википедия

  • RSDN — Russian Software Developer Network URL: http://www.rsdn.ru/ Тип сайта: Портал …   Википедия

  • Регексп — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регексы — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регеспы — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

  • Регулярки — Регулярные выражения (англ. regular expressions, сокр. RegExp, RegEx, жарг. регэкспы или регексы) система синтаксического разбора текстовых фрагментов по формализованному шаблону, основанная на системе записи образцов для поиска. Образец (англ.… …   Википедия

Русский язык программирования, а почему бы и нет?

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

Как будто никогда не было в русском языке программирования таких команд, как «ЕСЛИ», «ТО», «ИНАЧЕ» вместо «IF», «THEN», «ELSE». Или, например, вместо «GO TO» как будто не было команды «ИДТИ НА», без третьего слова, привычной для российского уха идиомы…

Что интересно, русские вычислительные машины понимали не только команду «ИДТИ», но и «ИТТИ», а также «ИЙТИ». Это не связано с неграмотностью разработчиков, которые создавали подобные языки программирования, а обусловлено тем, что трансляторы и интерпретаторы русских языков программирования срабатывали на первую букву команды, и уже было неважно, какие символы использовались далее.

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

Например, существовал язык программирования АНАЛИТИК, который работал на вычислительных машинах МИР не только с численными, но и с аналитическими выражениями. Как видим, название «МИР» использовалось не только для наименования космической станции.

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

Разработчики АНАЛИТИКа сделали иначе. И это больше никто не смог повторить, а именно. Они установили, что в отсутствии значения переменной ее значением становится имя переменной!

Например, если переменная B равна 2, а значение переменной A не определено, то во всех языках программирования выражение C=A+B автоматически приводит к ошибке в выполнении программы. Но только не в АНАЛИТИКе.

В этом «русском» языке программирования такое выражение присваивало переменной C значение (A+2). При этом никакой ошибки не возникало. Программа продолжала работать с подобными аналитическими выражениями.

Например, выражение D=C+C присваивало переменной D значение (2*A+4), так как:

если C=(A+2), то D=C+C=(A+2)+(A+2)=(2*A+4).

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

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

Также присутствовали команды языка программирования, которые могли вычислять первообразную функции (команда «ИНТЕГРИРОВАТЬ»), и определять производную функции (команда «ДИФФЕРЕНЦИРОВАТЬ»).

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

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

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

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

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

Другие интересные материалы:

1. Топ-6 катастроф, произошедших «по вине» программного обеспечения

2. Что такое переменная в программировании и чем она отличается от константы

3. Платное и бесплатное ПО: мысли вслух


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

.

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

Автор: Юрий Воробьев

10 декабря 2016

Большой список 256-ти языков программирования / Habr

Скоро лето, и каникулы или отпуск — не за горами. Для тех, у кого появится свободное время, Роберт Диана вместо обычного бездельничества предлагает выучить новый язык программирования.

Роберт собрал 256 языков программирования с соответствующими ссылками на статьи в Википедии. Список представлен в алфавитном порядке. Извиняйте за раритеты и экзотику.

  1. 4th Dimension/4D
  2. ABAP
  3. ABC
  4. ActionScript
  5. Ada
  6. Agilent VEE
  7. Algol
  8. Alice
  9. Angelscript
  10. Apex
  11. APL
  12. AppleScript
  13. Arc
  14. Arduino
  15. ASP
  16. AspectJ
  17. Assembly
  18. ATLAS
  19. Augeas
  20. AutoHotkey
  21. AutoIt
  22. AutoLISP
  23. Automator
  24. Avenue
  25. Awk
  26. Bash
  27. (Visual) Basic
  28. bc
  29. BCPL
  30. BETA
  31. BlitzMax
  32. Boo
  33. Bourne Shell
  34. Bro
  35. C
  36. C Shell
  37. C#
  38. C++
  39. C++/CLI
  40. C-Omega
  41. Caml
  42. Ceylon
  43. CFML
  44. cg
  45. Ch
  46. CHILL
  47. CIL
  48. CL (OS/400)
  49. Clarion
  50. Clean
  51. Clipper
  52. Clojure
  53. CLU
  54. COBOL
  55. Cobra
  56. CoffeeScript
  57. ColdFusion
  58. COMAL
  59. Common Lisp
  60. Coq
  61. cT
  62. Curl
  63. D
  64. Dart
  65. DCL
  66. DCPU-16 ASM
  67. Delphi/Object Pascal
  68. DiBOL
  69. Dylan
  70. E
  71. eC
  72. Ecl
  73. ECMAScript
  74. EGL
  75. Eiffel
  76. Elixir
  77. Emacs Lisp
  78. Erlang
  79. Etoys
  80. Euphoria
  81. EXEC
  82. F#
  83. Factor
  84. Falcon
  85. Fancy
  86. Fantom
  87. Felix
  88. Forth
  89. Fortran
  90. Fortress
  91. (Visual) FoxPro
  92. Gambas
  93. GNU Octave
  94. Go
  95. Google AppsScript
  96. Gosu
  97. Groovy
  98. Haskell
  99. haXe
  100. Heron
  101. HPL
  102. HyperTalk
  103. Icon
  104. IDL
  105. Inform
  106. Informix-4GL
  107. INTERCAL
  108. Io
  109. Ioke
  110. J
  111. J#
  112. JADE
  113. Java
  114. Java FX Script
  115. JavaScript
  116. JScript
  117. JScript.NET
  118. Julia
  119. Korn Shell
  120. Kotlin
  121. LabVIEW
  122. Ladder Logic
  123. Lasso
  124. Limbo
  125. Lingo
  126. Lisp
  127. Logo
  128. Logtalk
  129. LotusScript
  130. LPC
  131. Lua
  132. Lustre
  133. M4
  134. MAD
  135. Magic
  136. Magik
  137. Malbolge
  138. MANTIS
  139. Maple
  140. Mathematica
  141. MATLAB
  142. Max/MSP
  143. MAXScript
  144. MEL
  145. Mercury
  146. Mirah
  147. Miva
  148. ML
  149. Monkey
  150. Modula-2
  151. Modula-3
  152. MOO
  153. Moto
  154. MS-DOS Batch
  155. MUMPS
  156. NATURAL
  157. Nemerle
  158. Nimrod
  159. NQC
  160. NSIS
  161. Nu
  162. NXT-G
  163. Oberon
  164. Object Rexx
  165. Objective-C
  166. Objective-J
  167. OCaml
  168. Occam
  169. ooc
  170. Opa
  171. OpenCL
  172. OpenEdge ABL
  173. OPL
  174. Oz
  175. Paradox
  176. Parrot
  177. Pascal
  178. Perl
  179. PHP
  180. Pike
  181. PILOT
  182. PL/I
  183. PL/SQL
  184. Pliant
  185. PostScript
  186. POV-Ray
  187. PowerBasic
  188. PowerScript
  189. PowerShell
  190. Processing
  191. Prolog
  192. Puppet
  193. Pure Data
  194. Python
  195. Q
  196. R
  197. Racket
  198. REALBasic
  199. REBOL
  200. Revolution
  201. REXX
  202. RPG (OS/400)
  203. Ruby
  204. Rust
  205. S
  206. S-PLUS
  207. SAS
  208. Sather
  209. Scala
  210. Scheme
  211. Scilab
  212. Scratch
  213. sed
  214. Seed7
  215. Self
  216. Shell
  217. SIGNAL
  218. Simula
  219. Simulink
  220. Slate
  221. Smalltalk
  222. Smarty
  223. SPARK
  224. SPSS
  225. SQR
  226. Squeak
  227. Squirrel
  228. Standard ML
  229. Suneido
  230. SuperCollider
  231. TACL
  232. Tcl
  233. Tex
  234. thinBasic
  235. TOM
  236. Transact-SQL
  237. Turing
  238. TypeScript
  239. Vala/Genie
  240. VBScript
  241. Verilog
  242. VHDL
  243. VimL
  244. Visual Basic .NET
  245. WebDNA
  246. Whitespace
  247. X10
  248. xBase
  249. XBase++
  250. Xen
  251. XPL
  252. XSLT
  253. XQuery
  254. yacc
  255. Yorick
  256. Z shell

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

via

Update от bazzilic: полный список 668-ми языков программирования на Википедии.

Update2: если у кого затруднения с открытием всех 256-ти/668-ми ссылок, недавно писал как эту проблему можно автоматизировать.

Программирование по-русски

В 1966 СССР принял стратегическое решение следовать в ИТ путём догоняющего развития. Это решение выполняется и по сей день: Россия доверяет всем новым веяниям в ИТ, которые появляются на Западе, узаконивает западные стандарты, лояльна к тому, что интернет управляется из США. В попытке решить проблему безопасности Россия сегодня делает ставку на Linux, Chromium, Postgresql и другие Open Source проекты.

Если мы проведём ретроспективный анализ уязвимостей, мы скорее всего сможем статистически значимо показать, что любая российская информационная система, подключённая к сети, уязвима, даже если она основана на Open Source, не говоря уж о Windows и других проприетарных технологиях. Мы не проводили такого анализа, возможно, это стоило бы проделать, но у нас нет таких ресурсов. Сопоставляя время от появления до устранения уязвимостей, а также оценивая их общее количество, невооружённым глазом видно, что современные информационные системы в целом имеют неудовлетворительную защищённость. Мы предполагаем, что в НАТО существует целая «фабрика закладок», которая постоянно создаёт новые уязвимости, которые можно использовать взамен ранее обнаруженных и обезвреженных, в том числе и в проектах Open Source. По мере того, как мировое сообщество находит уязвимости, готовятся новые версии ПО с новыми закладками. От момента распространения уязвимости через процесс обновления ПО до момента распространения заплатки, закрывающей уязвимость (обычно заплатка распространяется через несколько месяцев после того, как независимые исследователи конфиденциально сообщат о ней разработчикам уязвимой программы) у закладки есть латентный период, когда её авторы могут использовать её в своих целях. Зачастую срок жизни уязвимости — порядка 2 лет, а в отдельных случаях это может быть и 20 лет. Поэтому постоянно существует хороший запас таких скрытых закладок. Таким образом, если предположить, что хотя бы часть этих уязвимостей внесена целенаправленно некоей организацией, то владельцы этой «фабрики закладок» постоянно держат нож у горла пользователей информационных систем во всём мире. Мы видим из этой ситуации только один выход: переходить от сегодняшней профанации импортозамещения к настоящему производству полного стека технологий в России. Даже если технологии импортные, должны создаваться их копии, которые далее будут развиваться под контролем российских разработчиков. Только так мы сможем со временем избавиться от продукции «фабрики закладок». Если мы возьмём за основу линукс, то это время, вероятно, будет исчисляться несколькими десятилетиями, грубую оценку можно получить из истории уязвимости bashdoor. Не факт, что мы можем себе позволить так долго находяться в уязвимом положении.

При этом мы будем вынуждены кардинально снизить сложность ПО, которая в огромной степени раздута, и повысить его надёжность. Без снижения сложности мы не успеем создать своё ПО и не успеем вычистить импортное в сколько-нибудь разумные сроки. ПО должно быть понятным, как курс школьной геометрии, и надёжным, как топор. Во время изучения геометрии каждый школьник может самостоятельно проверить все доказательства и убедиться, что геометрия — правильная. Такая же должна быть ситуация и с ПО — только многократный, исчерпывающий контроль многими независимыми и правильно мотивированными группами российских специалистов позволит ПО быть действительно безопасным. Конечно, ПО сложнее геометрии, но оно не должно быть непостижимо сложным, как сейчас. На сегодня никакая группа российских специалистов не обладает полнотой знаний о том ПО, которое мы используем и которому вверяем свою безопасность. Си++ неустранимо сложен. С точки зрения надёжности, Си, JavaScript — неустранимо ненадёжны. Есть альтернативы, которые нужно изучать и внедрять.

Пока всё это не сделано, информатизация общества означает превращение нашей страны в минное поле, а управление взрывателем мы великодушно предоставляем странам НАТО. Чем глубже проникают в нашу жизнь информационные технологии, тем больше наша уязвимость перед США с их «фабрикой закладок». Мы должны принять чёткий критерий: никакая технология не должна внедряться в России, если Россия её не контролирует и нет полной уверенности в том, что завтра эта технология не будет дистанционно сломана. Например, это касается Windows, Oracle, MS SQL, Postreqsl, Linux, FreeBSD, MacOS, gcc, clang, node.js, vue.js, все современные веб-браузеры, bash, python, Android, C#, все современные офисные пакеты и интегрированные среды разработки — и это только ПО. С аппаратным обеспечением дела обстоят ещё хуже. По сути дела, почти ничто из того, чем мы пользуемся, не должно использоваться.

ИТ-специалисты заинтересованы во владении американскими технологиями, которые позволяют им зарабатывать деньги на мировом рынке. Любой ИТ-специалист хочет внедрить в России новую американскую технологию, поскольку это позволит освоить её и впоследствии продать свои компетенции на мировом рынке. Поэтому ИТ-специалисты являются «сословными» врагами идеи независимого отечественного ПО, которое в обозримом будущем позволит зарабатывать деньги только на внутреннем рынке. А работа на внутреннем рынке, как мы знаем на примере Всеволода Опанасенко, чревата уголовным преследованием. Государству нужно было с самого начала очень внимательно следить за тем, как идёт так называемый процесс импортозамещения, чтобы ИТ-шники (которые довольно умные люди) не повернули этот процесс в свою пользу, и тщательно оберегать тех людей, которые, вопреки экономической выгоде, делают что-то для блага своей страны. К сожалению, этого не происходит. Опанасенко находится в тюрьме, а в «российских» версиях Linux обнаруживаются те же уязвимости, что и в общемировых. Последнее означает, что исчерпывающий анализ с точки зрения безопасности в этих системах не был проведён и что мы не избавились от продукции «фабрики закладок».

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

Мы должны защищать свою страну, свой язык и свою письменность. Мы видим синергию в русификации и импортозамещении. Создание суверенной ИТ-отрасли именно с тотальным использованием русского языка во всех процессах и документах, может синергетически помочь и решению проблемы безопасности, и сохранению национальной идентичности. Использование русского языка в исходном тексте программ позволит построить определённый барьер на пути безудержного импорта технологий. Сейчас достаточно лишь поменять имя автора — и программа магически становится российской. Если же для «российскости» потребуется, чтобы программа состояла только из русских слов, то сделать из американской программы русскую становится довольно сложной задачей. Стоимость перевода может во многих случаях стать сопоставимой со стоимостью оригинальной разработки, и это уберёт из данной области многих проходимцев, занимающихся переклеиванием этикеток. Изобретательные сотрудники ИТ-отрасли наладят машинный перевод, но этот процесс будет постоянно цепляться за различные мелочи, не будет идти гладко, качество будет страдать и всегда легко заметно, какая программа действительно написана на русском языке, а какая переведена машинным переводом. По мере обновления версий импортного ПО таким разработчикам придётся поддерживать актуальность перевода, распространяя его на новые версии. Это тоже породит значительные трудности и станет защитным барьером, затрудняющим импорт продукции «фабрики закладок» в Россию.

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

«Сделано в России» — язык программирования WBASIC для разработки серверных веб-приложений

Здравствуй, Хабр!

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

WBASIC — Акроним Web Beginner’s All-purpose Symbolic Instruction Code.
Высокоуровневый язык программирования применяемый для разработки серверных веб-приложений.

Это диалект языка BASIC, разработаный с учетом работы в сети Интернет в 2017 году, а сам синтаксис языка в 1964.

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

История проекта

Начало разработки — 23 Марта 2017. Прототип написан примерно за месяц
После того как были закончены все основные языковые конструкции и операторы, на этой версии удалось разработать сайт и справочник по языку. После этого я пришел к выводу что у меня все таки есть на руках первая рабочая версия языка. Всего в языке поддерживалось 34 команды и ключевых слова. Помимо этого сделан режим отладки DEBUG, и упрощеный ввод больших текстовых переменых и массивов в многострочном режиме.

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

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

Начало разработки — 20 Апреля 2017. Релиз — ориентировочно Май 2017 года.

Основные недостатки предыдущей версии — отсутствие кэширования у компилятора, код все время компилировался перед запуском. Так же маленький набор собственных функций. В этой версии сделан прозрачный кэш на временных файлах, что существенно увеличило быстродействие. Для этого пришлось полностью переписать команды DEBUG, INCLUDE не считая самого компилятора. INCLUDE теперь подключает файлы в только в момент выполнения этой команды, с проверкой на наличие КЭШа, как в PHP.

Кроме того, улучшен парсер служебных символов, с просмотром символов вперед и назад, что изменило действие «=» и «(«, появились команы IS, ISNOT, ISSET и EMPTY. Теперь «=» означает присвоение аргументов в определенных командах и проверку на равенство в выражениях типа IF… как в Бейсике. По имени и следующим за ним «(» определяется вызов подпрограммы. Также появилась проверки переменных на существование, наличие данных и их типов и их удаление.

Появились также служебные константы. В общем добавилось около 200 команд и зарезервированных слов с константами.

Преимущества и недостатки

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

Производительность примерно равна PHP7, стиль разработки такой же как на PHP – правите файлы на сервере, открываете страничку, смотрите результат, компилятор работает сам по себе полностью прозрачно.

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

На сервере должен быть установлен PHP, можно 5 или 7 версии. Но, поскольку компилятор написан на PHP вы можете использовать помимо 200 команд WBASIC любые из 1500 функций PHP, хотя это выглядит как хак и возможно вам это даже не понадобится, поскольку набор уже существующих функций перекрывает потребности среднего приложения. PHP тоже изначально был написан на Perl, однако это не помешало его распространению.

Все строковые команды языка полностью поддерживают UTF-8, а документация полностью на русском.

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

FOR I = 100 STEP -1 TO 0
FOR I = 0 TO 100 STEP 10

Если вы изучали Visual Basic, то перейти на WBASIC можно без проблем, большинство команд и синтаксис те же.

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

Исходники проекта и релиз выложены на GitHub

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *