OberonCore
https://forum.oberoncore.ru/

Михаил Донской. Жизненный цикл программиста
https://forum.oberoncore.ru/viewtopic.php?f=27&t=1137
Страница 1 из 1

Автор:  Geniepro [ Понедельник, 25 Август, 2008 07:19 ]
Заголовок сообщения:  Михаил Донской. Жизненный цикл программиста

Михаил Донской. Жизненный цикл программиста

Автор -- создатель знаменитой шахматной программы «КАИССА» -- рассуждает о кажущемся ему закате романтики в программировании...

М.Донской писал(а):
Подводя итоги, я хочу показать, как логика развития информационных технологий изменила характер моей профессии. Говорить о профессии программиста вообще можно, но она столь же не конкретна, как и профессия строителя. Человек, кладущий кирпичи, и человек, создающий большие архитектурные проекты, в равной степени могут называться строителями, но это абсолютно разные профессии.

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

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

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

Они не понимают, что если заказчик меняет требования к уже почти готовой системе, это означает, что система ему нравится. Если система ему не нравится, он вздохнет, заплатит за нее и про нее забудет.

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

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

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

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

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

Автор:  Илья Ермаков [ Понедельник, 25 Август, 2008 10:01 ]
Заголовок сообщения:  Re: Михаил Донской. Жизненный цикл программиста

Позволю себе выделить мысли:
а) в начале - отделёна комбинаторика от аналитического уровня решения задач;
б) в середине - подчеркнуто то, что изменчивость и непредсказуемость завтрашнего дня - неизбежное свойство нашей жизни/работы;
в) в конце указано, что в условиях такой изменчивости необходим полный контроль над ситуацией (инструментами-системами).

Автор:  Alexey_Donskoy [ Понедельник, 25 Август, 2008 11:40 ]
Заголовок сообщения:  Re: Михаил Донской. Жизненный цикл программиста

Илья Ермаков писал(а):
в) в конце указано, что в условиях такой изменчивости необходим полный контроль над ситуацией (инструментами-системами).
Ну и как, реальная задача? ;)

Автор:  Илья Ермаков [ Понедельник, 25 Август, 2008 12:19 ]
Заголовок сообщения:  Re: Михаил Донской. Жизненный цикл программиста

До некоторой степени :-)
По крайней мере, у оберонщиков с этим дела обстоят обычно лучше среднего по палате. Даже при работе на других инструментах.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/