Величайшая программа из когда-либо написанных

Страницы: 1 2  ОТВЕТИТЬ НОВАЯ ТЕМА
Штирлиц 18 ноя. 2016 г. в 15:29
сетевой разведчик  •  На сайте 18 лет
Сообщений: 23 532
66
Как вы думаете, какую из существующих программ можно назвать самой великой? Можете ли вы сказать про одну из своих программ, что она круче всех остальных? Есть мнение и, прямо скажем, далеко не безосновательное, что такую программу написал Дэвид Хорн в 1983 году: шахматы в один килобайт для ZX81.

Дэвид Хорн — это не какая-нибудь байка. Он достиг того, что многие из нас вообще сочли бы невозможным. Он написал шахматы с искусственным интеллектом (!) для плохо документированной и полной багов машины, содержащей всего один килобайт памяти. Мы говорим о Sinclar ZX81.

Задумайтесь на секунду об этом количестве памяти. Один килобайт. 1024 байта. Вы могли бы хотя бы записать правила шахмат менее, чем за тысячу символов? Это сама по себе нетривиальная задача. Запустите свой любимый компилятор и соберите минимальное приложение, которое только возможно. Скорее всего оно уже будет занимать больше одного килобайта, хотя не делает вообще ничего полезного.

Так, подождите-ка. Один килобайт — это же общий объём памяти. Сколько из этого было доступно программисту? Ответ есть по ссылке в конце статьи, пользоваться можно было всего 672 байтами! Даже эта короткая статья занимает больше.

И в этих шахматах был ИИ. Не то чтобы это был очень умный ИИ, но тем не менее он был. То есть программа могла не только показывать доску, проверять правильность ходов, определять победителя (или ничью), но еще и выбирать ходы для себя и разыгрывать их.

Было еще кое-что. Дэвид не только продумал и реализовал идею шахмат в столь малом объеме памяти. Он еще опубликовал их полный исходный код с подробным объяснением того, как именно всё было сделано, в феврале 1983 года в журнале «Your Computer». Эта статья прямо таки погружает нас в захватывающую 8-битную атмосферу тех времён, когда существенные ограничения заставляли программистов писать по настоящему компактный и эффективный код.

Программа: http://users.ox.ac.uk/~uzdm0006/scans/1kchess/
Источник: http://thad.frogley.info/archive/the_greatest_program.html

Величайшая программа из когда-либо написанных
Yap 19.04.2026 - 05:16
Продам слона  •  На сайте 21 год
Все комментарии:
Pomeranec 18 ноя. 2016 г. в 15:33
Гость  •  На сайте 10 лет
8
Вполне нормально для того времени. Многие так работали, сам на СМ-4 делил 16К на четверых. Все работали, никто никому не мешал.

Это сообщение отредактировал Pomeranec - 18 ноя. 2016 г. в 15:37
DenJohn 18 ноя. 2016 г. в 15:33
Ярила  •  На сайте 10 лет
3
Ну не совсем ИИ, наверное ..
ntime 18 ноя. 2016 г. в 15:34
Юморист  •  На сайте 12 лет
33
Раньше было Искусство Программирования, а сейчас оно превратилось в склеивание шаблонов.
Ravenz3k 18 ноя. 2016 г. в 15:36
Пацак с планеты Земля  •  На сайте 12 лет
3
Цитата (DenJohn @ 18.11.2016 - 15:33)
Ну не совсем ИИ, наверное ..

Скорее даже совсем не ИИ.
Там наверняка было что-то вроде случайно выбранного хода.

З.Ы. Да и играть в эти шахматы очень неудобно. Как я монимаю, в командной строке игрок пишет куда должна пойти фигура типа "E2-E4", а в ответ получаешь ход "противника". Для такой игры нужна реальная доска с шахматами, чтобы эти ходы на ней отражать.

Короче говоря, ничего выдающегося в этой программе нет. На Ассемблере еще и не такое писали.
И да, если что, я программист (и не веб-программист) cool.gif

Это сообщение отредактировал Ravenz3k - 18 ноя. 2016 г. в 15:44
Pomeranec 18 ноя. 2016 г. в 15:45
Гость  •  На сайте 10 лет
1
Цитата (Ravenz3k @ 18.11.2016 - 15:36)
Цитата (DenJohn @ 18.11.2016 - 15:33)
Ну не совсем ИИ, наверное ..

Скорее даже совсем не ИИ.
Там наверняка было что-то вроде случайно выбранного хода.

