Написать пост

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

Аватарка пользователя Мария Кривоченко

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

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

Советская РАПИРА

Не будем тут рассказывать про 1С, который видели и обшутили все. Зато расскажем про РАПИРУ.

Это учебный язык программирования, разработанный в СССР в 1978-1979 годах. В школах и институтах на нем учились писать код для советской техники, делали в основном прикладные программы: калькуляторы, алгоритмы, поиска, сортировки, решения математических задач и прочего.

Синтаксис РАПИРЫ основан на русской лексике, но есть версии на английском, русском и грузинском.

9 языков программирования не на английском языке 1

Сейчас РАПИРА не используется. Язык уступил место сначала Algol, потом BASIC и Паскалю, но залезть в спецификацию и покопаться в синтаксисе можно до сих пор.

Исландский Fjölnir

Fjölnir (читается как «Фьёльнир») — язык программирования, разработанный исландским профессором информатики Снорри Агнарссоном еще в 1980-е. Он используется для обработки списков, как в LISP, и модульного программирования. Кстати, подключение этих самых модулей реализовано необычно — через алгебраические операции:

			«bottles» < main
{
    main ->
        stef(;)
        staðvær i,b
        stofn
            fyrir( i := 100; i > 1; i := i-1) lykkja
                bottles(;i-1),
                skrifastreng(;" on the wall, "),
                bottles(;i-1),
                skrifastreng(;",\ntake one down, pass it around, \n"),
                bottles(;i-2),
                skrifastreng(;" on the wall.\n"),
            lykkjulok,
        stofnlok
}
*
{
    bottles ->
        stef(;n)
        stofn
            val n úr
            kostur 0 þá
                skrifastreng(;«no more bottles»),
            kostur 1 þá
                skrifastreng(;«1 bottle of beer»),
            annars
                skrifa(;n),
                skrifastreng(;" bottles of beer"),
            vallok
        stofnlok
}
*
«GRUNNUR»
;
		

Испанский Lexico

Lexico выпустили 1985 году, и он продолжал развиваться вплоть до нулевых годов — последняя версия вышла в 2009.

Это объектно-ориентированный язык программирования, написанный на базе .NET. Ожидаемо, очень похож на C# (но слов побольше) и работает только на Windows. Из особенностей:

  • два класса — число и характер;
  • объект автоматически инстанцируется при объявлении переменной, если не указать ключевое слово no_crea;
  • вместо оператора присваивания используется ключевое слово copie.
			tarea
{
    los objetos valor1, valor2, resultado son cantidades //объявляем переменные типа integer
    entre valor1, valor2 //ожидание ввода данных в консоли
    copie valor1*valor2 en resultado

    es resultado > 15?
    si:
    {
        muestre resultado, " > 15"
    }
    no:
    {
        muestre resultado, " <= 15"
    }
}
		

Корейский Aheui

Эзотерический язык программирования, написанный на базе корейской письменности хангыль. Очень похож на Befunge У него есть масса своих особенностей, например:

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

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

			밤밣따빠밣밟따뿌
빠맣파빨받밤뚜뭏
돋밬탕빠맣붏두붇
볻뫃박발뚷투뭏붖
뫃도뫃희멓뭏뭏붘
뫃봌토범더벌뿌뚜
뽑뽀멓멓더벓뻐뚠
뽀덩벐멓뻐덕더벅
		

Советуем покопаться в спецификации и узнать чуть больше о языке.

Арабский Qalb

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

9 языков программирования не на английском языке 2

Но Qalb в первую очередь — перформанс, и только потом — язык программирования. Вот что говорит о проекте Рамси Нассер:

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

Индийский Kalaam

Kalaam — функциональный язык программирования, основанный на хинди. Его создал Свананда Кадам в 2020 году в рамках образовательного проекта — чтобы помочь школьникам и студентам разобраться в программировании.

Kalaam заточен под веб-разработку, у него есть даже бета-версия фреймворка для создания веб-приложений. Одна из особенностей — на нем можно кодить с ПК и телефона, в том числе прямо на сайте.

