Здравствуйте!
Хотелось бы знать, как народ отнесся бы к появлению проекта по созданию Руccкой
ОС. Причём не только русской, но и всего русскоговорящего населения?
Присоеденились бы вы к такому проекту?
Прошу не относить к флейму. Речь идёт о уже существующем проекте.
С уважением,
VICH
Всего в теме 5452 сообщения
Отслеживать это обсуждение
№ 2982 25-10-2007 11:37 | |
Ответ на »сообщение 2978« (Илья Ермаков)
___________________________
>>> И попробуйте выразить на ассемблере структуру и назначение каждого элемента сплошной последовательности байт так, чтобы читатель это понял и смог полностью восстановить исходные описания структур данных.
Давайте так: есть программа, написанная на ЯВУ, обрабатывающая "сложные" структуры данных, которая может быть скомпилированна и выполнена. Вы утверждаете, что на ASM принципиально нельзя написать программу, которая для этих же входных данных дает точно такой же результат, как и программа на ЯВУ?
Или же, что на планете Земля нет человека, который бы глядя на ASM код, смог бы написать эквивалентную программу на Pascal?
№ 2981 25-10-2007 11:28 | |
Ответ на »сообщение 2978« (Илья Ермаков)
___________________________
>>> Если эта задача ещё близка к выполнимой, то для более сложных семантических элементов ЯВУ уже очевидна невозможность их оттранслировать в ассемблер.
Пожалуйста, по аккуратнее со словами! Что значит "невозможность их оттранслировать в ассемблер"?
Т.е., Вы утверждаете, что для некоторых "сложных семантических элементов ЯВУ" не может быть сгенерирован ASM-код? Тогда как можно для них сгенерировать машинный код?
№ 2980 25-10-2007 11:17 | |
Ответ на »сообщение 2978« (Илья Ермаков)
___________________________
И попробуйте выразить на ассемблере структуру и назначение каждого элемента сплошной последовательности байт так, чтобы читатель это понял и смог полностью восстановить исходные описания структур данных.
Не надо смешивать...
"попробуйте" - даст нам информацию о физической возможности/невозможности для данного субъекта выполнить ту или иную операцию.
А речь шла о "принципиально невыразимо". Тут требуется не эксперимент, а строгое доказательство. Боюсь, что такого доказательства мы не получим.
Все таки переход на язык более высокого уровня связан только с ограничениями на применяемые конструкции.
№ 2979 25-10-2007 09:56 | |
Точно так же, как из топологии кристалла процессора Вы никогда не сможете получить обратно высокоуровневое описание его логики. Потому что она была необратимо отлита в физическую схему, которая выполняет эту логику, но уже не содержит информации о том, зачем и почему.
№ 2978 25-10-2007 09:52 | |
Ответ на »сообщение 2974« (Стэн)
___________________________
Ответ на »сообщение 2971« (Илья Ермаков)
___________________________
>>> И с его точки зрения ЯВУ позволяет выражать то, что принципиально невыразимо на языке более низкого уровня.
Например?
Высокоуровневую семантику. Самый простой приме - возьмите высокоуровневую программу с богатыми структурами данных. И попробуйте выразить на ассемблере структуру и назначение каждого элемента сплошной последовательности байт так, чтобы читатель это понял и смог полностью восстановить исходные описания структур данных. Если эта задача ещё близка к выполнимой, то для более сложных семантических элементов ЯВУ уже очевидна невозможность их оттранслировать в ассемблер.
№ 2977 25-10-2007 09:44 | |
Ответ на »сообщение 2972« (Илья Ермаков)
___________________________
Ответ на »сообщение 2970« (Стэн)
___________________________
Ответ на »сообщение 2965« (Илья Ермаков)
___________________________
Это называется формальной спецификацией, или просто структурированное изложение мыслей.
Вот, Вы сказали прекрасную фразу. Которая лично для меня и определяет язык программирования. Это язык для структурированного изложения моих мыслей относительно устройства программной системы. И специфицировать её должен позволять в первую очередь.
Это заявление на уровне эмоций. Мы уже дискутировали по этому поводу с Русланом.
Программа, это спецификация, доведенная до полной однозначности. Не требующая дополнительных знаний.
Вообще говоря, спецификация предназначена для исполнителя - человека, с его способностью интерпретировать неоднозначные конструкции на основе контекста. Поэтому допускает недоформализованность.
Тут проходит черезвычайно важный водораздел и его хорошо бы четко сформулировать.
Спецификации нужны, когда постановщик задачи и исполнитель (исполнители) - разные люди. В каких случаях это так?
1.Постановщик задачи сам программировать не умеет. Эта ситуация постепенно уходит в прошлое.
2.Постановщик задачи не в состоянии написать все самостоятельно в силу больших размеров системы. Но тогда для спецификации требуется язык более высокого уровня, чем язык программирования, иначе не будет выигрыша. Тогда возникает другая проблемма: чтобы правильно интерпретировать спецификацию, исполнители должны иметь тот же контекст, что и постановщик. Т.е. быть специалистами в предметной области.
№ 2976 25-10-2007 09:42 | |
Ответ на »сообщение 2969« (S1)
___________________________
>>>Приставка "мета" всегда имеет значение "о (чем-то)".
Не "о (чем-то)", а "за (чем-то)","после (чего-то)".
>>>Метафизика - это наука о физике
Метагалактика - наука о галактике.
Метамизол натрия - наука о мизоле натрия. :-)
№ 2975 25-10-2007 09:36 | |
Ответ на »сообщение 2972« (Илья Ермаков)
___________________________
>>> Вот, Вы сказали прекрасную фразу. Которая лично для меня и определяет язык программирования. Это язык для структурированного изложения моих мыслей относительно устройства программной системы.
Здорово! Но следует заметить, что на ASM Вы тоже должны излагать свои мысли структурированно, а иначе получится совсем не то, и работать будет совсем не так...
№ 2974 25-10-2007 09:26 | |
Ответ на »сообщение 2971« (Илья Ермаков)
___________________________
>>> Вот только я не могу понять, какое отношение вопрос о языке/метаязыке имеет к вопросу выполнения программ.
Очень даже прямое. Программы пишутся для того, чтобы их выполнять - это их предназначение. Если Вы еще что-то из них вытащите это, конечно, хорошо, но это не главное...
>>> Вообще-то, для компьютера все языки едины. Причиной и двигателем их появляления стала именно другая сторона - разработчик.
Да, разработчик был причиной... Точнее желание разработчика и потребителя программ, написать за "неделю" то, что в другом случае пришлось писать бы за "год"...
>>> И с его точки зрения ЯВУ позволяет выражать то, что принципиально невыразимо на языке более низкого уровня.
Например?
№ 2973 25-10-2007 09:25 | |
Ответ на »сообщение 2969« (S1)
___________________________
Метаязык - это язык о языке, т.е. язык, с помощью которого можно описывать другой язык. Нотация BNF служит той же цели.
Описывать язык для разных целей придется по разному. И метаязыки получаться очень разными. Когда Свердлов проводил сравнительное исследование синтаксической сложности языков, ему хватило BNF представления.
Если же мы будем, например, сравнивать языки по простоте восприятия человеком, боюсь BNF не подойдет.
Отслеживать это обсуждение
Дополнительная навигация: |
|