Автору данных исследований удалось найти общий язык программирования Люкс очень похожий на естественный человеческий язык и каждое предложение - оператор языка Люкс имеет прямой аналог - предложение обычного человеческого языка.
И неважно - словами - какого языка - английского или русского - или иного человеческого языка - написаны эти предложения повелительного наклонения, состоящие из глаголов и дополнений, каждое из которых транслируется в том же линейно-строчном порядке обычного человеческого языка.
Транслируется - либо прямо в команды исполняемых модулей программ, причём - глаголы транслируются прямо в коды машинных операций, либо - в вызовы программных процедур или функций.
А дополнения - транслируются в первом случае в операнды этих машинных операций, либо, во втором случае - в команды передачи аргументов в программные процедуры или функции.
Этим языком Люкс можно программировать любой компьютер и сейчас - им хорошо программировать компьютеры с процессорами типа Intel 80x86.
Однако - Люкс, как и все другие императивные языки программирования - типа Си, Паскаль, сможет быть идеальным инструментом программирования компьютера будущего - Лекспрус, компилятор с языка Люкс и эмулятор - интерпретатор, для которого, созданы и тщательно оттестированы также автором данных исследований и разработок.
Автор данного LUX-сайта, как автор разработок эмуляторов новых перспективных процессоров LUX-Sextium и LUX-Septium - новой перспективной серии процессоров LEXPRUSS ещё два десятка лет назад пришёл к выводу, что - совместимость приложений с разными процессорными архитектурами не является такой уж удачной идеей с практической точки зрения.
Собственно, по этой причине, автор разработок эмуляторов новых перспективных процессоров LUX-Sextium и LUX-Septium - новой перспективной серии процессоров LEXPRUSS - ещё 20 лет тому назад - и начал эти разработки - и сейчас довёл их до завершающего этапа технического проекта!
Теперь - через 20 лет сама фирма Microsoft признала, что - совместимость Windows-приложений с разными процессорными архитектурами не является такой уж удачной идеей с практической точки зрения.
В частности ... Стивен Синофски (Steven Sinofsky), президент подразделения Microsoft Windows, заявил, что далеко не все программное обеспечение для x86-совместимых систем Windows 8 будет работать на портативных устройствах на базе процессоров ARM.
На встрече с аналитиками Синофски заявил, что совместимость Windows-приложений с разными процессорными архитектурами не является такой уж удачной идеей с практической точки зрения. Данные программы будут нуждаться в тщательной оптимизации для того, чтобы пользователи смогли в полной мере оценить преимущества конкретной аппаратной платформы.
Так, почему же, фирма Microsoft взялась за реализацию идеи, которую сама фирма Microsoft признала не такой уж удачной идеей именно с практической точки зрения.
По всей видимости, это происходит по той весьма важной причине, что в погоне за сиюминутной прибылью, фирма Microsoft, как и фирмы - разработчики процессорных архитектур - слепо, глухо, высокомерно и некомпетентно принимают - каждая - свои, сиюминутные решения, диктуемые рынком, и не придают должного практического внимания разработкам языков прграммирования и процессорных архитектур других разработчиков, работающих на таком же - мировом уровне науки и техники!
Автор данного сайта, давно и долго - убеждался в этом на основе собственнного опыта прямых контактов - как с фирмой Microsoft, так и с фирмами - разработчиками процессорных архитектур ...
Гигантская бюрократия и примитивная гигантомания топ - ли, не топ ли - менеджмента этих фирм - ничем не отличаются от подобных же привычек бюрократии Государства Российского.
Односторонний высокомерный примитивизм по отношению к другим, как к, якобы - слаборазвитым, приводит к слаборазвитости, именно - излишне высокомерной стороны!
Весь вал проблем и сомнений, связанных с этим сомнительным направлением можно увидеть пройдя по поисковым Интернет-ссылкам, начиная со следующей ссылки:
Для того, чтобы лично убедиться в работоспособности и эффективности данных разработок - Вы можете тщательно просмотреть и для большей убедительности - протестировать РАБОТАЮЩИЕ программы-прототипы, расположенные на данном сайте - именно в этом разделе:
| Прототипы рабочих программ на языке Люкс |
В этом разделе сайта приводятся краткие аннотации и ссылки на завершённые примеры программ - прототипов, используя которые - любой программист может наращивать функции этих программ до получения необходимой работающей программы с требуемыми функциями.
Сами работающие примеры-прототипы этих программ будут выкладываться на данном сайте по мере готовности к использованию.
Я бы с уважением воспринял хотя бы тот факт, что кто-то из программистов смог хотя бы запустить компиляцию какого-либо прототипа - скажем - WINPROC и на примере убедился бы в работоспособности самой системы программирования на языке LUX на реальном прототипе.
При наличии некоторого энтузиазма, а программирование развивалось исключительно силами энтузиастов, можно было бы перепробовать и обсмаковать все данные прототипы, а также многие операторы данного языка, со вкусом просматривая и даже модифицируя - и исходные luc-файлы самих прототипов, и исходные inc-файлы - формирующие программную среду каждого из прототипов.
При наличии достаточного энтузиазма, можно было бы самостоятельно попробовать запуск интересных для Вас системных функций Windows API-32, описание которых можно найти в фирменных руководствах MSDN - Microsoft Developer Network, и здесь лежит непочатый край работы по оттачиванию профессионального мастерства программиста.
Я бы с удовлетворением помог бы любому программисту - энтузиасту преодолеть все препятствия на пути через эти этапы по оттачиванию профессионального мастерства программиста.
И было бы - ещё эффективнее, если бы такие программисты - энтузиасты объединялись бы в группы - ассоциации по географическому месту или территории, по НИИ, по институту-университету, или в интернет-ассоциации на форумах - где можно было бы обмениваться позитивным и продуктивным опытом, а не лить слюни и слёзы сомнений по поводу того, а нужны ли мы - нам ...
И нужны ли нам - вершины ...
Как писал и пел уважаемый и известный поэт - певец истины:
Так оставьте ненужные споры!
Я себе уже всё доказал!
Лучше гор, могут быть, только - горы,
На которых - ещё не бывал ...
На которых - никто не бывал ...
Весь мир на ладони - ты счастлив и нем ...
И только немного завидуешь тем -
Другим - у которых вершина - ещё - впереди!
И он имел в виду, как и во всех своих песнях о спорте - не только географические высоты и вершины!
***
Анализ мировой эволюции развития процессоров ЭВМ, в том числе - супер-ЭВМ: от CDC-6600, ... до Эльбрус-2 и других, мини-ЭВМ - PDP-11, VAX-11 и других, процессоров Intel 80x86 для настольных, портативных, сетевых компьютеров, процессоров ARM для портативных устройств, серверных процессоров IBM Power PC и Intel Itanium, - позволяет прийти к неутешительному выводу о том, что это развитие идёт по неконцептуальным, разнородным и вполне возможно - тупиковым путям.
Традиционное применение только RISC-процессоров ARM для портативных устройств - концептуально - неоправданно, поскольку даже планшетные компьютеры сегодня делают уже и на CISC-процессорах Intel - Atom и Celeron ULV.
Традиционный путь, на котором - чем длиннее машинное слово данных, - тем длиннее машинная команда-инструкция процессора - концептуально и принципиально неверен, особенно при устоявшейся концепции побайтовой адресации главной памяти.
Длина машинной команды процессора должна быть минимальной, поскольку она никак не связана с длиной обрабатываемых данных.
Поэтому, возможен и другой - единый концептуальный, перспективный путь, по меньшей мере, - для большинства процессоров широкого спектра применения - от супер-ЭВМ до портативных устройств.
Доступность оптимизации программ для профессионала ранее была концептуально неоправданно ограничена только языком Ассемблера, который сам, по себе громоздок, неструктурирован и ненагляден, тогда как уже 20 лет существует разработанный автором компактно-структурный и весьма наглядный язык программирования в лингвопроцессорных выражениях (Lingual Units eXpressions)- LUX.
Гигантская трудоёмкость процесса разработки программ остро ставит вопрос о долговечности исполняемого кода программ, вплоть до практически вечной работы единожды тщательно проработанного исполняемого кода программной функции.
Пот гипертонического давления, анемичная кровь и высохшие слёзы синдрома сухого глаза остаются программисту после полувекового процесса тяжкого труда программирования.
А результаты этого труда - разработанные и отлаженные программы, за исключением приобретённого при их разработке опыта - пропадают, даже если их своевременно копировать с более древних носителей информации - перфокарт, перфолент и магнитных лент на более современные магнитные диски и флэшки.
Композитор оставляет после себя - на века - свои бессмертные музыкальные произведения, поэт - стихи, архитектор - великолепные строения, мастер скрипок - также, оставляет созданные им первоклассные инструменты - на века!
И только творения мастера-программиста - созданные им первоклассные инструменты - сейчас, невозможно интерпретировать в веках - не воссоздавая новодел, в котором - более поздние соавторы - могут, по простоте душевной, выкинуть из программы-оригинала многие идеи и концепции мастера - автора оригинала, да и имя мастера - неблагодарно забывается, ещё при его жизни, зачастую доживаемой им - в нищете.
Всё это происходит по той причине, что разработчики-производители компьютерных процессоров и операционных систем - без достаточных на то оснований, меняют загрузочный код исполняемых программ, от фирмы к фирме разработчика, от поколения к поколению или от модели к модели компьютерных процессоров.
Ведь, код компьютерных программ, как и биологический генетический код, в том числе, как и геном человека - могут существовать практически вечно, копируясь и переселяясь из одного компьютерного механизма в другой - как биологический код копируется и переселяется из одного биологического организма - в другой.
Для этого сама природа уже выработала единый генетический четверичный код для кодирования программ генома биообъекта, начиная от простейших микроносителей генокода данных - вирусов, и кода программ и данных одноклеточных организмов - биокомпьютеров, вплоть до самого совершенного - генома организма человека.
Именно - для этих же целей - генетической переместимости исполняемого кода программ компьютерных процессоров, мною был разработан единый шестнадцатеричный исполняемый код для кодирования любых(!) программ компьютерных процессоров для любых(!) устройств - электронно-механических объектов, управляемых компьютерными процессорами, начиная от простейших микроносителей кода данных и компьютерных программ - встраиваемых микрочипов, сотовых телефонов, гаджетов, ноутбуков, дектопов, вплоть до самых совершенных - суперкомпьютеров, впредь - на долгие десятилетия и в пределе - на века!
Наиболее беспроблемная переместимость программ может осуществляться только на уровне исполняемого кода компьютерных процессоров.
Однако разработчики процессоров проектируют свои интерфейсы исполняемого кода, крайне мало сообразуясь с тем - как исходный код выражений программ соответствует разработанному ими исполняемому коду, который мало учитывает эффективность программирования и исполнения исходных выражений языка программирования.
Раньше - это было как-то оправдано крайне малой плотностью компоновки чипов компьютерных процессоров, и вследствие того - сравнительно малым количеством доступно возможных элементов - электронных вентилей, триггеров, и в целом - регистров процессора.
Сейчас же, с переходом на наноуровень компоновки процессорных чипов, положение вещей резко изменилось - количество доступно возможных элементов - электронных вентилей, триггеров, и в целом - регистров процессора выросло более чем на порядок, но в связи с этим - разработчики процессоров не нашли ничего лучшего, кроме как выпускать многоядерные чипы процессоров, абсолютно никак не улучшая архитектуру собственно самих процессоров.
Именно сейчас - когда резко возросла плотность компоновки чипов компьютерных процессоров и сложность этих процессоров - крайне необходимо переосмыслить и переработать наши подходы к проектированию систем инструкций компьютерных процессоров.
***
ПРОВЕРЯЙ АЛГЕБРОЙ ГАРМОНИЮ
Около половины процессоров всего мира - это процессоры ARM - которые используются в различных компактных компьютерных устройствах - сотовых телефонах, коммуникаторах, планшетах и т.п.
Около половины процессоров всего мира - это процессоры Intel 80x86 - которые используются в различных не столь компактных компьютерных устройствах - ноутбуках, сетевых, настольных компьютерах, серверах и суперкомпьютерах.
Однако, давайте возьмём следующее простое алгебраическое выражение:
alpha * beta / gamma + delta - eta (1)
...
Это выражение (1) для трёхадресного процессора ARM выглядит, в так называемых - наглядных содержательных обозначениях, так:
=*:A,alpha,beta =/:A,A,gamma =+:A,A,delta =-:A,A,eta
Как мы можем здесь видеть - целых 7 адресов - обозначенных буквой A - из 12, т.е. БОЛЬШЕ ПОЛОВИНЫ (!!!) адресов - здесь(!) совершенно являются излишними.
Это весьма загромождает загрузочный код, значительно понижает его компактность, быстродействие и наглядность.
...
Это же выражение (1) для одно-двухадресного процессора Intel 80x86 выглядит, в так называемых - наглядных содержательных обозначениях, так:
:=A,alpha *beta /gamma :+A,delta :-A,eta
Как мы можем видеть, здесь - целых 3 адреса - обозначенных буквой A - из 8, т.е. БОЛЕЕ ТРЕТИ (!) адресов - здесь(!) совершенно являются излишними.
Это также загромождает загрузочный код и понижает его компактность, быстродействие и наглядность.
...
Это же выражение (1) для процессора лингвопроцессорных выражений Luxium выглядит, в так называемых - наглядных содержательных обозначениях, так:
alpha *beta /gamma +delta -eta
Как мы можем видеть, здесь - вообще нет излишних адресов!
Это - наиболее компактный, быстродействующий и наглядный загрузочный код.
Это - и есть - гармония формы и содержания - семантики и синтаксиса.
Сегодня традиционно и широко используется быстродействующая кэш-память кода!
И чем компактнее исполняемый код, тем больше его войдёт в кэш-память кода!
А чем больше коротких циклов войдёт в кэш-память кода, тем быстрее программа!
И короткий побайтовый код вовсе не мешает использовать параллельные конвейеры.
Это доказала сама фирма Intel много лет используя такие конвейеры в Pentum-4.
Давайте подумаем и обсудим - как запустить процессор лингвопроцессорных выражений Luxium в серийное производство, где он с успехом может быть использован как в различных компактных компьютерных устройствах - сотовых телефонах, коммуникаторах, планшетах, ... так и в различных не столь компактных компьютерных устройствах - ноутбуках, сетевых, настольных компьютерах, серверах и суперкомпьютерах.
Это также будет весомым вкладом в стандартную совместимость программ на уровне загрузочного кода для этого широчайшего спектра процессоров, применяемых в свою очередь для широчайшего класса компьютеров и задач.
Ведь от увеличения числа типов процессоров и операционных систем, из-за их программной несовместимости на уровне загрузочного кода процессоров, из поколения в поколение пропадают огромные труды армии программистов, в чём автор этих строк смог убедиться и на собственном опыте, и что сподвигло его задуматься о Вечном, которое в большом множестве случаев, вполне возможно, как и в других ветвях математики, и в других науках - вообще!
Это как в притче о Вавилонской башне, которую люди так и не смогли достроить - из-за отсутствия взаимопонимания и многочисленных языковых различий!
***
Я создал этот сайт в 1998 году специально для того, чтобы информировать заинтересованных специалистов о своих инновационных разработках на стыке программного обеспечения и аппаратного оборудования компьютеров, которыми я занимался всю свою профессиональную жизнь. Подробнее об этом изложено в разделе:
К сожалению, и эта область деятельности, впрочем, как и любая другая - имеет свою, оборотную сторону медали и мне довольно часто приходится защищаться от антиинноваторов и антиспециалистов в этой области, поэтому мне периодически приходится включать сюда материалы полемико-публицистического характера, поскольку истина рождается порою в жестоких муках.
В настоящее время неактуально разрабатывать систему команд - только как набор команд (instruction set).
Система команд процессора должна позволять объединять отдельные команды в единое выражение на аппаратном исполняемом уровне.
Лингвопроцессорное выражение - LUX (Lingual Unit eXpression) - есть единый прямой концептуально-выверенный путь от обычных математических выражений через концептуальную систему-набор команд к отдельным арифметико-логическим устройствам процессора.
Смена поколений процессоров сподобила и вдохновила меня на тщательные наукоёмкие проработки и исследования состояния и перспектив развития архитектур процессоров, и на существенные перспективные разработки.
Теперь я знаю - каким должен быть процессор будущего.
Здесь только краткие выводы - резюме по результатам этих трудоёмких исследований.
Если Вы повторно заходите на этот сайт, можете учесть и то обстоятельство, что я регулярно обновляю не только ссылки-заголовки на отдельные статьи и фрагменты этого сайта, но и дорабатываю, и обновляю - и содержимое самих статей и программ, выставленных на этом сайте.
Люкс - способ (LUX-method) - способ управления процессорами, в частности - микро и нанопроцессорами - на основе лингвопроцессорных выражений (Lingual Unit's Expressions - LUX).
В исторической перспективе, Люкс - способ (LUX-method) - это эффективный способ управления нанопроцессорами.
Лингвопроцессорные выражения - это линеаризовааная система операторов, каждый из которых после линейной пооператорой трансляции в одну или несколько команд процессора непосредственно исполняются данным процессором.
С лингвистической точки зрения, каждый оператор лингвопроцессорного выражения представляет собой предложение, как правило, содержащее в первой позиции глагол повелительного наклонения и объектные дололнения, которые могут следовать за этим глаголом.
С функциональной точки зрения, каждый глагол есть имя исполняемой функции, а каждое объектное дополнение есть значение, которое явяется фактическим параметром данного обращения к этой функции, или имя объекта, значение которого явяется фактическим параметром данного обращения к этой функции.
С математической точки зрения, по сущности, обращение к функции и обращение к операции - есть одно и тоже, и в обращениях к ним, соответсвенно - имя функции есть то же самое, что и знак операции, а фактический параметр функции есть то же самое, что и операнд операции.
Однако, по форме, в традиционых математических инфиксных выражениях - знак двуместной операции ставится между двумя операндами, и в тех же выражениях имя функции предшествует списку фактических параметров функции - в скобках.
В новых, по существу - постфиксно-префиксных, лингвопроцессорных выражениях - обращение к функции и обращение к операции - по сущности и по форме сведены воедино и одинаковы по своей префиксной форме.
Люкс - способ (LUX-method) управления процессорами, как и собственно - Лингвопроцессорные выражения - являются такими же важными самостоятельнми сущностями, как и традиционые математические инфиксные выражения, или другие - стековые постфиксные выражения на основе операторов известного постфиксного польского инверсного способа записи выражений.
На основе лингвопроцессорных выражений создан язык программирования Люкс или LUX.
По времени появления и исторической перспективе - язык Люкс яляется фундаментальным языком программирования нанопроцессоров.