Или хождения по Бинарным деревьям.
Ravenz3k 18 ноя. 2016 г. в 15:45
Пацак с планеты Земля  •  На сайте 12 лет
6
Цитата (ntime @ 18.11.2016 - 15:34)
Раньше было Искусство Программирования, а сейчас оно превратилось в склеивание шаблонов.

А все потому, что сейчас памяти хоть жопой жуй и кругом сплошной говнокодинг.
Down 18 ноя. 2016 г. в 15:50
Хорошо. Не было бы лучше.  •  На сайте 14 лет
19
люди, писавшие для спектрума, меня вообще поражали
уложить в 64 Кб (из которых 16 Кб уже занято) гениальнейшую игру "Элита"
со своим миром
с кучей галактик
с еще большей кучей планет
с кораблями пиратов
с кораблями полиции
со своими
и нескольких моделей
с бортовым оборудованием

эхх, да что там говорить
Nevius 18 ноя. 2016 г. в 15:50
Ярила  •  На сайте 18 лет
7
Цитата (ntime @ 18.11.2016 - 14:34)
Раньше было Искусство Программирования, а сейчас оно превратилось в склеивание шаблонов.

оно то и сейчас еще осталось, просто не массово. Те же демо-64к весьма впечатляют

ЛысыйЕж 18 ноя. 2016 г. в 15:57
Юморист  •  На сайте 14 лет
2
Сейчас все затачивается с кучей абстракций, чтобы работало на различных платформах, операционках или вообще через браузер.
platonmsk 18 ноя. 2016 г. в 15:58
Абонент временно недоступен  •  На сайте 11 лет
1
Ravenz3k, тем не менее, согласно описанию программы, она держит в памяти таблицу осуществлённых и возможных ходов и имеет оценочную функцию по силе атаки возможных в данный момент ходов.
Не всё так просто.
idubasov 18 ноя. 2016 г. в 16:08
Шутник  •  На сайте 12 лет
5
Бля, я оказывается до сих пор могу свободно прочитать листинг на ассемблере Z80 blink.gif alik.gif

Это сообщение отредактировал idubasov - 18 ноя. 2016 г. в 16:13
SophistOmen 18 ноя. 2016 г. в 16:10
Балагур  •  На сайте 11 лет
0
Оскар Толедо.
JS
Один килобайт.
Пруф: https://habrahabr.ru/post/103677/
makmus 18 ноя. 2016 г. в 16:16
Шаман с бубном  •  На сайте 13 лет
6
Зато бля щас игрухи разрабатывают под последнее железо и с графикой из 2004 года, которые тормозят систему со страшной силой, Карл!!!!!
McT969 18 ноя. 2016 г. в 16:17
циничный клоун  •  На сайте 12 лет
1
1982 в Синклере уже 16к оперативки было, а про эту прогу да, читал в свое время
DensMan 18 ноя. 2016 г. в 16:22
Ярила  •  На сайте 16 лет
2
Цитата (Down @ 18.11.2016 - 19:50)
люди, писавшие для спектрума, меня вообще поражали
уложить в 64 Кб (из которых 16 Кб уже занято) гениальнейшую игру "Элита"
со своим миром
с кучей галактик
с еще большей кучей планет
с кораблями пиратов
с кораблями полиции
со своими
и нескольких моделей
с бортовым оборудованием

эхх, да что там говорить

И играть в эту игру было интереснее чем в современные)))
Ravenz3k 18 ноя. 2016 г. в 16:31
Пацак с планеты Земля  •  На сайте 12 лет
-5
Никакой сенсации здесь нет. Объясню, почему:

В 1 килобайт уместилась ГОТОВАЯ программа, а не ее текст.
Что значит готовая? Это исполняемый файл (как сейчас exe-файлы) и он состоит из машинного кода. И именно он занимал менее 1 килобайта.

А сам текст программы занимает гораздо больше. Только одна часть кода, которую распознал автор статьи по ссылке, занимает около 8000 символов. Вот на него ссылка.
MG4 18 ноя. 2016 г. в 16:46
Балагур  •  На сайте 12 лет
2
Для любителей миниатюр))) 96 КБ
http://www.playground.ru/files/igra_krieger-64684/
В своё время очень поразила. Тут много сжатия+DiretX

Величайшая программа из когда-либо написанных

Это сообщение отредактировал MG4 - 18 ноя. 2016 г. в 16:47
Nevius 18 ноя. 2016 г. в 18:08
Ярила  •  На сайте 18 лет
2
Цитата (Ravenz3k @ 18.11.2016 - 15:31)
Никакой сенсации здесь нет. Объясню, почему:

