Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

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

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Однією із поважних заслуг Єршова перед вітчизняним і світовим програмуванням і те, що він умів оцінити поточний стан науки і практики і визначити ті реальні точки розвитку і перспективи досліджень, які визначатимуть розвиток програмування. Так, у другій половині 60-х рр. він однією з перших у країні усвідомив ті нові можливості спілкування з ЕОМ, які створюють системи поділу часу. У 1966 р. він… Читати ще >

Андрей Петрович Єршов (1931-1988) (реферат, курсова, диплом, контрольна)

Андрій Петрович.

[pic].

Ершов.

(1931 — 1988) гг.

Академік Андрію Петровичу Єршов (1931;1988) — одне із зачинателів теоретичного і системного програмування, творець Сибірській школи інформатики. Його значний внесок у становлення інформатики як нової галузі науку й нового феномена життя широко визнаний з нашого країни й за рубежом.

Він проводив фундаментальні дослідження у сфері схем програм, тож теорії компіляції. Книжка А. П. Єршова «Программирующая програма для електронної обчислювальної машини БЭСМ «було одним із перших у світі монографій по автоматизації программирования.

Роботи Єршова за технологією програмування заклали основи цього наукового напрями у нашої стране.

Мова програмування АЛЬФА і оптимизирующий Альфа-транслятор, перша радянська система поділу часу АИСТ-0, система навчальної інформатики Школярка, система підготовки друкованих видань Рубін, многопроцессорная робоча станція МАРМУР — всі ці проекти було ініційовано А. П. Єршовим і виконувалася під його руководством.

Він одним перших у нашій країні усвідомив ключову роль обчислювальної техніки в прогресі науку й суспільства. Його блискучі ідеї заклали основу у розвиток у Росії таких наукових напрямів, як паралельне програмування і штучний інтелект. Більше 20 років тому він почав експерименти із викладання програмування у неповній середній школі, що призвели до впровадження курсу інформатики, і обчислювальної техніки в середні школи країни й збагатили нас тезою «програмування — друга грамотність » .

Єршов брав активну участь підготовкою безлічі міжнародних конференцій і конгресів, був редактором чи членом редколегії як російських журналів «Мікропроцесорні кошти й системи », «Кібернетика », «Програмування », і міжнародних — Acta Informatica, Information Processing Letters, Theoretical Computer Science.

Академік А. П. Ершов дуже багато уваги приділяв проблемам інформаційного забезпечення учених. Свою наукову бібліотеку збирав всю життя. На час передчасної смерті А. П. Ершова у її особистому бібліотеці зберігалося багатьох книжок, журналів, праць конференцій, препринтів і окремих відбитків статей на всіх європейських мовами. Після смерті академіка А. П. Ершова його спадкоємці передали бібліотеку до Інституту систем інформатики, який на той час виділився з Обчислювального центру. Нині це Меморіальна бібліотека їм. А. П. Ершова.

У 1988 року виник благодійний Фонд імені А. П. Ершова, основна мета якого було розвиток інформатики як винахідництва, творчості, мистецтва й доставки освітньої активности.

Андрію Петровичу Єршов цей був талановитим ученим, вчителем історії та борцем за ідеї, а й видатної, різнобічно обдарованої особистістю. Він писав вірші, перекладав російську мову вірші Р. Кіплінга та інших англійських поетів, чудово опановував гітарі і пел.

Шлях в программирование.

Андрію Петровичу Єршов, видатний програміст і математик, лідер радянського програмування, народився 19 квітня 1931 р. у Москві. Помер після важку хворобу у Москві 8 грудня 1988 г.

Походив він із сім'ї потомствених інтелігентів. Тато був інженеромхіміком, мати — библиотекарем.

З 1943 р. батьки А. П. Ершова живуть у Сибіру, в Кемерове, де у 1949 р. він закінчив середньої школи. У тому ж року вона діє на физикотехнічний факультет Московського університету, збираючись стати фізиком. Але через заборон здобувати фізика їй немає дали, а дозволили перевестися на механіко-математичний факультет цього університету. Там він став спеціалізуватися спеціалісти кафедри обчислювальної математики, керованої академіком С. Л. Соболевым, але в останніх курсах під впливом А. А. Ляпунова захопився програмуванням. Ще студентом, в 1953 г., він влаштувався працювати до Інституту точної механіки та обчислювальної техніки — організацію, у якій складався з перших радянських колективів программистов.

Таким був його, ні добровільний, шлях до програмування. Вибір галузі діяльності, зроблений А. П. Ершовым, виявився щасливим як нього, так програмування. Справді, А. П. Ершов був багатоманітно талановитий, міг би досягти великих результатів і в інший галузі, зокрема у фізиці, що спочатку була їм обрано, тому не можна сказати, що програмування — єдине напрям, де він міг б проводити свої дослідження. Проте саме такий зародження науці, як програмування, дивовижно доречно припали такі межі його таланту, як вміння нетрадиційно мислити, знаходити ясні основи інтуїтивно складывающегося знання, бачити перспективні точки зростання. Інша, більш визначилася наукову дисципліну, напевно, дала йому менші можливості докладання свого інтелектуального потенціалу — й у було щастя його вибору. Але, з з іншого боку, і програмування у те потребувало вчених із характером першовідкривачів — подібних А. П. Ершову — на формування з різнорідною практики початкового наукового і методичного фундаменту. Діяльність Єршова, яку піде далі, виявилося дуже співзвучною цим потреб програмування, отже вибір, виголошена ним, — удача для программирования.

Вплив на науку.

