KnigkinDom.org» » »📕 Ретро Бит. Акт 5 - Сева Сотх

Ретро Бит. Акт 5 - Сева Сотх

Книгу Ретро Бит. Акт 5 - Сева Сотх читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!

1 ... 24 25 26 27 28 29 30 31 32 ... 67
Перейти на страницу:

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
в сторону шахматного поля.

Я бы наоборот, не удержался от хотя бы примитивной визуализации доски. Мне, как игроку, сначала достались белые и для победы над компьютером моих навыков не хватило. Разгромлен, повержен, раздавлен и унижен. Поначалу я неплохо развивал свою позицию, но угодил в ловушку и комп сожрал сразу пять моих шашек. Что порадовало – очень быстрые ходы, без ожидания по полчаса. Секунд по 10-15 комп думал.

– Меня он тоже часто обыгрывает, – с легким стыдом признал Монтгомери.

Еще один матч – и я слился белыми.

– Можно, я попробую? – попросила Линда.

Тот же итог – безоговорочная победа компьютера. В целом понятно, почему. Вычислительных мощностей процессора Интел 8088 хватает, чтобы просчитывать довольно большую глубину ходов и выбирать лучшие. Все-таки шашки – это простая игра и вариативность в них совсем не та, что в шахматах. Пожалуй, для поставленных мной целей показанный результат даже излишен, но идея испытать написанный шахматным гением алгоритм мне глянулась очень интересной, а потому мы продолжили.

Вводить двум компьютерам ходы друг друга – дело нехитрое. Я занял место за клавиатурой Эппл 2, Монти – IBM, Линда у доски – передвигать фигуры, хотя это и не очень требовалось.

Первой стала заметна разница в быстродействии. Процессор у 5150 с почти в пять раз большей тактовой частотой и шестнадцатибитный. Там, где старичок Эппл 2 пыхтел над ходом минутами, IBM справлялся за десятки секунд. Надо ли уточнять, что шашечный алгоритм Монти одержал полную и разгромную победу несмотря на то, что мы даже кофе успевали выпить, пока Чекерс Кинг раздумывал над ходом в режиме максимальной сложности с глубиной в 8 полуходов. То есть четыре полноценных хода. Один раз на добрых полчаса задумался. И все равно проиграл.

– Сколько полуходов просчитывает твой алгоритм? – спросил я.

– Двенадцать, – спокойным тоном ответил Монтгомери, как будто я про температуру за окном узнавал. – Я использовал алгоритм альфа-бета отсечения, усиленный моей собственной эвристической оценкой позиции, позволяющей заранее отбросить бесперспективные варианты. Кроме того, я схитрил и жестко прописал некоторые наиболее эффективные дебюты из шашечной теории, взятой из учебника. То есть там, где позиция совпадает с хорошо известной дебютной, программе ничего считать не нужно.

Я как будто при рождении Скайнета поприсутствовал.

– Покажи мне код, – попросил я, не спеша принимать задачу. Нужно убедиться хотя бы в том, что Синклер не забыл уровни сложности сделать и играть, как тупой новичок, его алгоритм также способен.

Монти вывел на экран монитора паскалевские исходники с дискеты и… более отвратительной “лапши” я не видел, наверное, ни у одного джуна. Просто поток сознания, излитый на монитор. Возможно, гениальный поток гениального сознания. Но всего моего опыта не хватало, чтобы понять что-то большее, чем “это код на Паскале и он производит некие вычисления”. Да я не сразу разглядел даже самую тривиальную часть – место с парсингом ввода хода игрока.

Та самая “одна божественная процедура”, которая делает всё. Большой кусок чего-то непонятного и неструктурированного. И он еще утверждает, что был лучшим по информатике? Академия Бель Эйр только что с грохотом покатилась вниз в моем рейтинге учебных заведений.

“Ну что, товарищи, коллектив у нас квалифицированный, работа проделана большая, у меня лично сомнений нет – это дело так не пойдёт!”

Глава 12