В 1 килобайт уместилась ГОТОВАЯ программа, а не ее текст.
Что значит готовая? Это исполняемый файл (как сейчас exe-файлы) и он состоит из машинного кода. И именно он занимал менее 1 килобайта.

А сам текст программы занимает гораздо больше. Только одна часть кода, которую распознал автор статьи по ссылке, занимает около 8000 символов. Вот на него ссылка.

вроде как всё верно, но опять же:

- виндовый ftp клиент, который не имеет графического интерфейса и использует чуть более чем дохера функций самой операционной системы весит 47 килобайт

- виндовый калькулятор, имеет графический интерфейс, который рисует операционка (он лишь просит её нарисовать окно в координатах) весит почти мегабайт!!! при этом он еще и использует функции из библиотек типа msvcrt.dll (т.е. без них никак не работает) gigi.gif

- skype.exe (27 мегабайт!!!), а со всеми библиотечками - 82 сцука мегабайта!!! moderator.gif

чего там можно было накодить на 27 мегабайт???
raspizday 18 ноя. 2016 г. в 18:13
Шутник  •  На сайте 9 лет
0
Цитата (MG4 @ 18.11.2016 - 18:46)
Для любителей миниатюр))) 96 КБ
http://www.playground.ru/files/igra_krieger-64684/
В своё время очень поразила. Тут много сжатия+DiretX

эхх коротка игруля
давненько я в неё не игал sm_biggrin.gif
Crowner 18 ноя. 2016 г. в 18:20
Путешественник  •  На сайте 17 лет
2
Там не 1000 символов. Он писал же на ассемблере. Я под спектрум когда кодил на асме, тоже делал некоторые вещи меньше кб размером. Ну не шахматы конечно, но таки, на асме реально программы занимают мало места в ОЗУ.
Насчет символов Штирлиц конечно загнал.
XOR A занимает 5 символов, а в ОЗУ это ОДИН байт. Мнемоники Z-80 занимали от одного до 4 байт насколько я помню.

Это сообщение отредактировал Crowner - 18 ноя. 2016 г. в 18:21
billgilbert 18 ноя. 2016 г. в 20:22
Хохмач  •  На сайте 12 лет
1
Цитата (Pomeranec @ 18.11.2016 - 15:33)
Вполне нормально для того времени. Многие так работали, сам на СМ-4 делил 16К на четверых. Все работали, никто никому не мешал.

Пардон, 16 Кб на четверых, это не 1 Кб все-таки...


Раньше я ох..вал от игры Prehistorik - объем чуть более 1 Мб, куча разных уровней, цветастая отличная игруха, написана на Ассемблере (отсюда скорость и маленький объем), но тут просто п...ц.

Автор, спасибо!
Хариус 18 ноя. 2016 г. в 22:33
Механический динозавр  •  На сайте 13 лет
2
Цитата (Down @ 18.11.2016 - 15:50)
люди, писавшие для спектрума, меня вообще поражали
уложить в 64 Кб (из которых 16 Кб уже занято) гениальнейшую игру "Элита"
со своим миром
с кучей галактик
с еще большей кучей планет
с кораблями пиратов
с кораблями полиции
со своими
и нескольких моделей
с бортовым оборудованием

эхх, да что там говорить

И с реальным трехмерным пространством, биомать! Хуй с ней, "проволочной" графикой, вы вспомните, как без причального автомата в станцию попадали!
ЛешкинКот 18 ноя. 2016 г. в 22:43
Юморист  •  На сайте 11 лет
2
Меня в свое время очень впечатлила операционная система QNX
На дискете полтора мегабайта полноценная система с интерфейсом похожим на Windows 95, браузером, неплохим текстовым редактором и еще какими-то приложениями
filrussia 18 ноя. 2016 г. в 23:22
рождённый в СССР  •  На сайте 11 лет
0
Цитата (Down @ 18.11.2016 - 16:50)
люди, писавшие для спектрума, меня вообще поражали
уложить в 64 Кб (из которых 16 Кб уже занято) гениальнейшую игру "Элита"
со своим миром
с кучей галактик
с еще большей кучей планет
с кораблями пиратов
с кораблями полиции
со своими
и нескольких моделей
с бортовым оборудованием

эхх, да что там говорить

Элита рулит!!!! А еще был марс: простая демка которая демонстрировала поездку по марсу. Код занимал несколько (не помню точно) байтов. Для меня это был самый шик. Хотя и сам писал разные программы на ассемблере.
Понравился пост? Ещё больше интересного в ЯП-Телеграм и ЯП-Max!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 6 683
0 Пользователей:
Страницы: 1 2  ОТВЕТИТЬ НОВАЯ ТЕМА

 
 

Активные темы



Наверх