Дискуссионный Петрофизический Форум - Petrophysics Forum PETROPHYSICS & INTERPRETATIONS FORUM
форум по петрофизике



Ближайшие конференции (условия участия и обзор) в разделе [РАЗНОЕ]

Полезные ссылки размещены внизу

Все посетители приглашаются к участию в обсуждениях (в форме вопросов, предложений, реплик и полемических замечаний)

 
On-line: гостей 0. Всего: 0 [подробнее..]
администратор




Зарегистрирован: 24.05.05
Рейтинг: 2
ссылка на сообщение  Отправлено: 21.08.08 02:13. Заголовок: ПОЛИТ//Донской Жизненный цикл программиста (фрагмент)


Жизненный цикл программиста
У каждой профессии есть свой романтический период и есть период, когда она превращается в рутинную. Быть шофером в начале прошлого века было трудно и почетно. Сегодня автомобиль может водить любой желающий, а в большинстве районов США жизнь без автомобиля практически невозможна. Так профессия шофера прошла полный цикл от интеллектуальной и романтической до бытовой и повседневной за какие-то 60 лет.

Цикл профессии авиапилота тоже близится к окончанию и займет те же 60 лет.

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

Так получилось, что время моей жизни практически совпало с жизненным циклом моей профессии. Я – программист. Сами компьютеры появились в 40-х годах (и не надо здесь вспоминать ерунду про дочку Байрона), то есть в то же десятилетие, когда я родился.

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

Когда я школьником учился программировать на М-20, в СССР программистами были известные математики, на ходу выдумывавшие то, чему сейчас учат в школе.

В группе программистов Института Теоретической и Экспериментальной Физики, где для вычислительных работ ядерной физики стояла эта самая М-20, придумали массивы, списки, необходимость использования подпрограмм и многое другое. Один из моих учителей, Г.М. Адельсон-Вельский придумал хэш память. Подробности можно найти в книге другого моего учителя – А.С. Кронрода «Беседы о программировании». Еще до Дийкстры основные принципы структурного программирования были изложены А.Л. Брудно в книге «Программирование в содержательных обозначениях». Там же была создана первая шахматная программа.

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

В итоге тогда шахматная программа ИТЭФ, предшественница «Каиссы», умещалась в памяти М-20, а именно в 4096 ячейках, каждая из которых имела 48 разрядов (теперь это называют битами). Где-то рядом уже существовал Алгол-60, но им «настоящие» программисты не пользовались, поскольку техники отладки практически не было. Чуть позже большую популярность получила статья «Почему настоящие программисты не пишут на Фортране».

Мои студенческие годы пришлись на целый ряд советских машин – Раздан-3 , Минск 1, 2, 22, 32, Урал-14, все из которых имели пульт, за которым сидели программисты, а программы и данные вводились с перфокарт или с перфолент. АЦПУ - устройство «широкой» печати - появилось только в конце 1960-х.

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

Рассказывают, что в операционной системе «Пульт», написанной в Вычислительном Центре АН СССР для БЭСМ-6, был счетчик ошибок оператора, и при достижении некоторого порога система выдавал «вежливое» сообщение «А если ты – дурак, то не садись за “Пульт”». Когда директор ВЦ академик А. Дородницын инспектировал систему, он понажимал несколько раз случайные кнопки и был крайне огорчен полученным результатом.
........
Подводя итоги, я хочу показать, как логика развития информационных технологий изменила характер моей профессии. Говорить о профессии программиста вообще можно, но она столь же не конкретна, как и профессия строителя. Человек, кладущий кирпичи, и человек, создающий большие архитектурные проекты, в равной степени могут называться строителями, но это абсолютно разные профессии.

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

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

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

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

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

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

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

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

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


20 августа 2008, 08:08 Михаил Донской


C уважением и надеждой на понимание Спасибо: 0 
Профиль Цитата Ответить


Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
(-) сообщения внутри нет
(+) новый ответ
(!) объявление администратора
(x) закрытая тема
Все даты в формате GMT  -3 час. Хитов сегодня: 19
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет




