Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Андрей Петрович Ершов (1931-1988)

яде других  работ  Ершов  исследует  и  развивает  идеи  технологии
программирования.  Им  была  предложена  матричная  организация   коллектива
разработчиков, внесен вклад в спецификацию этапов разработки,  в  том  числе
применительно  к   разработке   трансляторов,   проведен   анализ   реальной
разработки  (АЛЬФА-6)  с  точки  зрения   ее   технологичности.   В   работе
«Алгоритмические языки программирования» (Вестник АН  СССР.  —1968.  —  №3),
написанной  совместно  с  Г.Д.Чининым,   определяется,   как   должен   быть
организован коллектив, ведущий  разработку  промышленных  трансляторов,  как
должна   решаться   такая   важная   проблема,   как    преемственность    и
переиспользование  разработанного  программного  обеспечения,   как   должен
проходить    и    информационно    обеспечиваться    процесс     разработки.
Ориентированная на технологию трансляции, эта работа дает ряд  хороших  идей
по   технологиям   промышленной   разработки   других   видов   программного
обеспечения.
      С  общеметодологической   точки   зрения   для   развития   технологий
программирования, их обоснования и формирования  концептуального  фундамента
крайне важной  является  работа,  представляющая  текст  доклада  Ершова  на
заседании Президиума Академии наук СССР. Для программистской  общественности
эта работа мне кажется не  менее  важной,  чем  для  членов  Президиума  АН,
которым сделан этот доклад.
      Уже давно  ведутся  попытки  построить  процесс  программирования  как
доказательный,  при  котором  правильность   программы   обеспечиваема   или
проверяема  на  каждом  этапе  ее  построения.   Для   реальных   технологий
программирования  с  их  несомненным  требованием   обеспечения   надежности
(высокой  степени  правильности)  программы  эти  попытки  при  их   удачном
продвижении  имели  бы  неоценимое  значение.  Известен,  например,   подход
Э.В.Дейкстры, который основан на идеальной тенденции строить  программу  как
точный  вывод  из  математической  постановки  задачи.  Несмотря   на   свою
идеальность и "навязываемость"  жесткой  дисциплины,  этот  подход  является
идейной  основой  (может  быть,  не  до  конца   чисто   реализуемой)   ряда
современных технологий. Однако подход Ершова, связанный с оценкой  реального
опыта  программирования  и  дифференциацией  различных  его  видов,   -   не
навязывание дисциплины, а ее  извлечение  из  практики  -  кажется  и  более
практичным, и более широким.
      Ершов выделяет и анализирует три вида программирования, обеспечивающих
его   доказательность:   синтезирующее,   сборочное   и    конкретизирующее.
Синтезирующее  программирование  (одним  из  типов  которого  является   то,
которое  осуществляется  по  методу  Дейкстры)  связано  с   автоматическим,
автоматизируемым или  ручным  манипулированием  знанием  о  задаче,  области
применения  и  общематематических   способах   доказательного   рассуждения.
Сборочное  программирование  осуществляет  построение   программы   из   уже
существующих  (проверенных  на  правильность)  фрагментов.  Конкретизирующее
программирование основано на систематическом  построении  специализированных
программ   из   универсальной   заготовки   (одним   из   способов    такого
программирования является применение смешанных вычислений). Ершов,  с  одной
стороны, рассматривает  специфику  каждого  вида  и  отмечает  их  различия,
которые  должны   выражаться   в   различных   технологических   приемах   и
инструментах, с другой стороны, говорит о том, что при построении  реального
программного обеспечения эти виды могут и  нередко  должны  комбинироваться.
Все это дает основу  для  создания  развитого  методологического  фундамента
будущих технологий программирования.

                             Мини- и микро- ЭВМ


      Работа “An Experimental Automatic Information Station  AIST-O»  (AFIPS
Conf. Proc., Atlantic City, April 18–20, 1967. — Washington;  London:  Acad.
Press., 1966) оценивает с точки  зрения  применения  средств  вычислительной
техники новый тогда феномен - появление мини - и микроЭВМ,  прогнозирует  те
неограниченные возможности, которые они создают, выделяет  те  новые  черты,
которые характерны для  программного  обеспечения  микроЭВМ:  интегральность
подхода   к   совместному   проектированию    оборудования    и    софтвера,
специализированность  программного  обеспечения  (ПО),  его  ориентация   на
использование  непрофессионалами  в  программировании.  Здесь  же   делается
оправдавшийся впоследствии вывод о крайней важности для ПО этих ЭВМ  проблем
переноса и совместимости, а также намечаются  возможные  пути  решения  этих
проблем. В одной  из  своих  работ  он  справедливо  отрицает  выдвигавшийся
некоторыми специалистами тезис о стабилизации положения  в  программировании
и   излагают   активные   точки   роста   -   новые   концепции   в   языках
программирования, кристаллизация  и  фундаментализация  понятий  трансляции,
переход от баз данных к базам знаний (в  работе  они  называются  "сложными"
базами данных), появление инструментальных комплексов  (что  впоследствии  с
легкой руки "адистов" стало называться "окружением программирования").  Надо
сказать, что прогноз  Ершова  полностью  оправдался.  Здесь  же  оценивается
состояние теории программирования и ее соотношения с практикой,  что  весьма
существенно для определения путей развития теории. Много в работе  говорится
об обучении программированию, о подготовке кадров - но об  этой  ее  стороне
скажем позднее.



                    Программирование – вторая грамотность


      Ершов  выявил  и  прояснил   ряд   существенных   черт,   свойственных
