Ретро Бит. Акт 5 - Сева Сотх
Книгу Ретро Бит. Акт 5 - Сева Сотх читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!
Шрифт:
Интервал:
Закладка:
Я бы наоборот, не удержался от хотя бы примитивной визуализации доски. Мне, как игроку, сначала достались белые и для победы над компьютером моих навыков не хватило. Разгромлен, повержен, раздавлен и унижен. Поначалу я неплохо развивал свою позицию, но угодил в ловушку и комп сожрал сразу пять моих шашек. Что порадовало – очень быстрые ходы, без ожидания по полчаса. Секунд по 10-15 комп думал.
– Меня он тоже часто обыгрывает, – с легким стыдом признал Монтгомери.
Еще один матч – и я слился белыми.
– Можно, я попробую? – попросила Линда.
Тот же итог – безоговорочная победа компьютера. В целом понятно, почему. Вычислительных мощностей процессора Интел 8088 хватает, чтобы просчитывать довольно большую глубину ходов и выбирать лучшие. Все-таки шашки – это простая игра и вариативность в них совсем не та, что в шахматах. Пожалуй, для поставленных мной целей показанный результат даже излишен, но идея испытать написанный шахматным гением алгоритм мне глянулась очень интересной, а потому мы продолжили.
Вводить двум компьютерам ходы друг друга – дело нехитрое. Я занял место за клавиатурой Эппл 2, Монти – IBM, Линда у доски – передвигать фигуры, хотя это и не очень требовалось.
Первой стала заметна разница в быстродействии. Процессор у 5150 с почти в пять раз большей тактовой частотой и шестнадцатибитный. Там, где старичок Эппл 2 пыхтел над ходом минутами, IBM справлялся за десятки секунд. Надо ли уточнять, что шашечный алгоритм Монти одержал полную и разгромную победу несмотря на то, что мы даже кофе успевали выпить, пока Чекерс Кинг раздумывал над ходом в режиме максимальной сложности с глубиной в 8 полуходов. То есть четыре полноценных хода. Один раз на добрых полчаса задумался. И все равно проиграл.
– Сколько полуходов просчитывает твой алгоритм? – спросил я.
– Двенадцать, – спокойным тоном ответил Монтгомери, как будто я про температуру за окном узнавал. – Я использовал алгоритм альфа-бета отсечения, усиленный моей собственной эвристической оценкой позиции, позволяющей заранее отбросить бесперспективные варианты. Кроме того, я схитрил и жестко прописал некоторые наиболее эффективные дебюты из шашечной теории, взятой из учебника. То есть там, где позиция совпадает с хорошо известной дебютной, программе ничего считать не нужно.
Я как будто при рождении Скайнета поприсутствовал.
– Покажи мне код, – попросил я, не спеша принимать задачу. Нужно убедиться хотя бы в том, что Синклер не забыл уровни сложности сделать и играть, как тупой новичок, его алгоритм также способен.
Монти вывел на экран монитора паскалевские исходники с дискеты и… более отвратительной “лапши” я не видел, наверное, ни у одного джуна. Просто поток сознания, излитый на монитор. Возможно, гениальный поток гениального сознания. Но всего моего опыта не хватало, чтобы понять что-то большее, чем “это код на Паскале и он производит некие вычисления”. Да я не сразу разглядел даже самую тривиальную часть – место с парсингом ввода хода игрока.
Та самая “одна божественная процедура”, которая делает всё. Большой кусок чего-то непонятного и неструктурированного. И он еще утверждает, что был лучшим по информатике? Академия Бель Эйр только что с грохотом покатилась вниз в моем рейтинге учебных заведений.
“Ну что, товарищи, коллектив у нас квалифицированный, работа проделана большая, у меня лично сомнений нет – это дело так не пойдёт!”
Глава 12
– Глядя на этот код, мне хочется вызвать копов, чтобы они отправили тебя за решетку за психологическое насилие над коллегами, – объявил я. – Спагетти, конечно, угодны Макаронному Монстру, но у тебя с ними перебор.
– Спагетти? Конкретику, пожалуйста, – не стушевался Монтгомери, – я адекватно воспринимаю критику. Наоборот, мне ее очень не хватает. Нанятые преподаватели, шахматные тренеры и школьные учителя все время меня хвалили и складывалось ощущение, что не всегда заслуженно. Льстили, лишь бы не терять заработок.
– Давай я расскажу основные принципы, которых придерживаюсь, а ты уже сам сделаешь выводы, что в твоей программе не так.
Как бы ни хотелось разнести его писанину в пух и прах – это не наш метод. Парня надо подтолкнуть не бросать программирование и развиваться в правильную сторону, а не самоутверждаться за его счет.
– Самое важное, что ты не учел, а преподаватели, скорее всего, не рассказывали, в том, что мы пишем код не только для компьютера, который будет его исполнять, но и для людей. Самого себя и других разработчиков – всех, кому предстоит читать и дорабатывать программу. Всегда пиши код так, будто поддерживать его будет склонный к насилию психопат, который знает, где ты живешь. Я не про себя, если что!
Линда не удержалась от тихого смешка. Да и Синклер понял, что угроза шуточная и широко улыбнулся.
– Пойдем сварим еще кофе, тут напрашивается целая лекция.
И я ее прочитал – про большую часть принципов организации кода, известных мне из опыта будущего. Пару раз пришлось себя одергивать, так как многое, те же SOLID, шло в контексте, неприменимом ни к голому процедурному необъектному Паскалю, ни к Си без плюсов. “Никакого ООП, никаких тебе классов”!
Но все одно рассказал самые базовые вещи вроде понятных имен переменных: это железяке-то все равно, а вот живому кодеру не нужно гадать, что значит какая-нибудь одинокая буква. Упомянул про избавление от “магических чисел” в пользу нормальных констант. Про чистые функции, которые всегда возвращают один и тот же результат при одинаковых аргументах. Про компактный код, не вылезающий за пределы одного экрана. О правильных комментариях, объясняющих, “почему” так написано, а не работающих капитаном Очевидность в духе “это счетчик цикла”.
Вместе с Синклером меня с не меньшим интересом слушала Линда. Старался именно для нее говорить и смотреть ей в глаза. Девушка всегда моими рассказами интересуется, вероятно, из-за влюбленности. А к окончанию не такого и короткого выступления обнаружил, что добавился еще один зритель – мисс Селеста Скай, незаметно проскользнувшая сначала в дом, затем в комнату.
– Браво! Браво, мистер Коламбус! – эмоционально захлопала она в ладоши. – Я совершенно ничего не поняла, но ваш пассаж про “компьютеру нужна математика, а человеку – читаемый текст” – горячо поддерживаю. Не надо делать людей пластиковыми!
Линде тут же достался от нее поцелуй в щечку, а Монти полноценный, в губы, от которого у юноши наверняка выветрилась из головы половина моей импровизированной лекции. Хорошо, что он дисциплинированно
Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.
Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.
- 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
- 2. Просьба отказаться от оскорблений, угроз и запугиваний.
- 3. Просьба отказаться от нецензурной лексики.
- 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.
Надеемся на Ваше понимание и благоразумие. С уважением, администратор knigkindom.ru.
Оставить комментарий
-
Magda18 июнь 00:44
Прелестно! Иронично, занимательно, очень смешно! ...
Развод по-драконьи - Ольга Олеговна Пашнина
-
Гость Любовь17 июнь 11:07
Прочитала залпом,интересный сюжет, захватывает с первых фраз.Чтение произведения доставило мне огромное удовольствие...
(Не)нужная жена дракона на вес золота - Татьяна Бэк
-
Гость Ольга16 июнь 22:43
Легкий детектив Натальи Андреевой. Знакомый герой. Домбай!...
Пин-код на приворот - Наталья Вячеславовна Андреева
