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

Шрифт
Фон

Чистота кода

Программирование философия и практика


Владимир Хохлов

© Владимир Хохлов, 2024


ISBN 978-5-0062-5333-9

Создано в интеллектуальной издательской системе Ridero

ЧИСТОТА КОДА

ФИЛОСОФИЯ И ПРАКТИКА ПРОГРАММИРОВАНИЯ


Часть 1

ПРЕДИСЛОВИЕ

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


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


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

ВВЕДЕНИЕ

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


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


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


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


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

ИСТОРИЯ ПРОГРАММИРОВАНИЯ ДЛЯ ЭЛЕКТРОННЫХ ВЫЧИСЛИТЕЛЬНЫХ МАШИН

Уважаемый читатель, прежде, чем нам с вами беседовать, надо договориться по терминологии. Если Вам скучно это читать, поскольку  «и так всё знаю»  можно перейти к чтению первой главы. Но я однажды не сдал зачёт, когда профессор  преподаватель матанализа сказал: «Вы используете в доказательстве теоремы некий «эпсилон». Вы должны были в самом начале оговорить его  «зададимся произвольным «эпсилоном» больше нуля».


Сначала  про слова. Как сказано не мной: «Придумай имя и познаешь суть».


Слово «программа» происходит от греческого πρόγραμμα и означало действительно то, что и теперь продают в театрах перед балетом или оперой  программу представления в театре. В русский язык слово попало из французского programme. Потом слово пошло в народ и стало применяться кругом  от программы скачек и телепередач до программы Партии. Для вычислительных устройств это слово не применялось, пока были абаки-счёты-арифмометры. Но когда появились счетные машины, стали строить алгоритмы действий и стали называть их «ПРОГРАММОЙ».


Вот об этих программах и пойдёт речь.


Тут стоит немного остановиться и на слове «компьютерные». Само слово «КОМПЬЮТЕР», пошло от латинского computare (считать, вычислять). При этом «компьютер»  означало человека, как ещё недавно в широко распространённой профессии  счетовод. В книге «Золотой телёнок» миллионер Корейко служил счетоводом. В разных странах оно имело местные синонимы  определения. В Советском Союзе в 60-е  80-е годы в ходу была аббревиатура ЭВМ  электронная вычислительная машина. Слово «компьютер» прижилось в СССР только когда появились «ПиСи»  персональные компьютеры. Архитектура вычислительных машин была разной. Но процессор до сей поры в большинстве компьютеров основан на принципе автомата Неймана.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке

Скачать книгу

Если нет возможности читать онлайн, скачайте книгу файлом для электронной книжки и читайте офлайн.

fb2.zip txt txt.zip rtf.zip a4.pdf a6.pdf mobi.prc epub ios.epub fb3