Новости|29 Январь 2013 23:25

قلب — первый арабский язык программирования

Традиционно все существующие и когда-либо существовавшие языки программирования имеют латинские корни. Программист Рамси Нассер, араб по национальности, но проживающий в США, создал новый язык قلب, который использует для написания исходного кода исключительно арабский синтаксис. «قلب» произносится «эльб», а переводится с арабского как «сердце».

Эльб

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

От других языков наработка Нассера отличается тем, что программы, созданные на قلب, не просто функциональные, но и отличаются красивым и компактным кодом. Варьируя длину строчки, а также свойственное для арабской письменности обратное написание, исходники языка выглядят радикально иначе, чем традиционные языки.

При этом программист признает, что Эльб будет априори более ограниченным языком по сравнению с языками, основанными на латинской структуре, поскольку большинство программистов не знают арабской письменности и потому не смогут разобраться в азах قلب. Чтобы хоть немного поднять популярность своего языка, в будущем разработчик собирается выпустить API, а также набор библиотек, которые будут обращаться к Эльбу через привычные для западных девелоперов конструкции вроде function, if, for, loop и т.д. С другой стороны, новый язык должен стать отличным подспорьем начинающим арабским программистам, которые на примере Эльба будут упражняться в написании кода.

В заключение остается отметить, что в основе языка قلب  заложено понятие «схем», роднящее его с таким функциональным и любимым многими программистами языком как Lisp. Сам Рамси Нассер подчеркнул, что уже создал на Эльбе несколько полноценных алгоритмов, в том числе алгоритм для вычисления последовательности Фибоначчи.