Чистота кода. Программирование – философия и практика. Владимир Хохлов. Читать онлайн. Newlib. NEWLIB.NET

Автор: Владимир Хохлов
Издательство: Издательские решения
Серия:
Жанр произведения:
Год издания: 0
isbn: 9785006253339
Скачать книгу
p>

      Часть 1

      ПРЕДИСЛОВИЕ

      Для кого эта книга? Для людей. Больше – для начинающих путь в программисты. И для опытных узких спецов, чтобы обозреть окрестности своей специальности.

      Но и – для машин. Ведь машины уже активно интересуются людьми… Поисковые роботы зачастую начинают жить за пределами заложенного в них алгоритма и узнают о предпочтениях пользователя очень много. И начинают вести его по жизни – предлагать то – чего он сам желал, но не смог ещё сформулировать вопрос. Ведь популярный вопрос 60-х годов 20-го века: «Может ли машина мыслить?», уже отпал. Да. Может…

      Хочется надеяться – что эта книжка будет полезна и людям и машинам. Чтобы выстроить свои знания в систему, набрести на новые свои мысли. Усилить свой образ… Ведь образование и даёт возможность создавать, впитывая новые знания и генерируя новые свои идеи, когда большая часть знаний, полученных прежде, уже забыта.

      ВВЕДЕНИЕ

      Профессор Трахтенброт в Новосибирском госуниверситете в начале семидесятых годов 20го века на семинаре, который он поименовал просто: «Искусственный интеллект», регулярно произносил фразу: «Мы занимаемся компьютерсайнс». Употребляя именно этот глагол – «занимаемся». Не «изучаем» или «рассматриваем». Хотя можно было сказать и – «конструируем». Доклады слушатели семинара часто готовили на предложенную Борисом Авраамовичем тему, довольно экзотические. Типа «Многомерная модель шагающего робота». Мне как-то досталась тема «Двухмерный автомат Неймана». Подготовил. Это было в начале 70-х, эпоха интернета и поисковых роботов только забрезжила.

      Ещё хорошо помнили про машину Тьюринга и чем от неё отличается автомат Неймана. На семинаре профессора Алексея Андреевича Ляпунова «Биологическая кибернетика» мы рассматривали аспекты связей в живом: от движения воздуха в ольвеолах лёгких и взаимодействия популяций в модели «хищник – жертва» до моделей био-гео-ценозов больших природных водоёмов. Планировали экспедиции на озера и Иссык-куль и на озеро Байкал. В перспективе – была идея построить модели био-гео-ценоза Тихого океана. Но не случилось. Ушёл Алексей Андреевич из жизни.

      А вычислительные машины были ещё довольно медленные, но очень крупные по размерам. В университете стояла ЭВМ БЭСМ-4. Ввод – с перфоленты. Исправить один ошибочный символ – надо перфорировать весь рулон. Программировали – на языке АЛГОЛ. Вполне симпатичном, кстати. Мы были в середине пути – от первых электронных вычислительных машин 40-х – 50-х годов и ещё помнили истоки программирования. Легко было много знать. Информации по теме было гораздо меньше.

      Постепенно произошла сегрегация в компьютерных делах. Системные программисты, обеспечивающие программную часть ЭВМ для связи процессора с устройствами ввода и вывода информации. И программисты – пользователи, которых «системщики» стали считать тоже устройствами ввода, для которых коды языка программирования надо перевести в коды для ЭВМ. Как-то в середине восьмидесятых напросился я у начальника на курс. Назывался он «Системное сопровождение системы виртуальных машин ЕС ЭВМ». По правде сказать, не столько меня интересовал курс. Хотелось пять недель пожить в Тбилиси, городе, где до той поры не бывал. ЕС ЭВМ – единая система машин – была аналогом IBM-360-370. На ранних ЭВМ серии приходилось, получив с полчаса машинного времени, приходить в машинный зал (надев белый халат) и работать через главный пульт – «лицо» ЭВМ размером примерно метр на метр с многочисленными лампочками, кнопками, клавишами и тумблерами. А потом воявилась операционная система позволившая разделять время процессора и память между несколькими программистами. Виртуально. Они даже не знали и не задумывались – сколько их одновременно работает с ЭВМ. Мониторы стали ставить удалённо. Только надо было заказать свою магнитную ленту с данными и магнитный пакет дисков с программой. Мы уже работали с этой системой виртуальных машин и мне казалось, что я легко освою этот курс. И совмещу приятное с полезным.

      Но в первую неделю занятий я осознал, что я – пользователь, может быть чуть продвинутый, имевший практику программирования на языках Алгол и Фортран, писавший программы на языке низкого уровня – Ассемблере ЕС ЭВМ, где часть оператора была схожа с машинной командой, но имевшего мнемонику из одной-трёх латинских букв, которая обозначала название команды, а среди курсантов попались асы системного программирования. При этом из 25-ти курсантов – 20 были девушки. Дамы 25-30-ти лет. Среди представителей других профессий – от домохозяек до пилотов авиации образ программиста сложился под влиянием кино, как непричёсанный молодой парень в толстовке и домашних тапочках на босу ногу. Наши дамы на курсе выглядели вполне нарядно и даже изысканно, что заставляло местных водителей проскочив мимо остановки на четвёртом километре военно-грузинской дороги, сдавать назад и приглашать подвезти. Совершенно бескорыстно. Однако большинство из них курили и утро встречали на веранде у наших скромных номеров турбазы с большой кружкой кофе и сигаретой. Но когда они заговаривали между собой, многих слов в их разговоре я не знал. Терминология