программированию  как  науке  и  человеческой  деятельности.   Замечания   и
суждения Ершова по этому поводу разбросаны во многих его  работах,  но  есть
несколько широко известных его статей, многократно переведенных и  изданных,
которые   целиком   посвящены   не   научным   или   техническим   проблемам
программирования,  а  вопросам,  что  есть  программирование  как  наука   и
деятельность,   что   есть   программист   как   специалист   специфического
интеллектуального  труда.  Это  такие  работы,   как   "О   человеческом   и
эстетическом  факторах  в  программировании",  "Программирование  -   вторая
грамотность", "Два облика программирования"  и  др.  В  работе,  посвященной
памяти рано  умершего  талантливого  программиста  Г.И.Кожухина,  содержится
конструктивный анализ противоречий, возникающих  между  творческой  природой
программистского  труда  и  необходимой   для   любых   массовых   профессий
производственной его организацией. Главный тезис  статьи:  "Программирование
обладает богатой, глубокой и своеобразной эстетикой, которая лежит в  основе
внутреннего отношения программиста к  своей  профессии,  являясь  источником
интеллектуальной силы, ярких переживаний и глубокого  удовлетворения.  Корни
этой эстетики лежат в творческой природе программирования, его  трудности  и
общественной  значимости".  Статья  полна  глубоких  суждений  и  замечаний,
поясняющих этот тезис. В статье отмечается элитарность программистов и в  то
же время говорится о необходимости сделать искусство программирования  общим
достоянием.
      Ершов отмечает, что программирование необходимо современному  человеку
не только в силу того, что ЭВМ в  ближайшем  будущем  пронижет  все  стороны
жизни,  но  и  потому,   что   современная   жизнь   требует   повседневного
планирования и предвидения. Он говорит: "Вторая грамотность - это не  только
умение  писать  команды,  но   и   воспитание   человека,   решительного   и
предусмотрительного вместе".  Программирование,  заключает  Ершов,  является
существенной компонентой современного обучения и воспитания.
Ершов четко формулирует  интуитивно  осознававшееся  положение  о  том,  что
нельзя   программирование   рассматривать   единообразно.    Он    разделяет
программирование на два вида: программирование для себя  и  программирование
для заказчика и  точно  описывает  коренные  различия  этих  видов,  обликов
программирования. Соответственно он  вводит  термины  "программист-слуга"  и
"программист-хозяин" и показывает, как глубоко различаются их манеры,  стили
и  даже  критерии.  Такая  конструктивная  дифференциация   программирования
крайне важна при создании реальных технологий  программирования,  да  и  для
ряда  более  общих   вещей,   выражающихся   даже   в   этике   и   эстетике
программирования.  В  чисто  научном  плане  эта  работа   содержит   модель
программной  обстановки  для   программиста-хозяина,   основанную   на   уже
упоминавшейся трансформационной машине.
      Заметной линией работ Ершова являются работы,  посвященные  общению  с
ЭВМ на естественном  языке.  Начальным  подходом  к  конструктивизации  этих
проблем была работа "Об одном виде контакта человека с машиной".  Впервые  в
отечественной   и,   по-видимому,   мировой   литературе   Ершов   попытался
сформулировать ряд  точно  поставленных  задач  реализации  такого  общения.
Размышления  по  этому  поводу,  объединенные  с  исследованиями  лингвистов
(И.А.Мельчук)  и  системных  программистов  (А.  С.  Нариньяни),  привели  к
появлению проекта РИТА. Проект РИТА в таком виде,  как  описывался,  не  был
реализован, но можно четко  проследить,  как  ряд  существенных  идей  этого
проекта перешел во впоследствии реализованные лингвистические  процессоры  и
системы   искусственного   интеллекта:   выделение   промежуточного   уровня
семантического  представления,  соотношение  лингвистических  и  программных
составляющих диалоговой системы,  наличие  интерфейсных  блоков  для  других
(классических)     программных     систем,     множественность      значений
интерпретирующих функций (что
12345След.
скачать работу

Андрей Петрович Ершов (1931-1988)

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