От «здравствуйте» до こんにちは: языки программирования не на английском языке

Существует огромное количество самых разных языков программирования, их насчитывается несколько тысяч. Какие‑то — идеальны для работы, другие же созданы just for fun. К слову, есть ЯП, представленные программистами из неанглоязычных стран, в них операторы, функции и т. п. — все на родном для автора языке. Кроме того, некоторые страны стремятся развивать свои собственные IT‑индустрии, и использование местного языка в программировании может быть способом поддержать эту инициативу. Мы выбрали самые интересные на наш взгляд non‑English языки программирования.

Рапира (СССР)

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

53201428cf08be452fb367166f62dd95.jpeg

Язык Рапира унаследовал многие особенности других «винтажных» языков — Поплан и Сетл. Так, например, в языке Рапира используются необъявляемые бестиповые переменные (переменная считается объявленной при первом использовании, тип переменной определяется типом присвоенного выражения, инициализированной переменной можно присваивать значения типов, отличающихся от первоначально присвоенного), поддерживаются высокоуровневые составные типы данных — кортежи и множества (последние являются частным случаем кортежа).

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

Lexico (Испания)


Lexico представляет собой язык программирования на испанском языке, разработанный для обучения программированию с упором на объектно-ориентированное программирование. Он был спроектирован в 1985 году и модифицирован, доработан в 1992, 2002 и 2009 годах лабораторией Riosur.net E.U. Lexico предоставляет студентам практические уроки, стимулирующие интерес к программированию и позволяющие начать работу с готовыми алгоритмами с первых шагов.

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"
	}
}

Компилятор Lexico распространяется на платформе .NET от Microsoft и поддерживает функции, соответствующие международным стандартам для объектно-ориентированного программирования. Он позволяет практиковать основные концепции алгоритмов, структур данных и программирования, включая использование объектов, классов и наследования. Версия Lexico 3.0 может генерировать исполняемый код для платформы .NET и CF .NET (Compact Framework), что делает его полезным для создания программ для устройств на базе Windows Mobile, таких как PocketPC, PDA и SmartPhone.

Fjölnir (Исландия)

Fjölnir — это функциональный язык программирования, ориентированный на простоту, выразительность и производительность. Он был разработан исландским профессором информатики Снорри Агнарссоном в 1980-х годах. Fjölnir предоставляет богатый набор функциональных возможностей, таких как функции высших порядков, замыкания, рекурсия и неизменяемые структуры данных. Язык применяется для обработки списков, похожим на LISP, а также для модульного программирования.

Статическая типизация используется для обеспечения безопасности и надежности кода, Fjölnir поддерживает и модульность для удобного организации и повторного использования кода. Этот ЯП разрабатывался с учетом кроссплатформенности и имеет открытый исходный код, что способствует его постоянному развитию и улучшению благодаря активному участию сообщества разработчиков.

«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»
;

Nadesiko (Япония)

Nadesiko (или なでしこ) — это язык программирования, разработанный в Японии. Он базируется на BASIC и предназначен для облегчения изучения программирования для начинающих разработчиков — конечно же, японцев. В японском языке «nadesiko» означает «детскую игрушку» или «простой инструмент», что подчеркивает его простоту и доступность для новичков. Важной особенностью Nadesiko является его адаптация к японскому языку и культуре. Он использует японские ключевые слова и выражения, что делает его более доступным для пользователей, владеющих лишь японским языком.

6f4e7bc6123882319a75454e8f0e8ec3.jpg

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

Wenyan-lang (Китай)

Вэньянь‑лан — китайский язык программирования, созданный Янь Чжонг Куаном в 2018 году. Разработчик хотел создать ЯП, который был бы похож на на древние китайские рукописи, поэтому его синтаксис и структура напоминают классические китайские литературные тексты. В этом особенность Вэньянь‑лан — использование китайских иероглифов вместо традиционных ключевых слов и синтаксиса программирования. Это делает его уникальным и интересным для изучения и экспериментов. Вэньянь‑лан является кросс‑платформенным языком, написанным на Java Script.

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

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

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

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

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

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

Qalb (США)

Qalb был создан Рамзи Нассером (Ramsey Nasser) для облегчения программирования тем, у кого родной язык арабский. Qalb имеет схожие синтаксис и правила грамматики с языками Lisp и Scheme. Цель проекта заключается в устранении языкового барьера, с которым многие арабы лица сталкиваются при программировании на английском языке. 

62c2fbeefc55a98b9554099d35f54aed.png

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

Aheui (Южная Корея)

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

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

Этот язык предлагает необычные концепции, такие как «cho» (переключение), «jung» (повторение) и «yu» (соединение), которые позволяют создавать сложные алгоритмы с использованием различных команд и операций. В связи с его необычностью и уникальностью, Aheui породил ряд развлекательных проектов, таких как игры и головоломки, основанные на использовании этого языка программирования.

Возможно, вы знакомы с другими, не менее интересными языками? Если так, расскажите о них в комментариях.

© Habrahabr.ru