The greatest program ever written english

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

I’m a programmer. I write games. Games programmers get a lot of respect, but none of them, not me, not Carmak, and not Abrash. None of them deserve the honour which I want to bestow on David Horne. This is because David Horne wrote the greatest program ever written: 1k chess on the ZX81.

Я программист. Я пишу игры. Программисты игр заслуживают уважения, но ни один из них, не я, не Carmak и не Abrash. Никто из них не заслуживает такой чести, которую я хочу даровать Дэвид Хорн. Потому что Дэвид Хорн написал самую величайшую программу из когда-либо написанных: шахматы размером 1 килобайт на ZX81.

David Horne is not an urban myth. David Horne achieved what many would even now consider impossible. He wrote a chess game, with AI, that ran on a poorly documented, buggy machine that contained only 1k of memory.

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

The Sinclar ZX81.

Мы говорим о Sinclar ZX81.

Think about that amount of memory for a moment. 1 kilobyte. 1024 bytes. Can you write down the rules of chess in less than one thousand characters? That’s a tricky task in itself. Fire up you favourite compiler, and build a minimal application. I’m guessing that its more than 1k in size, and it doesn’t do anything yet.

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

But wait a second. 1k was the capacity of the machine. How much was actually available? The answer, as you will find if you follow the link at the end of the article, is a meagre six hundred and seventy two bytes! This article takes up more space than that.

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

And it had AI. Not very tough AI mind you, but AI none the less. So not only could is display the board, verify the you’re moves according to the rules, and detect a win or a draw, but it could select moves for itself and play them.

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

All this and more. He not only conceived and executed the idea that a game of chess could be packed into so few bytes, but he published the source code, along with a detailed explanation of how it was done in the February 1983 issue of `Your Computer’ magazine. This article is essential reading, a trip down memory lane for those of us old enough to remember those furious, exciting 8 bit days, when the limitations defined the experience of programming, and an important piece of history for those brave young hackers who take for granted the luxuries of life, like compilers, swap space, and keyboards that click.

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

So, David Horne, if your out there - this is for you.

Итак, Дэвид Хорн, эта статья посвящается вам.

Тексты были взяты из открытых источников и соединены в формате "билингва" (bilingual book). Для каждой страницы указан источник, автор и переводчик. Если вы заметили неточность перевода, или неправильно сопоставленные абзацы, или текст оформлен неаккуратно - сообщите в комментариях.


Для добавления комментариев необходимо авторизоваться