Для тех, кто знаком с программированием не понаслышке, не станет новостью то, что создать собственный язык программирования может кто угодно. Ведь, по сути, это всего лишь набор высокоуровневых формальных правил передачи инструкций машине. Огромное количество пользователей и сообществ стремятся создать язык программирования, в чем-то превосходящий существующие, разработать его «под себя» или просто придумать что-то новое для развлечения или самореализации.
Со времен создания первых программируемых вычислительных машин человечество изобрело более 8500 языков программирования, и теперь их количество сравнимо с количеством естественных языков на планете. При этом языки программирования ежегодно пополняют свой состав, в то время как количество живых естественных языков с развитием коммуникаций уменьшается примерно на один язык в две недели. Стоит отметить, что большинство языков программирования появились в англоговорящих странах (2400 языков разработаны в США, 600 – в Великобритании, 160 – в Канаде, 75 – в Австралии), и неудивительно, что большинство языков программирования использует английскую лексику. Однако этим не исчерпывается все разнообразие языков управления вычислительными машинами. Существует множество языков программирования, не основанных на английском языке или вообще не основанных на каком-либо естественном языке.
Языки программирования, не основанные на естественных языках
Многие из языков программирования, не основанных на привычной для человека лексике, являются эзотерическими, созданными для развлечения, и представляют собой образец компьютерного юмора. Иногда преследуются определенные цели, например, придумать такой язык, компилятор для которого имел бы минимальный размер. К языкам программирования, которые не используют ключевые слова на естественных языках, можно отнести таких колоритных представителей, как:- «Brainfuck», 8-командный минималистический язык программирования с исходным кодом из 8 символов без какого-либо дополнительного форматирования;
- «FALSE» с синтаксисом, больше похожим на шифровку;
- «Whitespace», чей исходный код строится из пробелов;
- “var'aq”, основанный на клингонском языке из сериала Star Trek;
- «Планкалкюль», первый в мире высокоуровневый язык программирования, созданный в 1945 году.
Локализованные языки программирования и языки, не основанные на английском
Стандарт языка «Алгол-68» был опубликован в 1968 году на нескольких языках и был одобрен Международной федерацией по обработке информации. Алгол-68 разрабатывался в 1964-68 годах и обладал очень сложным синтаксисом и богатством возможностей. В нем была заложена «многоязычность» — возможность использования различных таблиц трансляции, что позволяет для каждого естественного языка определить свой набор ключевых слов. В результате программисты получают возможность при написании программы пользоваться своим родным языком. Сейчас существует немало языков программирования, ключевые слова в которых локализованы для нескольких языков, например:- 4th Dimension. Существуют локализации для английского, немецкого, французского, японского, корейского, персидского языков и иврита;
- язык макросов MS Word и MS Excel –локализован для большого количества естественных языков.
- Fjölnir. Основан на исландском языке, базируется на представлении программ как деревьев, взаимосвязи модулей не определяются перечислением импортируемых имён внутри каждого модуля, а задаются «снаружи» как выражения над модулями в целом.
- GOTO++. Основан на французском языке. Вот что гласят первые строчки документации к GOTO++, которые вряд ли добавят оптимизма англоговорящим разработчикам: «Внимание: руководство не было переведено с французского. Очень жаль, но вам придется изучить французский язык. Но не переживайте, французский – очень красивый язык, я его использую и одобряю».
- Lexico. Испанский объектно-ориентированный язык, предназначенный для изучения .NET.
- LSE. Французский язык программирования, некая смесь BASIC и PASCAL.
- SAKO. Польский язык программирования, представляющий из себя, по большому счету, локализованную версию FORTRAN.
- Superlogo. Голландская разработка, основанная на языке Logo, который в свою очередь был придуман в 1967 году для обучения детей дошкольного и младшего школьного возраста азам программирования.
- Aheui. Этот язык программирования основан на стековом эзотерическом языке программирования Befunge и использует Хангыль – фонематическое письмо корейского языка.
- AMMORIA. Первый открытый объектно-ориентированный арабский язык программирования.
- Geem. Арабский язык программирования, основанный на C++.
- Nadeshiko. Этот язык программирования основан на японских иероглифах.
- Hindi Programming Language. Язык программирования для .NET, основанный на хинди (Рис 3).
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.