У 1954 р. А. П. Ершов закінчив університет — це був першим у вузах масовий випуск за фахом «програмування ». З 1954 по 1957 р. він аспірант А. А. Ляпунова московському університеті. Кандидатську дисертацію, присвячену поняттю операторного алгорифма (є багато визначень цього терміна. Наприклад, акад. А. М. Колмогоров дає таке визначення: алгоритм чи алгорифм — це і кожну систему обчислень, виконуваних по суворо певних правил, котра вже після будь-якого числа кроків явно призводить до рішенню поставленого завдання. Тьюринг — англійський программист-теоретик створив так звану машину Тьюринга, з допомогою яких можна реалізувати будь-який алгоритм, бо, що не можна у ньому реалізувати, алгоритмом перестав бути. Машина Тьюринга — це стрічка, на якої записані деякі символи. Нею «бігає» каретка, який читає поточний символ, і згідно з поточним символом і поточним станом може переходити ось до чого чи попередньому символу, або залишатися на місці й змінювати стан, і навіть змінювати поточний символ на стрічці.), він підготував до 1958 р., проте в з настороженим ставленням математиків до нової науці захистити її вміє лише у 1962 р. Докторська дисертація методами побудови трансляторів захищається їм у 1968 р. У 1970 р. він працює членом-кореспондентом, а 1984 р. — академіком АН СССР.

Таке швидке просування пов’язана з тим, що у кінці 50 рр. він стає однією з провідних радянських програмістів — тільки завдяки своїм блискучим індивідуальним роботам, а й як плідно працюючих програмістських колективів. У 1957 р. він працює завідувачем відділом автоматизації програмування в новоствореному Обчислювальному центрі АН СРСР. У зв’язку з створенням Сибірського відділення АН СРСР з проханні директору інституту математики ЗІ АН СРСР академіка C.Л.Соболева він бере він обов’язок організатора і фактичного керівника відділу програмування цього института.

У 1960 р. він і формальним главою цього відділу і остаточно переїжджає до Сибір. Сибирское відділення приваблювало молодих активних учених більші можливості організації нових масштабних досліджень, і Єршов був однією з тих молодих учених, які наприкінці 50-х і на початку 60-х рр. разом із академиками-основателями створювали інститути нового наукового центру на Академмістечку. Надалі відділ Єршова став одній з основ створеного 1964 р. Г. И. Марчуком Обчислювального центру ЗІ АН СРСР. Завдяки Єршову Академмістечко стає однією з провідних центрів з програмування. Єршов створив відому новосибірську школу системного і теоретичного програмування, дослідження якої складалися з робіт учнів художника і послідовників у різних новосибірських інститутах. Сам Єршов, будучи лише завідувача відділу і відділенням Обчислювального центру, став ідейним керівником і неформальним главою великого і активна працюючого співдружності новосибірських программистов.

Велике вплив Єршова і розвиток програмістської науку й практики в в цілому. Це вплив далеко ще не обмежувався тим, що він був головою одна з головних радянських наукових шкіл, чи тим науковим внеском, про яку йтиметься нижче. З кінця 60-х рр. він працює у центрі програмістської життя жінок у СРСР. Він був однією з основних організаторів перших національних конференцій з програмування, значної частини національних конференцій, семінарів і шкіл із різних проблем системного і теоретичного програмування, членом редколегій основних радянських програмістських журналів, редактором (з його освіти) журналу «Мікропроцесорні кошти й системи », головою низки національних комісій і створення робочих груп. У 1987 р. він працює головою Ради з кібернетиці, який координує все вітчизняні академічні дослідження з інформатики і программированию.

Єршов приділяв надто багато уваги науково-організаційній роботі, зокрема у світовому масштабі. Він входив до низки комітетів і експертних робочих груп IFIP (International Federation on Information Processing), активний учасник низки конгресів, зокрема віце-головою програмного комітету IFIP- 68, запрошеним доповідачем IFIP-71, організатором робочих конференцій IFIP. У 1980;х р. нагороджений «Срібним сердечником «(Silver Core). Також перебував членом редколегії таких міжнародних видань, як «Information Processing Letters », «Theoretical Computer Science «та інших. Його міжнародні творчі та приятельські зв’язки були великі. Він виступав з запрошеними доповідями у числі організацій Європи, Японії США. З 1965 р. він — член Association for Computing Machinery (АСМ), 1974 р. став почесним членом Британського Комп’ютерного суспільства. Останніми роками життя А. П. Ершов приділяє багато уваги міжнародної роботу з інформатики в образовании.

Теоретичне і системне программирование.

А.П.Ершов — жодну з тих провідних світових учених, завдяки діяльності яких виділилися і оформилися такі наукові напрями сучасного програмування, як теоретичне і системне програмування. Його творчий доробок широке, вона охоплює більш 200 книжок, статей, препринтів, беручи до уваги значної частини передмов, редакційних статей, відгуків тощо., і навіть газетних публікацій, віршів (та добрих віршів!) і ін. Обсяг цієї статті Демшевського не дозволяє дати досить докладний огляд всіх робіт Єршова, і ми обмежимося викладом основних ідей провідних публикаций.

А.П.Ершов був однією з перших радянських програмістів, внесла визначальний внесок у вітчизняне програмування, тому, природно, що для становлення і його наукових інтересів, у більшою мірою відповідає становленню та розвитку як радянського, і світового программирования.