Вот небольшой пример кода с официального сайта:

			​​इनपुट(Binary)
DecimalValue=0
length=Binary.संख्या()
दुहराओ x को Binary मे
{
length=length-1
BinaryCharacter=Binary[x]
value=BinaryCharacter*2**length
DecimalValue=DecimalValue+value
}
दिखाए(DecimalValue)
		

Китайский Вэньянь-лан

Еще один молодой язык программирования. Его создал выпускник Университета Карнеги-Меллона Линдун Хуан. Вначале все задумывалось как пет-проект. Но идея оказалась слишком популярной — Линдун Хуан еще не дописал руководство, а энтузиасту успели написать десятки программ и засыпать создателя вопросами.

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

			吾有一術。名之曰「埃氏篩」。欲行是術。必先得一數。曰「甲」。乃行是術曰。
	吾有一列。名之曰「掩」。為是「甲」遍。充「掩」以陽也。
	除「甲」以二。名之曰「甲半」。

	有數二。名之曰「戊」。恆為是。若「戊」不小於「甲半」者乃止也。
		有數二。名之曰「戌」。恆為是。若「戌」不小於「甲半」者乃止也。

			乘「戊」以「戌」。名之曰「合」
			若「合」不大於「甲」者。
				昔之「掩」之「合」者。今陰是矣。
			若非乃止也。
		加一以「戌」。昔之「戌」者。今其是矣云云。
	加一以「戊」。昔之「戊」者。今其是矣云云。

	吾有一列。名之曰「諸素」。
	昔之「戊」者。今二是矣。恆為是。若「戊」等於「掩」之長者乃止也。
		夫「掩」之「戊」。名之曰「素耶」。
		若「素耶」者充「諸素」以「戊」也。
	加一以「戊」。昔之「戊」者。今其是矣云云。
	乃得「諸素」。
是謂「埃氏篩」之術也。

施「埃氏篩」於一百。書之。
		

К 2024 году появился компилятор для Python, Ruby и JavaScript и онлайн-IDE, планируют добавить для C ++ и Java.

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

Японский Nadesiko (なでしこ)

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

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

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

			「なし,P1,テスト(&F)
    P1,P2,チェック(&O),Ctrl+O,なし,チェックつける処理
    P1,P3,不可視化(&S),Ctrl+S,なし,不可視化処理
  なし,P4,テストその2(&E)
    P4,P5,無効化,Ctrl+C,なし,無効化処理」の、
メニュー一括作成。

●チェックつける処理
  「チェックつけます」と言う
    P2→チェックはオン
●不可視化処理
  「不可視にします」と言う
    P3→可視はオフ
●無効化処理
  「無効化します」と言う
    P5→有効はオフ
		

Клингонский var'aq

Эзотерический язык программирования, основанный на клингонском языке (на нем говорила раса, собственно Клингонов в «Звездном пути»). Создан в 2000 году Брайаном Коннорсом.

Язык основан на PostScript и использует Lisp для структур данных. Но все пишется на клингонском (хотя есть и английская локализация). Сам Коннорс называет его Klingon Basic и сравнивает с C++ не в пользу последнего. Все потому, что в Var’aq уже в 2003 были параллелизм, продвинутая математика и поддержка распределенных систем.

Вот так выглядит вывод чисел Фибоначчи на Var’aq:

			0 lImoH A cher (* сохраните первые два числа как A и B *)
1 lI'moH B Cher  
A cha 'B cha' (* выведите первые два числа *)
18 (* повторить 18 раз *)
  AB boq (* сложите сумму A и B *)
  latlh (* дублировать результат *)
  ча '(* напечатайте новое число *)
  B "A" cher (* магазин B в A *)
  "B" cher (* сохранить новый номер в B *)
} vangqa '(* конец повторения *)
		
Следите за новыми постами
Следите за новыми постами по любимым темам
543 открытий1К показов