(STYLE) .font1 {COLOR: #000000; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 14px} .font2 {COLOR: #000000; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 12px} .font3 {COLOR: #000000; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 14px;} .font4 {COLOR: #FFA450; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 14px; font-weight: 700;} .font5 {COLOR: #ffa450; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 14px
Мои сайты
[Хрестоматия по петрофизике и интерпретации][Петрофизика и интерпретация][Группа ПАНГЕИ] [Cайт памяти Вендельштейна] [Коммуникация и семиотика]

Некоторые профессиональные ссылки (включаю по обмену ссылками)
[Мнемоники собранные в SPWLA] [Общество каротажников - SPWLA] [ЦГЭ (на сайте много публикаций)] [ПАНГЕЯ (на сайте есть публикации)] [Геологический словарь (МГУ)] [Schlumberger] [LandMark] [GeoGraphix] [StatMin (Fugro-Jason)] [PGS Abstracts] [ФОРУМ студентов РГУНГ] [Тектоника плит, вулканизм, самоорганизация] [Адрес осчастливателя нейронными сетями (всех оптом)] [Geofyzika Torun (Poland)]

Полезности и ПОИСК
[Cловари, Переводчики, Почтовый декодер, Отправка SMS, сложный поиск] [Поиск на сайте Хрестоматии по петрофизике ] [Поиск по геолог. ресурсам (МГУ)] [Яндекс][GOOGLE] [Geodictionary (регистрация свободна)] [Поиск по большим русскоязычным библиотекам]

Форумы на которые люблю заходить
[Либеральный Клуб] [Дискуссии со знакомыми о политике] [Я СВОБОДЕН!] [Форум RESEACHER] [Хороший русскоязычный Форум в Казахстане]

Новостные и журнальные сайты на которые люблю заходить
[ГРАНИ] [CВОБОДА] [ИНОПРЕССА] [Новое Время] [ПОЛИТ.ру] [RTV International] [ИНТЕЛЛИГЕНТ] [Московские Новости] [Cтоличные новости] [Новая Газета] [Имеешь право] [Еженедельный Журнал] [Эхо Москвы] [computerra] [Tema дня] [Политический журнал] [Куратор] [ВладимирВладимирович]

Сайты политических партий, движений и организаций на которые заглядываю
[Партия Свободы] [Cвободная Россия (Хакамада)] [СПС] [ЯБЛОКО] [РАДИКАЛЫ] [Дем. союз] [ОБОРОНА] [ДА] [Либеральная миссия] [Институт прав человека] [Московский общественный научный фонд] [Мемориал] [Журнал "Индекс/Досье на цензуру" ] [Центр по проблемам коррупции] [Фонд Аденауэра] [Либеральный Сахалин] [Похмелкин] [Институт развития свободы информации]

Сетевые библиотеки
[Либертариум] [Библиотека Мошкова] [Аудиториум] [Открытая русская электронная библиотека (Орел)] [Библиотека Якова Кротова] [Vivos Voco] [Архив В.Буковского] [Портал по синергетике] [Проблемы эконофизики и эволюционной экономики ] [Форум социнтегрум] [Социальная история отечественной науки] [Элементы: Популярный сайт о фундаментальной науке] [Известия НАУКА]

Частные сайты - cофт
[КП НЕМО] [NNM] [КАДЕТ]

Частные сайты и тексты которые смотрю
[Сайт деятельных скептиков] [DoctoR] [RR-полит] [Соционавтика] [Универсумс] [РЖ Андрей Левкин ] [Синергетика - сайт Курдюмова] [Российская наука в Интернет] [Наука в ПОЛИТ.ру]

Cправочная информация общего характера
[Москва Желтые страницы путешественника] [Москва Большая телефонная книга] [Конвертация единиц измерения] [Законодательство в HTML] [Cловари на сайте РГГУ]