Як і більшість програмістів 50-х рр., А. П. Ершов починав зі створення алгоритмів про чисельні методів і стандартних програм. Перша робота («Про одному методі звернення матриць» — доповідь АН СРСР, 1955) присвячувалася розробленого їм методу звернення матриць, належала до класу методів поповнення. Хороша алгоритмичность методу — компактність алгоритму, зручні рекуррентные співвідношення — дозволила цьому методу бути підвалинами стандартних програм для низки перших радянських ЕОМ (до котроїсь із них — БЭСМ — таку програму розробили Єршовим). Середина 50-х рр. була часом становлення теоретичного і системного програмування. Системне програмування починався вже з напрями, названого тоді автоматизаций програмування і що з розробкою мов програмування і методів їх трансляції. Початковий поштовх цьому напрямку дали роботи Рутисхаузера і Ляпунова. Перші радянські мови програмування пов’язані з операторными схемами, запропонованими А. А. Ляпуновым. Ці схеми ставили структуру програми в термінах операторів деяких фіксованих класів з наступним завданням уявлення цих операторів. А. П. Ершов був керівником й творця одних із перших радянських програмуючих програм для ЕОМ БЭСМ і «Стріла «(программирующими програмами тоді називалися інтегральні розробки мови та системи програмування). За підсумками даних робіт їм було написано монографія («Про понятті обчислювального алгорифма» — теза доповіді наради по обчислювальної математики й застосуванню коштів обчислювальної техніки, 1958), перша група у у світовій літературі монографія по автоматизації програмування, практично негайно перекладена і видана за кордоном, і навіть низку робіт про обчислювальної техніки та її реалізації алгоритмів у ньому в 1956;1958 рр. У монографії цих роботах А. П. Ершовым уперше запропонований ряд понять, підходів і методів, які увійшли до класичний багаж мов і культур систем програмування. Тут і поняття циклу як фундаментальної конструкції мов програмування, і триадное внутрішнє уявлення висловів, і метод функції розстановки на допомогу пошуку які збігаються фрагментів (імен), і алгоритм оптимального розподілу робочих осередків (регістрів), і початкові ідеї потокового аналізу, і пр.

АЛЬФАі БЕТАязыки.

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

За відправну точку проекту була початковій версії нової мови програмування, суммировавшего що накопичився програмістський досвід минулого і створюваного міжнародної робоча група — з так званого Алгола 58. Група, керована А. П. Ершовым, стала готувати з урахуванням Алгола 58 новий проект мови — паралельно з працювала міжнародної групою. Багато в чому напрями розвитку мови виявилися збігаються, але у новосибірському проекті виникла ціла низка істотно нових механізмів, тому, зрештою, мова була сформульований як правильне розширення остаточної версії міжнародної мови — Алгола 60. У Альфа-языке вперше розроблена кошти, характерні для наступних за Алголом 60 мов. Було визначено таке важливе для обчислювальних алгоритмів поняття багатомірних значень, визначено операції з них, зокрема, їх конструювання. Було введено властиві сучасним мовам концепції, такі, як розмаїтість видів циклів, завдання початкових значень тощо. У формальному визначенні мови уперше було зроблено спробу вийти межі контекстно-свободных грамматик.

Сама робота над транслятором був у великою мірою і дослідницької, і піонерської. Саме в роботі почалися складатися принципи сучасної оптимизирующей трансляції. Річ у тім, що сама Алгол 60 був певним викликом для існували методів трансляції. Його істотно рекурсивна структура, потужність механізму процедур, можлива їх вкладеність і потенційна рекурсивность, спільність циклів і індексних висловів — усе це вимагало помітної модифікації та розвитку техніки трансляції, а найголовніше — ставило питання про можливість отримання ефективного коду. По останньому приводу висловлювалося ряд сумнівів, і Альфатранслятор став справді першим конструктивним доказом того, що з мов, порівняних за проектною потужністю з Алголом, можна побудувати транслятор, дає можна порівняти з ручним програмуванням код.

Досягненню поставленої мети послужив багатий набір оптимізацій, реалізований в Альфа-трансляторе. Була запропонована змішана стратегія програмування (те, що пізніше у країнах назвали «casing ») таких конструкцій, як процедури, цикли, індексні висловлювання, коли виходячи з аналізу контексту вибирався найефективніший з допустимих способів генерації конструкцій. Особливо витончено программировались процедури і підстановка параметрів їм: вибір здійснювався серед 11 способів. У результаті алголовские процедури за всієї потужності механізму программировались оптимальним чином (що стимулювало програмістів активно використовувати цю засіб). Колишня раніше оптимізація економії висловів була істотно розвинена — повністю враховувалися властивості коммутативности і асоціативності; якщо це перетворення не стало глобальним, воно було вже квазилокальным. Вперше реалізували глобальна чистка циклів. Ретельної оптимізації піддавалися операції над многомерными значеннями — те що був у стандартному Алголе, але активно використовувалося обчислювачами. Вперше реалізували глобальна економія пам’яті, яка спирається теоретичні роботи А. П. Ершова і С. С. Лаврова.

Альфа-транслятор був першим у світі транслятором з Алгола з більшими на оптимизирующими можливостями. Схожий англійський проект Хоукинса і Хакстебла, який розроблявся тим часом, не був остаточно завершено через складність завдання. Звісно, успіху сприяло як механічне з'єднання багатьох оптимізацій, а й суттєве розвиток що існувала методології оптимізації програм. Була висунуто ідея внутрішнього мови, до програми де й застосовуються оптимізації, яка, хоча й вже у чистому вигляді, реалізували. Був реалізований практично глобальний аналіз контексту, хоч і розрізнено щодо різноманітних оптимізацій, облік якого істотно збільшив потужність оптимізацій — зародок сучасного потокового аналізу. Прагнення практично завжди отримувати ефективний код призвело до відмові певних коштів Алгола, найважливішим із яких було рекурсивность процедур.