– Глядя на этот код, мне хочется вызвать копов, чтобы они отправили тебя за решетку за психологическое насилие над коллегами, – объявил я. – Спагетти, конечно, угодны Макаронному Монстру, но у тебя с ними перебор.

– Спагетти? Конкретику, пожалуйста, – не стушевался Монтгомери, – я адекватно воспринимаю критику. Наоборот, мне ее очень не хватает. Нанятые преподаватели, шахматные тренеры и школьные учителя все время меня хвалили и складывалось ощущение, что не всегда заслуженно. Льстили, лишь бы не терять заработок.

– Давай я расскажу основные принципы, которых придерживаюсь, а ты уже сам сделаешь выводы, что в твоей программе не так.

Как бы ни хотелось разнести его писанину в пух и прах – это не наш метод. Парня надо подтолкнуть не бросать программирование и развиваться в правильную сторону, а не самоутверждаться за его счет.

– Самое важное, что ты не учел, а преподаватели, скорее всего, не рассказывали, в том, что мы пишем код не только для компьютера, который будет его исполнять, но и для людей. Самого себя и других разработчиков – всех, кому предстоит читать и дорабатывать программу. Всегда пиши код так, будто поддерживать его будет склонный к насилию психопат, который знает, где ты живешь. Я не про себя, если что!

Линда не удержалась от тихого смешка. Да и Синклер понял, что угроза шуточная и широко улыбнулся.

– Пойдем сварим еще кофе, тут напрашивается целая лекция.

И я ее прочитал – про большую часть принципов организации кода, известных мне из опыта будущего. Пару раз пришлось себя одергивать, так как многое, те же SOLID, шло в контексте, неприменимом ни к голому процедурному необъектному Паскалю, ни к Си без плюсов. “Никакого ООП, никаких тебе классов”!

Но все одно рассказал самые базовые вещи вроде понятных имен переменных: это железяке-то все равно, а вот живому кодеру не нужно гадать, что значит какая-нибудь одинокая буква. Упомянул про избавление от “магических чисел” в пользу нормальных констант. Про чистые функции, которые всегда возвращают один и тот же результат при одинаковых аргументах. Про компактный код, не вылезающий за пределы одного экрана. О правильных комментариях, объясняющих, “почему” так написано, а не работающих капитаном Очевидность в духе “это счетчик цикла”.

Вместе с Синклером меня с не меньшим интересом слушала Линда. Старался именно для нее говорить и смотреть ей в глаза. Девушка всегда моими рассказами интересуется, вероятно, из-за влюбленности. А к окончанию не такого и короткого выступления обнаружил, что добавился еще один зритель – мисс Селеста Скай, незаметно проскользнувшая сначала в дом, затем в комнату.

– Браво! Браво, мистер Коламбус! – эмоционально захлопала она в ладоши. – Я совершенно ничего не поняла, но ваш пассаж про “компьютеру нужна математика, а человеку – читаемый текст” – горячо поддерживаю. Не надо делать людей пластиковыми!

Линде тут же достался от нее поцелуй в щечку, а Монти полноценный, в губы, от которого у юноши наверняка выветрилась из головы половина моей импровизированной лекции. Хорошо, что он дисциплинированно

1 ... 24 25 26 27 28 29 30 31 32 ... 67
Перейти на страницу:
Отзывы - 0

Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор knigkindom.ru.


Партнер

Новые отзывы

  1. Magda Magda18 июнь 00:44 Прелестно! Иронично, занимательно, очень смешно! ... Развод по-драконьи - Ольга Олеговна Пашнина
  2. Гость Любовь Гость Любовь17 июнь 11:07 Прочитала залпом,интересный сюжет, захватывает с первых фраз.Чтение произведения доставило мне огромное удовольствие... (Не)нужная жена дракона на вес золота - Татьяна Бэк
  3. Гость Ольга Гость Ольга16 июнь 22:43 Легкий детектив Натальи Андреевой. Знакомый герой. Домбай!... Пин-код на приворот - Наталья Вячеславовна Андреева
Все комметарии
Новое в блоге