• Мнения
  • |
  • Обсуждения
Игорь Вадимов Грандмастер

Что такое хорошая программа? Эпоха технологий

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

Фото: Depositphotos

Изменились и пользователи: большая их часть не работает на компе, а чатится, или смотрит кино, или читает книгу.

В любой конторе на столе у каждого специалиста стоит компьютер, причем все эти компьютеры через разного рода устройства, как бы они ни назывались (хабы, свичи, роутеры или как-то еще), соединяются в локальные сети и через серверы имеют выход в Глобальную сеть. Все это великолепие управляется программами. Их теперь надо не просто «больше», а намного больше — в сотни и тысячи раз больше. В их производстве теперь заняты многие сотни тысяч людей по всему миру.

Видоизменилось и программирование. Работу с заказчиком, выбивание у него информации, что надо сделать, и оформление узнанного в алгоритмы и блоки взяли на себя постановщики задач.

Программирование разделилось на несколько профессий.

Что такое хорошая программа? Эпоха технологий
Фото: Depositphotos

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

Кодеры сидят на своих местах, делают свою работу, а по ее выполнении дают сигнал готовности.

Рядом трудятся скромные администраторы проекта. Они — через программу контроля версий — отслеживают ход работ и по отмашке «данный кусок готов» вливают сделанное в общую ветвь мастера программы.

Тут в работу включаются тестеры. По заранее приготовленным алгоритмам они гоняют программу, выявляя ошибки. Об ошибках сообщают и программистам, и кодерам, после чего в ПО вносятся исправления. И так — пока ошибки не кончатся.

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

На место красоты исполнения пришла целесообразность. Не надо думать об экономии памяти, не надо думать о длине счетчика, об этом думает ОС.

Что такое хорошая программа? Эпоха технологий
Фото: Depositphotos

Изменились и задачи программирования. Ранее это были почти только одни огромные численные расчеты с последующей распечаткой результата, а кроме этого — еще немного программ для администрирования работы ЭВМ.

В современности системное ПО — огромный сектор работы программистов. Программы, из которых состоят операционные системы, и программы, которые работают в фоновом режиме под управлением операционных систем — многочисленны и сложны.

Огромный сектор программирования — это базы данных. Базы позволяют хранить огромные объемы информации, а сетевой доступ позволяет получать данные из этих баз в любой точке земного шара — была бы там розетка для подсоединения к серверу Сети.

Из баз данных логически вытекла и оформилась электронная бухгалтерия, ярким примером коей в России служит «1С». Бухгалтера давно не корпят над арифметическими расчетами, это делает компьютер, на их долю осталось только стратегическое управление и отслеживание — насколько бухгалтерская программа соответствует последним требованиям законов.

Компьютерные игры — отдельный огромный сектор программирования с сотнями тысяч участников.

Что такое хорошая программа? Эпоха технологий
Фото: по лицензии pixabay.com

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

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

Что такое хорошая программа? Эпоха технологий
Фото: Depositphotos

Но в технологии программирования программист перестал быть творцом и стал работником, задача которого или написать код так, чтобы он соответствовал стандартам, был максимально закомментирован, чтобы следующие поколения программистов могли его легко исправить — когда среда, в которой работает программа, изменится настолько, что программа потеряет работоспособность, или когда надо будет модифицировать программу в связи с пожеланиями пользователя.

Статья опубликована в выпуске 6.11.2016
Обновлено 14.05.2023

Комментарии (3):

Чтобы оставить комментарий зарегистрируйтесь или войдите на сайт

Войти через социальные сети:

  • От меня вопрос всем продвинутым программистам. Почему до сих пор не разработана программа согласования темпа производства товаров, продуктов с показателями их реализации, продаж? Что бы не было гектаров непроданных новых автомобилей етс. Оценка: 5 /насколько я могу оценивать /

    • Сергей Дмитриев, это вопрос не к программистам.
      Капитализм стремится потеснить соперника, сделать побольше в надежде, что купят.
      А бюрократизм в капитализме (читайте законы Паркинсона) - ломает и эту линию, портит чистый капитализм.

      Оценка статьи: 5

Мы собираем файлы cookie и применяем Яндекс.Метрику.Подробнее×

Этот сайт использует сервис веб-аналитики Яндекс Метрика, предоставляемый компанией ООО «ЯНДЕКС», 119021, Россия, Москва, ул. Л. Толстого, 16 (далее — Яндекс)

Сервис Яндекс Метрика использует технологию «cookie».

Собранная при помощи cookie информация не может идентифицировать вас, однако может помочь нам улучшить работу нашего сайта. Информация об использовании вами данного сайта, будет передаваться и храниться на сервере Яндекса в Российской Федерации. Яндекс будет обрабатывать эту информацию с целью анализа пользовательской активности.

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