Альфа-транслятор активно використовувався у великому числі організацій країни. Хоча його інтерфейси з користувачем і простота експлуатації бажали багато кращого, але високою ефективністю одержуваного коду забезпечила хороший інтерес користувачів до в цій системі. Тому лише коли змінюють М-20 прийшла більш високопродуктивна машина БЭСМ-6, організації, пов’язані з більшими на завданнями, стимулювали створення версії Альфатранслятора для БЭСМ-6. Найбільш швидким рішенням проста переробка Альфатранслятора, коли він та його частину, яка відповідала за генерацію коду, замінили генератором коду для БЭСМ-6. Виник транслятор Алгибр («Альфа гібридний»), який був однією з перших вітчизняних кросс-трансляторов. Таке рішення мало ряд недоліків, зате воно було реалізоване швидко, і транслятор Алгибр був першим транслятором для нової машини БЭСМ-6. Рішення суттєво полегшувався тим, що у Альфе-трансляторе вже існував внутрішній мову, хоча й остаточно єдиний всім які оптимізують преобразований.

Основним труднощами при Алгибр-трансляции була передача оттранслированного коду з М-20 на БЭСМ-6. У ПЦ ЗІ АН СРСР навіть розроблений спеціальний канал передачі між інструментальної і об'єктної ЕОМ, але це неможливо було серійним рішенням при масової трансляції. Виникла необхідність «рідного «транслятора для БЭСМ-6.

У розробників Альфа-транслятора виникала й внутрішня соціальність потреба модифікувати і поліпшити як схему трансляції, і користувальні властивості транслятора, насамперед, його інтерфейс з користувачем. Альфа-транслятор, попри досить широкий используемость, носив риси експерименту, і пошуку — хоча ідейні рішення було знайдено вірно, але реалізаційні рішення було характерні швидше для експериментального, ніж виробничого транслятора (велика кількість переглядів програми — 24, деяке дублювання аналізу контексту, який завжди виправдане ускладнення які оптимізують перетворень). не треба забувати, що це транслятор був першим оптимизирующим транслятором з Алгола. Додатковий досвід — транслятор Алгибр, незавершений проект Альфа-транслятора для ЕОМ Урал-14 (проект ТАУ) — давав основу нових решений.

Новий транслятор — транслятор Альфа-6 — був поліпшеною версією оптимизирующего транслятора з Алгола. Ряд попередніх рішень було наведено до більш чистому і ефективному виду. Чіткіше було виділено внутрішній мову і етап потокового аналізу програм на внутрішньому мові. Загальна схема трансляції вже могла розглядатися як типова схема оптимизирующей трансляції (для одноязыкового транслятора), вона нараховувала лише 10 переглядів. Краще було розв’язано проблему взаємовпливу різних які оптимізують перетворень. Ідентифікація і візуалізація помилок користувача була досконалої, що полегшувало експлуатацію. У результаті система Альфа-6 стала досить використовуваної системою у користувачів БЭСМ-6.

Лексикон.

У певному сенсі з аналізу загальних понять мов програмування і усвідомлення їх певної обмеженості зросла запропонована Єршовим в статті «Математичне забезпечення четвертого покоління» («Кібернетика», 1973, № 1) фундаментальна багатообіцяюча ідея лексикону програмування як загальної середовища і розробити і обгрунтування програм. Він визначає лексикон як «лінгвістичну систему з фразовой структурою, що містить в собі формальну нотацію висловлення всіх загальнозначущих конструкцій, вживаних при формулюванні умов завдань, при синтезі і перетворення програм ». Лексикон, каже Єршов, «висловлює тільки й не стільки програми, скільки їх властивості і наші судження про неї. Мова програмування кодує об'єкти предметної області завдання, а наше знання про ці об'єктах залишається поза межами програмного тексту. Лексикон ж є способом описи об'єктів предметних і містить нотацію для побудови баз знання про предметних областях. Програма, виражена засобами лексикону, у сенсі містить у своєму тексті опис своєї семантики як сукупності нетривіальних фактів про вычисляемой нею функції - на відміну «чистих «програм, які кажуть нічого про своє функціональних властивості. Лексикон, на відміну конкретного мови програмування, є відкритої системою. Він загалом не поставлено завдання трансляції будь-якого його тексту в машинну програму, хоча будь-яка машинна програма у разі потреби має в лексиконі. Аналогічно природному мови лексикон може описи одній своїй частини засобами інший своєї ж частини. Не треба думати, що лексикон — усе це й назавжди. Це старанно відібрана, але розвиваючись система вдалих позначень. Ступінь його успіху визначається ступенем общезначимости і общепонятности його нотації «.

Змішане обчислення і трансформаційна машина.

Змішане обчислення є певний універсальний процес, визначається над парами (програма, дані) і що призводить загалом разі для отримання залишкової програми розвитку й часткових результатів. Математичним аналогом змішаного обчислення є функціонал, який для певного класу функцій з кількома аргументами будує (при завданні деяких аргументів) функції із меншим числом аргументів. Процес змішаного обчислення то, можливо, своєю чергою, заданий як програми (змішаного обчислювача), що дозволяє порушувати питання про самоприменимости змішаних обчислень, а сам змішаний обчислювач уподібнити s-n-m — функції Клини.

Поняття змішаного обчислення (та мішаного обчислювача) при застосуванні до процесорам обробки програм, котрим програми розвитку й їх атрибути є дані, дозволяє собі з загальної погляду досліджувати й визначити різні види обробки програм: від трансляції і інтерпретації та закінчуючи аналізом програм, їх перетворення і генерації самих мовних процесорів. У багатьох робіт з змішаним обчисленням і трансформационному підходу Єршов методологічно досліджує цю концептуальну бік змішаних вычислений.

