Подтвердить что ты не робот

Существуют ли языки программирования, которые основаны на нелатинских алфавитах?

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

4b9b3361

Ответ 1

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

Ответ 2

Вы видели Perl?

Ответ 3

APL, вероятно, наиболее широко известен. У него даже есть классная клавиатура (или это была специальная клавиатура, которую вы должны были купить?):

image courtesy of Wikipedia

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

Ответ 4

Ну, Brainf * не использует латинских символов, если вы помилуете язык... и каламбур.

Ответ 5

Многие языки допускают идентификаторы Unicode. Это часть стандартная Java, и g++ ( хотя вам нужно использовать экраны \uNNNN) и MSVС++ разрешить им (см. также этот вопрос) И некоторые позволяют использовать #define (или, может быть, лучше) переименовать структуры управления.

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

Ответ 6

Ну, всегда APL. У этого есть свои собственные символы UNICODE, и я считаю, что для этого также требовалась специальная клавиатура.

Ответ 7

Существует один langauge, используемый в российской системе ERP после компании, которая разработала ее 1C. Но у его идентификаторов и операторов есть английские аналоги.

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

Ответ 8

Agda.

Пример фрагмента:

mutual
   data ωChain : Set where
     _∷_,_ : ∀ (x : carrier) (xω : ∞ ωChain) (p : x ≼ xω) → ωChain

   head : ωChain → carrier
   head (x ∷ _ , _) = x

   _≼_ : carrier → ∞ ωChain → Set
   x ≼ xω = x ≤ head (♭ xω)

Ответ 9

Другие люди отвечают на языки, которые используют знаки препинания в дополнение к латинским буквам. Интересно, почему никто не упоминал цифры от 0 до 9.

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

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

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

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

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