Рекомендую к прочтения статью http://www.rsdn.ru/article/philosophy/languages.xml
Путеводитель автостопщика по потаенным знаниям, Эзотерические языки программирования |
Путеводитель автостопщика по потаенным знаниям, Эзотерические языки программирования |
Altair |
Сообщение
#1
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Рекомендую к прочтения статью http://www.rsdn.ru/article/philosophy/languages.xml
-------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Archon |
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Altair, респект! Кажется у меня новая мания...
[Ушёл выпадать из реальности, к обеду не ждать] -------------------- Close the World...txeN eht nepO
|
volvo |
Сообщение
#3
|
Гость |
Цитата //типы данных: А это идея... Надо взять на вооружение...х: сомнительное целое; а: мало_похоже_на массив [x..y а_может_быть z] каких_нибудь символов; L: безнадежно_поврежденный список слишком_маленьких целых; //присвоение значения переменной: x ТОЧНО 3; x ЧЕСТНОЕ_СЛОВО 3; x МАМОЙ_КЛЯНУСЬ 3; //условия: ЕСЛИ y ЧТО_ТО_ОКОЛО 8 ... ПРИ_МАЛЕЙШЕМ_ПОДОЗРЕНИИ_ЧТО x < 100... //вызов процедуры: СБЕГАЙ_КА_ПОИЩИ имяпроцедуры; |
Archon |
Сообщение
#4
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
В оригинале интереснее : paranoid (ссылка из статьи на источник)
Цитата #distrust(procedure) Это бы пригодилось to put extra suspicion on a procedure, #ignore(procedure) to totally forget about any calls to a procedure, #blame(procedure) to pin the blame on this procedure whenever something dies #hide(procedure) to forget that a procedure ever existed. -------------------- Close the World...txeN eht nepO
|
Altair |
Сообщение
#5
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Цитата lol.gif А это идея... Надо взять на вооружение... Во-во! Мне тоже понравилось главное, программист сразу избавляется от стольких проблемм - такой язык частенько совпадает с его мыслями -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Archon |
Сообщение
#6
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Чёрт! Уже час бьюсь над созданием самовыводящейся программы на BrainF*ck'е. Кто-нибудь знает, это возможно? Если да, не подсказывать как!
-------------------- Close the World...txeN eht nepO
|
volvo |
Сообщение
#7
|
Гость |
Возможно
|
klem4 |
Сообщение
#8
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
xds |
Сообщение
#9
|
N337 Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: 26 |
Кстати, BF можно использовать в качестве микрокода CPU - будет полезнее, чем просто "native BF CPU". Т. е. BF CPU с интерпретатором основной системы команд в качестве программы. Полезность, естественно, в основном академическая (есть свободная EPM3064, аж попробовать хочется - синдром маньяка с новой бензопилой)
-------------------- The idiots are winning.
|
Archon |
Сообщение
#10
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
@#$%! По ходу, из за ошибки переполнения невозможно корректно выводить строки длиннее 1024 символов, а моя программа вышла 1693 . Можно, конечно, заморочиться с ентерами, но сократить программу - интереснее. Как сократить на ~350 символов я кажется придумал, ещё столько же и можно пить шампанское.
-------------------- Close the World...txeN eht nepO
|
Altair |
Сообщение
#11
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Покажешь потом код?
Кстати о философии - каким требованиям должен отвечать язык, что бы на нем можно было написать программу, выводящую саму себя на экран? Или таких требований нет? Понятно, что должны быть операторы вывода например, но я имею ввиду требования к конструкциям, которые могут быть реализованы на языке... -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Archon |
Сообщение
#12
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Вот! Мозг дал трещину но выдал код:
Код >>++++++>>++++>>+++>>+>>+++>>+>>+++>>+>>+>>+++++++>>+++>>+>>++++++>>++++>>+++>>+ В приципе, программу можно сократить раза в полтора, я сейчас этим занимаюсь. Дело в том, что здесь я одну команду кодирую в 2 ячейках памяти, а мне вот по ходу в голову пришло как можно 1-ой!++>>+>>++++>>+++>>+>>+>>++++++>>++++++>>++>>+>>++++++>>+++>>+++>>+++>>+++>>+++++ +>>++++>>+++>>+>>+>>++++>>+>>++++>>+>>++++>>+>>++++>>+>>++++>>+>>++++>>+>>++++>> +>>++++>>+>>++++>>+>>++++>>+++>>+++>>+>>++++++>>++++++>>++>>+>>++++>>+>>++++>>+> >++++>>+++>>+>>++++++>>++++>>+>>++++++>>++++++>>++>>+++>>+>>++++++>>++>>+++>>+>> ++++++>>++++>>+++>>+++>>+++>>+++>>++++++>>++++>>+++>>+++>>+++>>+++>>+>>+++++++>> +++>>+>>+++>>+>>+++>>+>>+>>++++>>+++>>+++>>+>>++++++>>++++++>>++>>+++>>+++>>+++> >+++>>+>>++++++>>+>>++++++>>+>>++++++>>+>>++++++>>+>>++++++>>+>>++++++>>+>>+++++ +>>+>>++++++>>+>>++++++>>+>>++++++>>+>>++++++>>+>>++++++>>+>>++++++>>+>>++++++>> +>>++++++>>+>>++++++>>+>>++++++>>+>>++++++>>+>>++++++>>+>>+++++++>>+>>+++++++>>+ >>++++>>+>>++++>>+++>>+>>+++>>+>>+++>>+>>++++++>>++++>>+++>>+++>>+++>>+++>>+++>> +++>>+>>++++>>+>>++++>>+>>++++>>+>>++++>>+>>++++>>+>>++++>>+++>>+>>+++>>+>>+++>> +>>+>>++++++>>++++++>>++>>+>>++++>>+>>++++>>+>>++++>>+>>++++>>+>>++++>>+>>++++>> +>>++++>>+>>++++>>+>>++++>>+>>++++>>+++>>+++>>++++++>>++>>+++>>+++>>+++>>+++>>++ ++++>>++++>>+++>>+>>+++>>+>>++++++>>++[<<]>>[>++++++++++[-<<<++++++>>>]<<<++..-- ----------------->>[->+<<<.>>]>>]<[<[-]<+++[->++++++++++<]>>-[-<+>]<.<<<] Цитата Кстати о философии - каким требованиям должен отвечать язык, что бы на нем можно было написать программу, выводящую саму себя на экран? Да, мне тоже интересно! Если кто знает, поделитесь мыслями.-------------------- Close the World...txeN eht nepO
|
Malice |
Сообщение
#13
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
Кстати о философии - каким требованиям должен отвечать язык, что бы на нем можно было написать программу, выводящую саму себя на экран? Делал когда-то давно и на паскале и на С и на ассемблере. Главное (имхо) уметь представить символ ковычек любым другим способом (#39 например).. |
Archon |
Сообщение
#14
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Цитата Главное (имхо) уметь представить символ ковычек любым другим способом (#39 например).. На паскале точно видел другим способом. Поищу...Добавлено: По ссылке выше есть примеры. PS Глянул решения на BF... Марьванна! Я не списывал! Чесна... Сообщение отредактировано: Archon - -------------------- Close the World...txeN eht nepO
|
Altair |
Сообщение
#15
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Цитата Главное (имхо) уметь представить символ ковычек любым другим способом (#39 например).. smile.gif Вот тебе язык: Алфавит {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","w","v","x","y","z", "0","1","2","3","4","5","6","7","8","9", "#", "(", ")", "'",":","="} Операторы block начало блока или программы endb конец блока или программы. writeln(x1,x2, ... , xn) выводит на экран аргументы x1, x2 ... до xn независимо от их типа и количества. ; разделитель операторов # оператор возвращает ASCII символ := Оператор присвоения типы данных отсутствуют (компилятор сам выбирает) Переменные могут состоять только из символов, не совпадать с зарезервированными словами (это все операторы) пример программы: Цитата block;writeln(#32;#65;#65);endb; еще пример Цитата block;var1:=#32;var2:=#45;var3:=var1;writeln(var3);endb; На таком языке составишь программу которая выведет себя? -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Archon |
Сообщение
#16
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Ой, сейчас составлю! Жди... (добавлено: ) Вероятно, до завтра... ;)
(добавлено: ) Который раз убеждаюсь, что для решения нетривиальной задачи достаточно (и, почему-то, необходимо) полчасика помедитировать перед сном ;). Код block;a:='write(#2;#12;#15;#3;#11;#43;#1;#41;#42;#40;a;#40;#43;a;#5;#14;#4;#2;#43);';write(#2;#12;#15;#3;#11;#43;#1;#41;#42;#40;a;#40;#43;a;#5;#14;#4;#2;#43);endb; Номера символов взяты из алфавита. Символ ";" ты забыл, я присвоил ему номер 43. Небольшие непонятки с разделителем внутри write'а. Если чего не так, сам исправишь.Сообщение отредактировано: Archon - -------------------- Close the World...txeN eht nepO
|
Altair |
Сообщение
#17
|
Ищущий истину Группа: Пользователи Сообщений: 4 825 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Да, все верно
В алфавит ты верно добавил ";" и разделители в writeln тоже верно понял... хех. т.к. компилятора нет, проверил на глазок... -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
SKVOZNJAK |
Сообщение
#18
|
Профи Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: 11 |
Покажешь потом код? Кстати о философии - каким требованиям должен отвечать язык, что бы на нем можно было написать программу, выводящую саму себя на экран? Или таких требований нет? Понятно, что должны быть операторы вывода например, но я имею ввиду требования к конструкциям, которые могут быть реализованы на языке... На спектрум бейсике такое работало, если не ошибаюсь List 0 Все строки в обязательном порядке пронумерованы, номера идут по порядку. Никаких процедур и функкций. только подпрограммы на Gosub имя строки и Return. Вот там то и постигаешь всю красоту и мощь оператора Goto. К сожалению сабж по GOTO++ не на русском |
Текстовая версия | 10.11.2024 16:39 |