Саме визначення принципу змішаних обчислень як загальної основи значної частини процесів роботи над програмами відрізняє роботу Єршова від низки попередніх робіт і здогадів Ломбарді, Футамуры, Турчина та інших. І це спричинило те, що роботи Єршова стали основою нового і активна що розвивається напрями у програмуванні, що з теоретичними дослідженнями і практично додатками змішаних обчислень. Застосування змішаних обчислень виявилося дуже корисний методологічно розуміння і трактування різних понять і сутностей программирования.

Поняття змішаних обчислень, запроваджене Єршовим як загальна модель для різних видів обробки програм, із необхідністю зажадало широкого кола досліджень, як у властивостями самої моделі, і з її трактуванні в різних галузях можливого застосування. Було введене поняття коректності змішаних обчислень і визначено моделі змішаних обчислень й отримання залишкової програми, котрим можна було доводити коректність. Однією з цих моделей, у яких фокусувалась увагу, стала трансформаційна модель, на яку змішане обчислення задавалося набором базових трансформацій. Сама модель змішаних обчислень та його коректність розглядалися як імперативних мов, так рекурсивних програм. Був отримано низку важливих результатів з визначення механізму затримки (заморожування) обчислень та об'єктивності даних, за описом процесу змішаних обчислень щодо різноманітних мов уявлення програм, по формулювання набору базових трансформацій, за надійністю (незацикливанию) процесу змішаних обчислень і пр.

Для реальних додатків змішаних обчислень крім, зрозуміло, необхідних властивостей коректності й надійності важливими виявляються їх гнучкість та глибина. І тут Єршову та її учням вдалося істотно просунутися в дослідженнях. Гнучкість змішаних обчислень то, можливо помітно збільшена, якщо змішаний обчислювач буде за отриманні залишкової програми враховувати як властивості даних мати конкретне значення, але й тонкі властивості, зумовлені відомими співвідношеннями між даними (предикати над даними). І тут змішаний обчислювач оперує із певною певної на даних обстановкою. Глибина змішаних обчислень визначається схемою змішаних обчислень. Поруч із суворої схемою змішаних обчислень, введеної спочатку, було визначено поливариантная схема, що з просуванням змішаних обчислень в альтернативи, навіть якщо вибір альтернатив може бути визначено в такому вычислении.

Разом з Островським Єршов досліджував застосування змішаних обчислень у такому традиційно важливій галузі, як трансляція, саме побудова трансляторів для заданого описи вхідного мови. Істотно відзначити, що саме отримано як результати, демонструють практичну придатність принципу змішаних обчислень (вдавалося будувати трансляторы більш ефективні, чому це характеризується звичайному автоматичному побудові), а й багато фактів і спостережень, важливих для зіставлення методів трансляції й розуміння сутності трансляції і що б методологічну важливість принципу змішаних вычислений.

Отже, у сфері змішаних обчислень Єршову належить не лише визначення основних понять і моделей, а й визначальний внесок у теорію і методологію цій галузі. Він у міру праву вважається засновником і «лідером цього напряму, активно развиваемого зараз у різних колективах і країнах. Відштовхуючись від трансформаційної моделі змішаних обчислень і південь від своїх робіт у царині трансляції й оптимізації програм, Єршов визначає концепцію трансформаційної машини. Трансформаційна машина є абстрактне обчислювальне пристрій, яке виконує програми у певній «сверхязыке », діями якого є трансформації пар (програма, дані). Дії ці підтримують збереження деякого інваріанту, що забезпечує коректність трансформацій. Концепція трансформаційної машини є досить багатообіцяючої - як і теоретична модель для описи і обгрунтування процесів обробки програм, як і методологічна основа побудови різних інструментальних процессов.

Концепція трансформаційної машини є тією важливим внеском в трансформаційний підхід побудувати програм, ентузіастом і пропагандистом якого було А. П. Ершов, й різні аспекти якого досліджуються у низці його найкращих робіт 80-х рр. Трансформаційний підхід розвивається зараз у ряді колективів ми й і є досить перспективним, оскільки він надає можливість отримувати програми із гарними показниками таких якостей, як надійність і ефективність, і навіть підвищує ступінь перевикористання програмного забезпечення. Роботи Єршова по трансформационному підходу дають природну точку зростання для наступних исследований.

Слід зазначити, що з роботами з мовам і методам трансляції роботи з змішаним обчисленням і трансформационному підходу були джерелом тієї самої ідеї Єршова про лексиконі программирования.

Укладають роботи Єршова з теорії програмування його до публікації, присвячені поняттю вычислимости. Сам він визначає ці роботи, як спробу синтезу поглядів на вычислимость, сформованих як і математичної логіці, і у теоретичному програмуванні. Оскільки поняття вычислимости одна із головних як у тому, і у іншої галузі і має фундаментальне значення й інших програмістських понять, очевидно, що визначення поняття вычислимости, абстрагованого від несуттєвих синтаксичних чи модельних понять разом із тим який охоплює необхідні для теорії та численної практики сутності, є одним із головних завдань, визначальних подальше взаємовплив математики програмування. У фундаментальної роботі «Проблеми програмування: Всесоюзна конференція у Новосибірську» (Вісник АН СРСР, 1970, № 6) проводиться глибокий аналіз значної частини визначень вычислимости, сформованих у областях, їх зіставлення і - оцінка внеску до загальну теорію. З даного аналізу Єршов намацує ідею визначення вычислимости: звести визначення вычислимой функції до поняття детермінанта, тобто. те, що є інваріантним до різним способам завдання обчислень. Очевидно, ці роботи Єршова матимуть таку ж стимулюючий значення для досліджень у сфері, як і його праці початку 1970;х рр. для теорії схем программ.

