Подумал, можно ли написать такой язык программирования в котором любая случайная последовательность команд являлась бы корректной программой? Что то типа брэйнфака токо ещё круче.
Зато можно было бы программы кучами генерить, запускать и смотреть что оно умеет. Вдруг, если Толстого впихнуть — операционка выйдет...
Re: Любая последовательность символов как корректная программа
J>Подумал, можно ли написать такой язык программирования в котором любая случайная последовательность команд являлась бы корректной программой? Что то типа брэйнфака токо ещё круче.
J>Зато можно было бы программы кучами генерить, запускать и смотреть что оно умеет. Вдруг, если Толстого впихнуть — операционка выйдет...
Знаете, есть такая народная примета: "Какой стол, такой и стул"
Приходиться заниматься гадостью — зарабатывать на жизнь честным трудом (Б.Шоу)
Re: Любая последовательность символов как корректная программа
J>Подумал, можно ли написать такой язык программирования в котором любая случайная последовательность команд являлась бы корректной программой? Что то типа брэйнфака токо ещё круче.
J>Зато можно было бы программы кучами генерить, запускать и смотреть что оно умеет. Вдруг, если Толстого впихнуть — операционка выйдет...
А в чем проблема? Берем тот же брейнфак за основу, просто увеличиваем количество инструкций до 256.
Если лень придумывать — делим пришедший символ на 32, остаток будет код команды брейнфака (т.к. их всего 8).
Здравствуйте, jazzer, Вы писали:
J>Здравствуйте, johny5, Вы писали:
J>А в чем проблема? Берем тот же брейнфак за основу, просто увеличиваем количество инструкций до 256. J>Если лень придумывать — делим пришедший символ на 32, остаток будет код команды брейнфака (т.к. их всего 8).
Хм, и правда.. а если брейнфак запустить над циклическим буффером то он не будет падать. Только он совсем простой, какой то хаотичный (этакая хэш процедура) — думаю в 99.99..% случаях ввода будет напечатан случайный символный мусор. Но даже так было бы интересно поиграться
В общем это просто для фана: к вопросу о волшебной кнопке, которую можно нажать и случайно получиться что то удобоваримое.
Re: Любая последовательность символов как корректная программа
J>Подумал, можно ли написать такой язык программирования в котором любая случайная последовательность команд являлась бы корректной программой? Что то типа брэйнфака токо ещё круче.
J>Зато можно было бы программы кучами генерить, запускать и смотреть что оно умеет. Вдруг, если Толстого впихнуть — операционка выйдет...
если программа будет достаточно большая, в ней окажется как минимум один бесконечный цикл
In Zen We Trust
Re: Любая последовательность символов как корректная программа
J>Подумал, можно ли написать такой язык программирования в котором любая случайная последовательность команд являлась бы корректной программой? Что то типа брэйнфака токо ещё круче.
Дык, какие проблемы? Переводи символы сразу в двоичный код и скорми процессору. )))
Если у целевого процессора есть "пробелы" в кодировке системы команд (как у x86/x64), то предварительно сделать отображение исходной кодировки на валидную. Ну и правильно сказали про память — при таком отображении конвертировать инструкции таким образом, чтобы попадать в доступную память (взять модуль от деления случайного адреса на фактический размер ОП).
J>Зато можно было бы программы кучами генерить, запускать и смотреть что оно умеет. Вдруг, если Толстого впихнуть — операционка выйдет...
Ничего хорошего из этого обычно не выходит. Кто прошивает микроконтроллеры сталкивается с этим регулярно — при неудачной прошивке оно зацикливается на каком-нить мусоре очень быстро.
Re: Любая последовательность символов как корректная программа
J>Подумал, можно ли написать такой язык программирования в котором любая случайная последовательность команд являлась бы корректной программой? Что то типа брэйнфака токо ещё круче.
"In general, if you think something isn't in Perl, try it out, because it usually is."
Larry Wall
J>Подумал, можно ли написать такой язык программирования в котором любая случайная последовательность команд являлась бы корректной программой? Что то типа брэйнфака токо ещё круче.
Ну, J почти под это подходит. Так как операторы там в основном однобуквенные, то, в теории, взяв его за основу, можно придумать такой язык.
Здравствуйте, johny5, Вы писали:
J>Подумал, можно ли написать такой язык программирования в котором любая случайная последовательность команд являлась бы корректной программой? Что то типа брэйнфака токо ещё круче.
J>Зато можно было бы программы кучами генерить, запускать и смотреть что оно умеет. Вдруг, если Толстого впихнуть — операционка выйдет...
The PL/C compiler had the unusual capability of never failing to compile any program, through the use of extensive automatic correction of many syntax errors and by converting any remaining syntax errors to output statements.
Говорят, на нем можно сонеты Шекспира скомпилировать
Re: Любая последовательность символов как корректная программа
J>Подумал, можно ли написать такой язык программирования в котором любая случайная последовательность команд являлась бы корректной программой? Что то типа брэйнфака токо ещё круче.
множество корректных программ на обычном языке обычно, как минимум, перечислимо, то есть их можно перенумеровать. Так что, все можно закодировать номером.
Re[2]: Любая последовательность символов как корректная программа
VZ>The PL/C compiler had the unusual capability of never failing to compile any program, through the use of extensive automatic correction of many syntax errors and by converting any remaining syntax errors to output statements.
VZ>Говорят, на нем можно сонеты Шекспира скомпилировать
И я так понимаю оно просто сгенерит программу по печати сонет.
Re: Любая последовательность символов как корректная программа
Здравствуйте, johny5, Вы писали:
J>Зато можно было бы программы кучами генерить, запускать и смотреть что оно умеет. Вдруг, если Толстого впихнуть — операционка выйдет... http://en.wikipedia.org/wiki/INTERCAL