Язык программирования LUX


   11-го мая 2006 года, на семинаре по программированию, Института Прикладной Математики - ИПМ РАН - было обсуждено сообщение на тему:

"НОВЫЙ ЭФФЕКТИВНЫЙ ПРОЦЕДУРНО-ОРИЕНТИРОВАННЫЙ УНИВЕРСАЛЬНЫЙ ОПЕРАТОРНЫЙ ЯЗЫК ПРОГРАММИРОВАНИЯ В ЛИНГВОПРОЦЕССОРНЫХ ВЫРАЖЕНИЯХ".

(Докладчик: В.М. Паньков)

Предлагается новый универсальный язык программирования, названный LUX (Lingual Unit's eXpressions), как язык лингвопроцессорных выражений, изобретенных автором, со следующими свойствами:

Мгновенная компиляция;
Самый компактный и быстрый исполняемый код;
Самые компактные линеаризованные выражения языка;
Самый компактный и быстрый код функций классов объектов;
Один терм - оператор транслируется в одну машинную команду;
Быстрые компактные понятные, в целом и в деталях, программы;
Наилучшие свойства агрегатно - структурного программирования;

   Я предлагаю Вам новый язык программирования, названный LUX (Lingual Unit's eXpressions), как язык лингвопроцессорных выражений, изобретенных мною.

   Любая средняя программа на языке LUX на компьютере средней мощности транслируется, практически, - мгновенно, - до миллиона операторов в секунду на мощных процессорах.

   Язык LUX имеет место ТОЧНО между языком макроассемблера и языком Си, Паскаль - и ближе к языку Си, на этом, МАГИСТРАЛЬНОМ, направлении.

   Подобно ассемблеру, LUX - компилятор генерирует каждый оператор в одну команду процессора и выдает очень быстрый, и очень компактный исполняемый код, поэтому, язык LUX не нуждается в оптимизирующем компиляторе.

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

Язык LUX имеет тот же набор более компактных структурных операторов типа IF-ELSE и DO-WHILE-FOR, что и язык Си, к тому же язык Люкс также как и Си имеет операторы SWITCH.

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

Таким образом, язык LUX объединяет лучшие достоинства языков Си и Макроассемблера, избавляясь от их недостатков.

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

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

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

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

Другими словами, на языке LUX во многих случаях можно разрабатывать практически всё то же, что и на языке Си, а в некоторых случаях - и более того.

Председатель семинара - А.В. Забродин - резюмируя дискуссию по этому сообщению, отметил, что язык LUX - (Lingual Unit's eXpressions), созданный на основе лингвопроцессорных выражений, является полноправным новым АЛЬТЕРНАТИВНЫМ НАПРАВЛЕНИЕМ В ПРОГРАММИРОВАНИИ.

Секретарь семинара - А.Е. Луцкий - также весьма позитивно оценил эту работу по созданию эффективного, фундаментального языка программирования, максимально использующего особенности архитектуры современных компьютеров.


***

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

Но абсолютно тот же логический постулат можно достоверно дать и для языка Люкс, то есть:

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

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

Но абсолютно тот же логический постулат можно достоверно дать и для языка Люкс, то есть:

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

Любому программисту должно быть понятно, что для любого структурного агрегата-оператора языка Си, по существу можно видеть наличие точно такого же по назначению структурного агрегата операторов языка Люкс, а именно:

СТРУКТУРНЫЙ ОПЕРАТОР IF-THEN

if ( cond() ) exec() ; <-------> @cond ?- @exec !

СТРУКТУРНЫЙ ОПЕРАТОР IF-THEN-ELSE

if ( cond() ) exec() ; else exed() ; <-------> @cond ?- @exec ? @exed !

СТРУКТУРНЫЙ ОПЕРАТОР ЦИКЛА WHILE

while ( cond() ) body() ; <-------> [ @cond ?- @body ]

СТРУКТУРНЫЙ ОПЕРАТОР ЦИКЛА DO-WHILE

do body() ; while ( cond() ) ; <-------> [ @body @cond ]<>0

СТРУКТУРНЫЙ ОПЕРАТОР ЦИКЛА FOR ++

for ( i = 0; i <= delta; i++ ) body(); <---> B:=0 [ B<=delta @body ++B ]

СТРУКТУРНЫЙ ОПЕРАТОР ЦИКЛА FOR --

for ( i = alpha; i > 0; i-- ) body(); <-------> [alpha @body ]-

СТРУКТУРНЫЙ ОПЕРАТОР СРАВНЕНИЯ С ВЕТВЛЕНИЕМ

if ( b>c ) exec() ; <-------> B>C @exec !

СТРУКТУРНЫЙ ОПЕРАТОР СРАВНЕНИЯ С ВЕТВЛЕНИЕМ

if ( b>c ) exec() ; else exed() ; <-------> B>C @exec ? @exed !

СТРУКТУРНЫЙ ОПЕРАТОР СРАВНЕНИЯ И ЦИКЛА WHILE

while ( b>c ) body() ; <-------> [ B>C @body ]

СТРУКТУРНЫЙ ОПЕРАТОР ЦИКЛА WHILE И СРАВНЕНИЯ

do body() ; while ( b>c ) ; <-------> [ @body B]>C

СТРУКТУРНЫЙ ОПЕРАТОР ЦИКЛА FOR++ И СРАВНЕНИЯ

for ( b = 0; b<=d ; b++ ) body(); <-------> B:=0 [ B<=D @body ++B ]

СТРУКТУРНЫЙ ОПЕРАТОР ЦИКЛА FOR-- И СРАВНЕНИЯ

for ( c = b; c > 0; c-- ) body(); <-------> [B @body ]-

***

Как видно, язык Люкс имеет тот же набор более компактных структурных операторов типа IF-ELSE и DO-WHILE-FOR, что и язык Си, к тому же язык Люкс также как и Си имеет операторы SWITCH.

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

Таким образом, язык Люкс объединяет лучшие достоинства языков Си и Макроассемблера, избавляясь от их недостатков.

***

Основной Сайт:

http://www.pancov.narod.ru

Зеркалые сайты:

http://www.lux.250x.com
http://pancov.tripod.com/
http://www.pancov.bravepages.com

http://www.narod.ru/guestbook/?owner=5354912

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

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

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

Удачи Вам!

E-mail: pancov@mail.ru

В.М.Паньков, 249020, Обнинск, Россия.

Free Web Hosting