Проект АИСТ.

Однією із поважних заслуг Єршова перед вітчизняним і світовим програмуванням і те, що він умів оцінити поточний стан науки і практики і визначити ті реальні точки розвитку і перспективи досліджень, які визначатимуть розвиток програмування. Так, у другій половині 60-х рр. він однією з перших у країні усвідомив ті нові можливості спілкування з ЕОМ, які створюють системи поділу часу. У 1966 р. він організує роботи з автоматичним інформаційним станціям (проект ЛЕЛЕКА). Проект ЛЕЛЕКА, творцем і керівником якого було А. П. Ершов, об'єднував широкий коло досліджень з архітектурі обчислювальних комплексів, їх програмному забезпечення і моделювання обчислювальних систем. У цього проекту було створено країни розвинена система поділу часу АИСТ-0, проект якої було предметом доповіді на Конгресі AFIPS 1967 р. («Вхідний мову системи автоматичного програмування» попереднє повідомлення — М.: ПЦ АН СРСР, 1961), а підсумковий доповідь було зроблено на 2-ї Всесоюзній конференції з програмування 1970 р. («Программирующая програма для машини» Третє Всесоюзне нарада щодо обчислювальної математики й застосуванню коштів обчислювальної техніки, 1961). Реалізована на многомашинном комплексі з вітчизняних ЕОМ, цю систему була в чому піонерської і внесла великий внесок у розвиток вітчизняних робіт з архітектурі ЕОМ і операційним системам, які, на жаль, був у подальшому загальмовані орієнтацією на копіювання зарубіжних розробок. Ряд таких властивостей системи, як поділ в процесорах комплексу управління і методи обробки, ієрархічність будівлі програмного забезпечення, виділення ядра ОС, природне поєднання різних режимів спілкування, і обробки, забезпечили хорошу ефективність яких і гнучкість системы.

Осмислюючи досвід проекту ЛЕЛЕКА та інших подібних робіт в нас у країни й там у доповіді на Конгресі ИФИП-68, Єршов висуває кілька насущних тез: про спеціалізації процесів в многопроцессорном комплексі потреби ділити часу, про універсальних і спеціалізованих системах поділу часу й областях їхньої придатності, розбіжності вимог професіоналів і непрофесіоналів в програмуванні спілкування зі системами поділу час і про тому аспекті систем, що згодом буде названо дружністю до пользователю.

Досвід керівництва такими великими проектами, як АЛЬФА і ЛЕЛЕКА, й досвід роботи у тих проектах дали Єршову усвідомлення загальних проблем програмування і створення програмного забезпечення. У 1973 р. — з'являється оказавшая велике впливом геть розвиток вітчизняних робіт стаття. У роботі проводився глибокий і розгорнутий аналіз як зовнішніх властивостей машин четвертого покоління, і різних видів програмних систем: операційними системами, систем програмування та його вхідних мов, спеціалізованих систем обробки інформації, зокрема пакетів прикладних програм (у роботі дається класифікація ППП, що зберігає свою цінність і до нашого час). Виділено ряд характерних систем обробки інформації та визначено їх зовнішні та внутрішні властивості. Окреслена загальна модель ОС — так звана базова операційна система з концентрическим будовою. Зазначена у роботі спільність у реалізації мов програмування, створенні процесорів діалогових мов і культур систем відображення хоча й вилилася, як припускав автор, для створення універсальних систем, але стимулювала роботи по віднайденню загальної методології створення таких систем (втім, деяка обмежена у своїй універсальності многоязыковая транслирующая система на даної спільності було побудовано — це система БЕТА, яку говорилося выше).

Технологічні проблемы.

Істотним у цій роботі було і те, що піднімалися технологічні проблеми розробки програмного забезпечення. Єршов був однією з перших у країні, що поставили проблему створення технології програмування. Треба сказати, що прагнення Єршова провести аналогію між створенням програмного забезпечення і промисловим виробництвом, запровадити дисципліну, організацію, инструментирование у такому здавався багатьом старим програмістам нерегламентируемый творчий процес, як програмування, зустрічала в багатьох наших колег кінця 60-х рр. активне опір і навіть різкий протест. Те, що видається нині тривіальним твердженням, Єршову доводилося відстоювати їх у спекотних суперечках і дискуссиях.

Єршов ще 60-х рр. відстоював думку, що програмування, попри інтелектуальність і творча характер цього процесу, потребує організації та регламентації, наборі чи системі угод і правил, а про інструментальному забезпеченні. Керуючи і активна беручи участь у великих програмних проектах, Єршов з його допитливий розум було замислитися над питанням: «Як це? «Ще працях з АЛЬФА і АИСТу він говорить про ряді організаційних принципів, і що регламентують угод. Першої його роботою, повністю присвяченій технології програмування, була («Про одного вигляді контакту людини з машиною»). Автоматизація розумових процесів» матеріали наукових семінарів по теоретичним і прикладним питанням кібернетики, 1963.), вона була і першої радянської роботою у цьому яка виникла у роки новому напрямі, і російський термін — технологія програмування (software ingineering) — було запропоновано Єршовим. Відповідно до назвою велика частину роботи присвячувалася власне технології трансляції. У ньому розглядалися загальні питання проектування трансляторів: їх структури, системи технічних процедур тощо., питання вибору методів реалізації, питання налагодження і документування. Окремо розглядалися проблеми автоматизації побудови трансляторів і автоматизованого побудови документації. Важливою стороною роботи була те, що проблеми технології трансляції розглядалися загалом контексті технології створення великих програмних систем.

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

