Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.
А это подборки моих материалов на канале
Психология программиста и философия программирования
ОРВИ и сегодня не позволяет мне записать видео. Так что сегодня опять текст. Но такой, философско-программистский. В науке о разработке программного обеспечения есть такая тема: жизненный цикл программного обеспечения. Жизненный цикл это период времени, начиная с момента принятия решения о разработки программного обеспечения (ПО) и заканчивая, когда программа перестаёт эксплуатироваться.
В этой связи расскажу байку из программистской жизни. Одного моего товарища, с которым когда-то очень давно занимались некоторыми программными проектами, в одной организации попросили для бухгалтерии написать программу. Простую кстати программу: простой ввод и распечатка каких-то бланков. Но в то время (конец 80-х) такими программами баловались многие. Он написал, передал и забыл про программу. Спустя лет 15 он оказался в той-же организации. И каково было его изумление, когда он обнаружил, что его программу по-прежнему использовали. На компьютерах уже стояла Windows, но его программа исправно печатала бланки. Удивительный пример долгожительства очень непритязательной программы. За это время появлялись мощные программы, разработанные крупными корпорациями. Появлялись, а потом умирали. А эта простенькая программа написанная на Паскале продолжала жить.
Ну вернусь к жизненному циклу ПО. Есть ещё такой термин, как модель жизненного цикла. Если по-простому, то модель это некий образ того, что вы собираетесь создавать, схема, описывающая будущий объект. Если говорить о жизненном цикле ПО, то мы с помощью модели описываем основные этапы жизненного цикла и как эти этапы следуют друг за другом.
Есть две базовые модели жизненного цикла программного обеспечения. Реальные жизненные циклы могут быть некоторым их симбиозом. Называется одна модель моделью водопада, а вторая спиральной моделью. Они представлены рисунками ниже. Первые три стадии связаны непосредственно с разработкой программы. Последняя стадия охватывает внедрение и эксплуатацию.
Особенность жизненного цикла "водопад". Полное планирование каждой стадии жизненного цикла. Каждый этап начинается только полном выполнении предыдущего. Жизненный цикл "спираль" основывается на несколько ином подходе. На один виток и отдельные части этого витка отводится конкретное время. Такой подход предполагает, что на следующих витках спирали программное обеспечение будет дорабатываться. Другими слова с каждым витком программное обеспечение доводится до определённого качественного уровня.
Я, конечно, очень кратко описал суть моделей жизненного цикла ПО. Цель моя несколько иная. Я хочу отметить, что эти модели жизненного цикла отражают два психологических типа программиста или, вообще, человека. Хотя я в первую очередь пишу о программистах, пишущих код. Один психологический тип предполагает очень тщательное предварительное планирование своей будущей разработки. Второй психологический тип стремится как можно раньше получить какую-то рабочую версию. И далее дорабатывать и совершенствовать её. Лично я отношу себя как раз ко второму случаю. Это касается и программ и вообще текстов.
Я уверен, что нельзя навязывать разработчику иной стиль разработки, чем стиль, заложенный в его натуре. Можно лишь подбирать разработчиков по их психологическому стилю вложенному в них Господом Богом.
Канал о программировании на Python
Хорошего программирования. Оставляйте свои комментарии, не забывайте про лайки и подписывайтесь на мой канал programmer's notes.