З загальметодологічної погляду у розвиток технологій програмування, їх обгрунтування й формування концептуального фундаменту вкрай важлива робота, що становить текст доповіді Єршова на засіданні Президії Академії наук СРСР. Для програмістської громадськості цю роботу як на мене щонайменше важливою, ніж членам Президії АН, яким зроблено цей доклад.

Давно вже ведуться спроби побудувати процес програмування як доказовий, у якому правильність програми обеспечиваема чи проверяема кожному етапі її побудови. Для реальних технологій програмування зі своїми безсумнівним вимогою забезпечення надійності (високого рівня правильності) програми ці спроби за її вдалому просуванні мали б неоціненне значення. Відомий, наприклад, підхід Э. В. Дейкстры, який грунтується на ідеальної тенденції будувати програму як точний вихід із математичної постановки завдання. Попри свою ідеальність і «навязываемость «жорсткої дисципліни, цей підхід є ідейній основою (то, можливо, не суто реалізованої) низки сучасних технологій. Проте підхід Єршова, пов’язані з оцінкою реального досвіду програмування і диференціацією різних його видів, — не нав’язування дисципліни, та її вилучення з практики — здається, й більш практичним, і більше широким.

Єршов виділяє і аналізує три виду програмування, які забезпечують його доказовість: синтезирующее, складальне і конкретизирующее. Синтезирующее програмування (однією з типів якого і те, яку здійснювався методом Дейкстры) пов’язані з автоматичним, автоматизируемым чи ручним маніпулюванням знанням про завданню, області застосування і общематематических засобах доказового міркування. Складальне програмування здійснює побудова програми з вже існуючих (випробуваних правильність) фрагментів. Конкретизирующее програмування грунтується на систематичному побудові спеціалізованих програм з універсальної заготівлі (однією з способів такого програмування є застосування змішаних обчислень). Єршов, з одного боку, розглядає специфіку кожного виду та зазначає їхнього розходження полягає, які мають виражатися у різних технологічних прийомах і інструментах, з іншого боку, свідчить, що з побудові реального програмного забезпечення ці види можуть бути нерідко повинні комбінуватися. Усе це дає основу до створення розвиненого методологічного фундаменту майбутніх технологій программирования.

Мініі мікроЭВМ.

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

Програмування — друга грамотность.

Єршов виявив прояснив низку істотних чорт, властивих програмування як науці, і людської діяльності. Зауваження і судження Єршова з цього приводу розкидані у багатьох його доробку, але є кілька широковідомих його статей, багаторазово переведених і виданих, які цілком присвячені не науковим чи технічним проблемам програмування, а питанням, що є програмування як наука і діяльність, що є програміст як специфічного інтелектуальної праці. Це роботи, як «Про людське і естетичному чинниках в програмуванні «, «Програмування — друга грамотність », «Два образу програмування «та інших. Діяльність, присвяченій пам’яті рано померлого талановитого програміста Г. И. Кожухина, міститься конструктивний аналіз протиріч, виникаючих між творчої природою программистского праці та яка потрібна на будь-яких масових професій виробничої його організацією. Головна теза статті: «Програмування має багатою, глибокою моральністю і своєрідною естетикою, що лежить основу внутрішнього відносини програміста зі своєю професії, будучи джерелом інтелектуальної сили, яскравих переживань, і глибокого задоволення. Коріння цієї естетики лежать у творчої природі програмування, його труднощі й громадської значимості «. Стаття сповнена глибоких суджень і зауважень, пояснюючих йому цю тезу. У статті підкреслюється елітарність програмістів й те водночас говориться необхідність зробити мистецтво програмування загальним достоянием.

Єршов зазначає, що програмування потрібно сучасному людині у силу те, що ЕОМ у майбутньому пронизає усі сторони життя, а й оскільки сучасна життя вимагає повсякденного планування й передбачення. Він розповідає: «Друга грамотність — це вміння писати команди, а й виховання людини, рішучу й завбачливого разом ». Програмування, укладає Єршов, є істотною компонентом сучасного навчання і виховання. Єршов чітко формулює інтуїтивно осознававшееся положення про те, що не можна програмування розглядати однаково. Він поділяє програмування на два виду: програмування собі програмування замовникові і описує корінні відмінності цих видів, образів програмування. Відповідно він вводить терміни «программист-слуга «і «программист-хозяин «і, як глибоко різняться їх манери, стилі і навіть критерії. Така конструктивна диференціація програмування вкрай важлива під час створення реальних технологій програмування, та й низки більш загальних речей, що виражаються навіть у етики та естетиці програмування. У науковому плані цю роботу містить модель програмної обстановки для программиста-хозяина, засновану цього разу вже згадуваній трансформаційної машине.

Помітною лінією робіт Єршова є роботи, присвячені спілкуватися з ЕОМ природному мові. Початковим підходом до конструктивизации цих проблем була робота «Про одного вигляді контакту людини з машиною ». Вперше у вітчизняній та, очевидно, в світовій літературі Єршов спробував сформулювати ряд точно поставлених завдань реалізації такої спілкування. Роздуми з цього приводу, поєднані з дослідженнями лінгвістів (И.А.Мельчук) і системних програмістів (А. З. Нариньяни), сприяли появі проекту РИТА. Проект РИТА у вигляді, як описувався, ні реалізований, проте його можна чітко простежити, як низку істотних ідей цього проекту перейшов у згодом реалізовані лінгвістичні процесори і системи штучного інтелекту: виділення проміжного рівня семантичного уявлення, співвідношення лінгвістичних і програмних складових діалогової системи, наявність интерфейсных блоків й інших (класичних) програмних систем, множинність значень інтерпретує функцій (що пізніше було обобщено А. С. Нариньяни в понятті недовизначених множин) і т.д.

Після цього Єршов проводить подальшу конструктивизацию проблем спілкування природному мові, виділяючи природний мови дуже важливе підмножина мови ділової прози. Також А. П. Ершов дає загальне визначення ділової прозі як мовною носію виробничих відносин чоловіки й зазначає, що вона фактично виділяється в особливу лінгвістичну категорію. Ряд властивостей ділової прози — внутрішня формализованность, чіткість функцій повідомлення — свідчить про актуальності як необхідності, а й можливості навчити машину повністю (Єршов це підкреслює) розуміти й сприймати цю мову. Далі Єршов розглядає істотні риси глобальної моделі повного сприйняття мови стосовно ділової прозі. Тут у свої дослідження і міркуваннях Єршов виходить поза межі власне програмування і формулює фундаментальну проблему створення машинного фонду російської. Відзначаючи зв’язок цієї проблеми з рішенням завдання спілкування з ЕОМ природному мові, він підкреслює дуже важливу наукову, загальнокультурну і прикладну значимість цієї проблемы.

Інші проекты.

Єршов був і ідейним керівником та інших проектів, не згаданих вище. Наведемо за приклад такі проекти, як система програмування СЕТЛ для мови надвисокої рівня (мови специфікацій), професійна робоча станція МАРМУР чи шкільна система програмування ШКОЛЯРКА. Хоча Єршов ні розробником в проектах і брав участь у публікаціях із них, цих проектів харчувалися його ідеями і обговореннями з нею. Наукові напрями діяльності Єршова різноманітні. У це властиво багатьом програмістам 50-х й конкуренції початку 60-х рр. — можна навести чимало прикладів радянських і зарубіжних програмістів, які мають хороші результати у трьох — чотирьох різняться наукових напрямах. Такий характер діяльності природний науковцям, які перебувають при витоків нової наукової дисципліни (і, на жаль, мало доступний тим, хто входить у вже сформовану, з великим спектром оформились напрямів науку). Проте й і натомість перших програмістів Єршов виділяється воістину «ломоносовской «широтою своїх і результатов.

Вывод.

Андрію Петровичу Єршов визначив розвиток радянського та світового програмування десятки років вперед: він проводив фундаментальні дослідження у сфері обчислювальної техніки, схем програм, теорії компіляції та інших. Саме завдяки йому з’явилася так звана логічна ЕОМ, котра від конкретної реалізації. То справді був принципово новий крок: раннє кожна програма писалася лише одним конкретним машини та сильно від конкретних фізичних схем і могла застосовуватися на інших ЕОМ, що дуже утрудняло поширення программирования.

Можливо, ідея лексикону є одним із основних, залишених нам Єршовим. Вона може бути джерелом створення наукових кадрів і методичних основ програмування десятки років вперед. Багатовимірні значення — масиви і списки, містять подібні дані, було також придумані й вперше реалізовані наукова група Єршова. Їм створено такі мови програмування, як АЛЬФА, АЛЬФА-6 і БЕТА, він брав активну участь в створенні Алгола та її варіацій. Треба сказати, що поширений навчальний мову програмування — Паскаль і найбільш популярний мову серед професіоналів — Сі та її модифікації є алголоподобными, тобто. в основі взято принципи, використовувані в Алголе.

Творчий доробок академіка А. П. Ершова, однієї з видатних учених з інформатики, внесло визначальний внесок у становлення і сучасний стан світового програмування. Вона містить як підходи і методи, надійно ввійшли до теорію, методологію і практику сучасного програмування і упредметнені у яких, і ряд ідей концепцій, дають основу палестинцям не припиняти досліджень. Саме останні потребують живому продовженні та розвитку. Це — концепція змішаних обчислень, поняття абстрактної вычислимости, трансформаційний підхід, положення про наукових засадах доказового програмування, нарешті, що об'єднує їхня ідея лексикону програмування як джерело ухвали і інтеграції досліджень зі створення майбутнього образу програмування. Він також проводив дослідження у сфері штучного інтелекту. Вплив на поширення програмування у масах також спроектував під що свідчить його заслуга — Єршов чимало часу приділяв розвитку цієї дисципліни до шкіл і вузах.

Отже, може бути сміливо назвати однією з основоположників програмування. Але не можна забувати, що відомий своїми роботами вона деякі рамки, що вже стали шаблонами, що, зрозуміло, гальмує фундаментальні дослідження, хоча й дуже допомагає при конкретної реалізації программ.

Використовувана литература:

1) internet без назви — близько 20 грудня 2003 г.

2) Архів академіка Єршова, електронну версію internet — близько 20 грудня 2003 г.:

А) «Про одного методі звернення матриць» — доповідь АН СРСР, 1955 г.

Б) «АЛЬФА-рождение, чи як створювалася система автоматичного програмування» — «За науку у Сибіру», 1965.

У) стаття Поттосина про Ершове.

Р) «Операторные алгоритми. Про операторных схемах Янова» — «Проблеми кібернетики», 1968. 3) «Наука у Сибіру», internet, близько 20 грудня 2003 г.

4) «Радянська Сибір», internet, близько 20 грудня 2003 г.

Показати весь текст
Заповнити форму поточною роботою