31
Информа́тика (нем. Informatik, фр. Informatique, англ. computer science — компьютерная наука — в США, computing science — вычислительная наука — в Великобритании) — наука о способах получения, накопления, хранения, преобразования, передачи и использовании информации. Она включает дисциплины, относящиеся к обработке информации в вычислительных машинах и вычислительных сетях

Структура информатики (Д.А. Поспелов)

  • Upload
    wiley

  • View
    73

  • Download
    0

Embed Size (px)

DESCRIPTION

Информа́тика ( нем. Informatik , фр. Informatique , англ. computer science — компьютерная наука  — в США, computing science — вычислительная наука  — в Великобритании) — наука о способах получения, накопления, хранения, преобразования, передачи и использовании информации. - PowerPoint PPT Presentation

Citation preview

Page 1: Структура информатики  (Д.А. Поспелов)

•Информа́� тика́ (нем. Informatik, фр. Informatique, англ. computer science — компьютерная наука — в США, computing science — вычислительная наука — в Великобрита́нии) — на́ука́ о способа́х получения, на́копления, хра́нения, преобра́зова́ния, переда́чи и использова́нии информа́ции.

Она́ включа́ет дисциплины,

относящиеся к обра́ботке информа́ции

в вычислительных ма́шина́х

и вычислительных сетях

Page 2: Структура информатики  (Д.А. Поспелов)

• Структура́ информа́тики (Д.А. Поспелов)

• теория а́лгоритмов (формальные модели алгоритмов, проблемы вычислимости, сложность вычислений и т. п.);

• ба́зы да́нных (структуры данных, поиск ответов на запросы, логический вывод в базах данных, активные базы и т. п.);

• искусственный интеллект (представление знаний, вывод на знаниях, обучение, экспертные системы и т. п.);

• бионика́ (математические модели в биологии, модели поведения, генетические системы и алгоритмы и т. п.);

• ра́спозна́ва́ние обра́зов и обра́ботка́ зрительных сцен (статистические методы распознавания, использование призначных пространств, теория распознающих алгоритмов, трехмерные сцены и т. п.);

• инженерия ма́тема́тического обеспечения (языки программирования, технологии создания программных систем, инструментальные системы и т. п.);

• теория компьютеров и вычислительных сетей (архитектурные решения, многоагентные системы, новые принципы переработки информации и т. п.);

• компьютерна́я лингвистика́ (модели языка, анализ и синтез текстов, машинный перевод и т. п.);

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

• нейрома́тема́тика́ и нейросистемы (теория формальных нейронных сетей, использование нейронных сетей для обучения, нейрокомпьютеры и т.п.).

Page 3: Структура информатики  (Д.А. Поспелов)

• Информа́ционные технологии (ИТ, от англ. information technology, IT) — широкий кла́сс дисциплин и обла́стей деятельности, относящихся к технологиям упра́вления да́нными и обра́ботки да́нных.

• ИТ имеют дело с использова́нием компьютеров и програ́ммного обеспечения для хра́нения, преобра́зова́ния, за́щиты, обра́ботки, переда́чи и получения информа́ции. Специа́листов по компьютерной технике и програ́ммирова́нию ча́сто на́зыва́ют ИТ-специа́листа́ми.

Page 4: Структура информатики  (Д.А. Поспелов)

• Определение ЮНЕСКО:

• ИТ — это комплекс вза́имосвяза́нных на́учных, технологических, инженерных дисциплин, изуча́ющих методы эффективной орга́низа́ции труда́ людей, за́нятых обра́боткой и хра́нением информа́ции; вычислительную технику и методы орга́низа́ции и вза́имодействия с людьми и производственным оборудова́нием, их пра́ктические приложения, а́ та́кже связа́нные со всем этим социа́льные, экономические и культурные проблемы.

Page 5: Структура информатики  (Д.А. Поспелов)

• От програ́ммирующих програ́мм к система́м програ́ммирова́ния (российский опыт)

• Тра́нсляция - это обла́сть, с которой на́чина́лось системное програ́ммирова́ние.

•• Первыми програ́мма́ми, прина́длежа́щими

системному програ́ммному обеспечению, • были тра́нсляторы - а́ссемблеры на́ За́па́де,

програ́ммирующие програ́ммы (ПП) у на́с. •• Возникновение первых идей по тра́нсляции

обяза́но простому сообра́жению: та́к ка́к програ́мма́ хра́нима́, ка́к и да́нные, то она́ может быть а́ргументом или результа́том ра́боты а́лгоритмов, которые реа́лизуют те или иные а́спекты конструирова́ния програ́мм.

Page 6: Структура информатики  (Д.А. Поспелов)

Алексей Андреевич Ляпунов

Page 7: Структура информатики  (Д.А. Поспелов)

–На́ча́льные идеи по тра́нсляции были выдвинуты в 1952 году, на́ са́мом ра́ннем эта́пе ра́звития програ́ммирова́ния.

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

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

На языке операторных схем программа представляется как схема, соответствующая управляющему графу программы, и совокупность спецификаций каждого оператора.

Эти идеи А.А.Ляпунов положил в основу курса по программированию, читавшегося им в Московском Университете.

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

Page 8: Структура информатики  (Д.А. Поспелов)

ПРОГРАММИРУЮЩИЕ ПРОГРАММЫ

Первые отечественные тра́нсляторы носили на́зва́ние програ́ммирующих програ́мм.

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

Типы опера́торов соответствова́ли пода́вляющему большинству реша́емых тогда́ за́да́ч, а́ именно - вычислительным за́да́ча́м. Выделялись а́рифметические опера́торы, ведущие вычисление по формула́м, логические опера́торы, осуществляющие упра́вление счетом, опера́торы переа́дреса́ции, позволяющие переходить к следующему зна́чению индекса́, все неа́рифметические вычисления объединялись в та́к на́зыва́емые неста́нда́ртные опера́торы, для которых специфика́цией был их ма́шинный код.

Специа́льного подъязыка́ описа́ния да́нных, за́ча́тки которого появились в более поздних ФОРТРАНе и Алголе, не существова́ло.

Page 9: Структура информатики  (Д.А. Поспелов)

На́чина́лось все с ПП-1. Молодые тогда́ програ́ммисты С.С.Ка́мынин и Э.З.Любимский исследова́ли реа́лизуемость опера́торных схем и возможность а́втома́тического построения соответствующих ма́шинных програ́мм. За́конченна́я в 1954 году програ́ммирующа́я програ́мма́ ПП-1 являла́сь одним из первых в мировой пра́ктике тра́нсляторов и, по-видимому, имела́ са́мый высокий уровень входного языка́.

Успешное решение проблемы реа́лизуемости опера́торных схем ка́к входного языка́ програ́ммирующих програ́мм, осуществленное в ПП-1, да́ло толчок для двух проектов, ра́зра́бота́нных для двух основных тогда́ отечественных ма́шин - Стрела́ и БЭСМ-1.

Програ́ммирующа́я програ́мма́ ПП-2, созда́нна́я под руководством М.Р.Шура́-Буры в 1955 г. для ма́шины Стрела́, основыва́ла́сь на́ ПП-1 ка́к прототипе.

В ПП-2 были усовершенствова́ны а́лгоритмы тра́нсляции и было уделено за́метное внима́ние оптимиза́ции програ́мм - оптима́льному отведению па́мяти для ра́бочих ячеек. Это был, по-видимому, первый оптимизирующий тра́нслятор.

Page 10: Структура информатики  (Д.А. Поспелов)

ПП для БЭСМ-1, ра́зра́бота́нна́я А.П.Ершовым, Л.Н.Королевым, В.М.Курочкиным и другими, ра́звива́ла́ входной язык програ́ммирующих програ́мм. Во-первых, она́ объединяла́ схему и специфика́цию опера́торов в одном тексте, во-вторых, был введен структурный опера́тор цикла́.

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

С использова́нием идей и а́лгоритмов этих ра́бот была́ ра́звернута́ деятельность по созда́нию следующего слоя програ́ммирующих програ́мм.

. Ка́к некоторый итог этого на́ча́льного эта́па́

предста́вляется вышедша́я в 1958 году перва́я в мировой на́уке моногра́фия А.П.Ершова́, посвященна́я проблема́м тра́нсляции. Моногра́фия пра́ктически сра́зу была́ переведена́ и изда́на́ за́ рубежом.

Page 11: Структура информатики  (Д.А. Поспелов)

Нужно за́метить, что с тра́нсляции на́чина́лось не только системное, но и теоретическое програ́ммирова́ние. Именно ра́боты по входным языка́м (опера́торным схема́м) и тра́нслятора́м (програ́ммирующим програ́мма́м) послужили толчком к созда́нию первой ма́тема́тической модели програ́мм --- схема́м Янова́.

ТРАНСЛЯТОРЫ С АЛГОЛА

Советские ра́боты 1953 - 1958 гг. ра́звива́лись неза́висимо от мирового опыта́.

Пра́ктически па́ра́ллельно с отечественными ра́бота́ми появились серьезные труды по тра́нсляции и в США. Сопоста́вимый по уровню входного языка́ известный тра́нслятор с ФОРТРАНа́ был описа́н в ста́тье Дж. Бэкуса́, появившейся в 1957г. Реа́льное привлечение мирового опыта́ к отечественным ра́зра́ботка́м по тра́нслятора́м на́ча́лось с возникновением Алгола́.

Page 12: Структура информатики  (Д.А. Поспелов)

БИБЛИОТЕКИ СТАНДАРТНЫХ ПРОГРАММ

Па́ра́ллельно с ра́бота́ми по програ́ммирующим програ́мма́м ра́звива́лся и подход к а́втома́тиза́ции програ́ммирова́ния с помощью библиотек ста́нда́ртных програ́мм.

Е.А. Жоголевым была́ ра́зра́бота́на́ ста́нда́ртна́я соста́вляюща́я програ́мма́ --- ССП, котора́я осуществляла́ ста́тическую за́грузку и связыва́ние ста́нда́ртных програ́мм из библиотеки.

Ккульмина́цией этого подхода́ было созда́ние под руководством М.Р. Шура́-Бура́ интерпретирующей системы ИС-2, котора́я использова́ла́сь повсеместно на́ новых ма́шина́х М-20 и учитыва́ла́сь всеми тра́нслятора́ми нового поколения.

В ИС-2 был реа́лизова́н способ дина́мического подключения библиотечных подпрогра́мм.

ИС-2 реа́лизовыва́ла́ некоторые функции будущих опера́ционных систем, осуществляя дина́мическое связыва́ние, подка́чку и смену используемых подпрогра́мм.

Высока́я эффективность ИС-2 и хорошо продума́нный интерфейс с основной програ́ммой сдела́ли ее (ка́к и положено опера́ционной системе) неотъемлемой ча́стью комплекта́ поста́вки ЭВМ.

Page 13: Структура информатики  (Д.А. Поспелов)

Существенно новым ша́гом в ра́звитии на́пра́вления тра́нсляции ста́ло созда́ние совокупности тра́нсляторов с АЛГОЛа́ для появившейся ма́ссовой ма́шины М-20.

Хотя язык опера́торных схем имел уже доста́точно высокий уровень, вполне сопоста́вимый с уровнем тогда́шней версии ФОРТРАНа́, Алгол-60 был ка́чественно новым языком.

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

При всех достоинства́х програ́ммирующих програ́мм доля програ́ммирова́ния непосредственно в ма́шинном языке была́ преобла́да́ющей.

Переход к современному стилю програ́ммирова́ния на́ языка́х програ́ммирова́ния высокого уровня был осуществлен бла́года́ря созда́нию первых «а́лголовских» тра́нсляторов.

Page 14: Структура информатики  (Д.А. Поспелов)

Ра́боты на́д этими тра́нслятора́ми (ТА-1, ТА-2 и АЛЬФА ) на́ча́лись пра́ктически сра́зу после публика́ции за́вершенного междуна́родной ра́бочей группой описа́ния языка́ Алгол-60.

ТА-1, и ТА-2 были за́вершены в 1963г., пра́ктически одновременно с другими известными за́па́дными ра́бота́ми - П.На́ура́ и Э.Дейкстры. Тра́нслятор АЛЬФА ввиду объемности реа́лиза́ции был за́вершен годом позже.

_____Тра́нслятор ТА-1, ра́зра́бота́нный под руководством

С.С.Ла́врова́, основыва́лся на́ быстрой и простой схеме тра́нсляции (в ча́стности, был ра́зра́бота́н стековый подход к програ́ммирова́нию выра́жений).

Для достижения та́кой схемы а́вторы отка́за́лись от ряда́ средств Алгола́-60: рекурсивности процедур, на́личия ста́тических (собственных - own) объектов в блока́х, от возможности введения па́ра́метров процедур без их типиза́ции и пр. Вместе с тем, особое внима́ние было уделено простоте и удобству эксплуа́та́ции.

Page 15: Структура информатики  (Д.А. Поспелов)

Ра́боты на́д этими тра́нслятора́ми (ТА-1, ТА-2 и АЛЬФА ) на́ча́лись пра́ктически сра́зу после публика́ции за́вершенного междуна́родной ра́бочей группой описа́ния языка́.

ТА-1, и ТА-2 были за́вершены в 1963г., т.е. пра́ктически одновременно с другими известными за́па́дными ра́бота́ми --- П.На́ура́ и Э.Дейкстры. Тра́нслятор АЛЬФА ввиду объемности реа́лиза́ции был за́вершен годом позже.

_____Тра́нслятор ТА-1, ра́зра́бота́нный под руководством

С.С.Ла́врова́, основыва́лся на́ быстрой и простой схеме тра́нсляции (в ча́стности, был ра́зра́бота́н стековый подход к програ́ммирова́нию выра́жений).

Для достижения та́кой схемы а́вторы отка́за́лись от ряда́ средств Алгола́-60: рекурсивности процедур, на́личия ста́тических (собственных - own) объектов в блока́х, от возможности введения па́ра́метров процедур без их типиза́ции и пр. Вместе с тем, что существенно для современных систем, особое внима́ние было уделено простоте и удобству эксплуа́та́ции.

Page 16: Структура информатики  (Д.А. Поспелов)

Тра́нслятор ТА-2, ра́зра́бота́нный под руководством М.Р.Шуры-Буры, не вводил пра́ктически огра́ничений ни на́ язык, ни на́ ра́змеры входных програ́мм. В тра́нсляторе был ра́зра́бота́н оригина́льный а́лгоритм програ́ммирова́ния процедур (понима́емых ка́к потенциа́льно рекурсивные), меха́низмы упра́вления па́мятью ка́к единства́ опера́тивной и внешней па́мяти.

В ма́е 1963 г. первым из всех трех этот тра́нслятор уже демонстрирова́лся на́ междуна́родной конференции по а́втома́тиза́ции програ́ммирова́ния в Киеве.

В АЛЬФА-тра́нсляторе, ра́зра́бота́нном под руководством А.П.Ершова́, особое внима́ние уделялось эффективности получа́емых програ́мм. Большой на́бор оптимизирующих возможностей (изощренное програ́ммирова́ние процедур, циклов и индексных вычислений, глоба́льна́я экономия па́мяти и пр.) да́ва́л возможность получа́ть объектные програ́ммы, ма́ло отлича́ющиеся по времени исполнения от созда́нных вручную програ́мм.

Пла́тить за́ это приходилось большим объемом тра́нслятора́, большим числом проходов (24 прохода́), отка́зом от некоторых средств Алгола́, оптима́льна́я реа́лиза́ция которых не была́ на́йдена́ (в ча́стности, ка́к и в ТА-1, рекурсивность была́ за́прещена́).

Page 17: Структура информатики  (Д.А. Поспелов)

Вместе с тем входной язык являлся ра́сширением Алгола́, включа́вшим опера́ции на́д многомерными зна́чениями.

В целом в АЛЬФА-тра́нсляторе на́ча́ла́ скла́дыва́ться современна́я методология оптимизирующей тра́нсляции с та́кими ее понятиями, ка́к внутренний язык, многопроходна́я реа́лиза́ция оптимизирующих преобра́зова́ний.

В целом, эта́ совокупность тра́нсляторов покрыва́ла́ ра́знообра́зные за́просы пользова́телей.

В отличие от програ́ммирующих програ́мм все а́лголовские системы были уже на́стоящими система́ми програ́ммирова́ния, близкими к современным система́м, - они включа́ли в себя не только собственно тра́нслятор, но та́кже отла́дочные и некоторые реда́ктирующие средства́.

Page 18: Структура информатики  (Д.А. Поспелов)

В ТА-1 и АЛЬФА-систему входили отла́дочные реда́кторы, которые по за́да́нию на́ отла́дку созда́ва́ли отла́дочную версию програ́мм.

Пла́тформой для всех систем была́ ИС-2, все системы включа́ли ее средства́ в свой входной язык и строили програ́ммы, ориентирова́нные на́ использова́ние ИС-2.

ЯЗЫКИ СИСТЕМНОГО ПРОГРАММИРОВАНИЯ

Инициирова́нное созда́нием тра́нсляторов появление системного програ́ммирова́ния поста́вило за́да́чу созда́ния а́деква́тных языков програ́ммирова́ния.

Все языки, появившиеся к на́ча́лу 60-х годов -- Фортра́н, Кобол, Алгол-60 и др. - не учитыва́ли этой обла́сти програ́ммистской деятельности, и а́лголовские системы, будучи доста́точно большими програ́ммными система́ми, писа́лись еще в ма́шинных кода́х вручную.

Page 19: Структура информатики  (Д.А. Поспелов)

Адеква́тные языки нужны были не только для тра́нсляторов, но и для всей возника́ющей обла́сти системного програ́ммирова́ния: на́ча́ли появляться и другие языковые процессоры, первые опера́ционные системы, информа́ционные системы.

В связи с этим и у на́с, и на́ За́па́де на́ча́ли

появляться специа́льные языки, предна́зна́ченные для системного програ́ммирова́ния.

Ха́ра́ктерной особенностью первого поколения этих языков (связа́нной с необходимостью хорошо учитыва́ть а́рхитектуру и ма́шинное предста́вление да́нных) была́ ма́шинна́я ориентирова́нность. Ра́зра́ба́тыва́лись эти языки, ка́к пра́вило, в коллектива́х, имевших большой опыт в созда́нии системных програ́мм - та́ковыми в тот период были системы програ́ммирова́ния.

Отечественные языки Алмо, Эпсилон, Сигма́, которые были одними из первых в мире языка́ми системного програ́ммирова́ния, созда́ва́лись поэтому в коллектива́х тра́нсляторщиков, только что за́вершивших большие програ́ммные проекты и почувствова́вших, ка́ково са́пожнику обходиться без са́пог.

Page 20: Структура информатики  (Д.А. Поспелов)

Язык АЛМО имел в своей основе некоторую а́бстра́ктную ма́шину, отра́жа́вшую особенность существова́вшего тогда́ кла́сса́ ма́шин.

Помимо того, что этот язык был языком реа́лиза́ции для системного програ́ммирова́ния, он предна́зна́ча́лся быть языком-посредником при тра́нсляции с ра́зличных языков.

Идея была́ в том, чтобы за́менить тра́нсляцию с m

входных языков в n ма́шинных языков тра́нсляцией "из m в один" и "из одного в n". Ва́жно за́метить, что в языке существова́ли средства́ определения многопроцессности (типа́ fork и joint).

Были созда́ны реа́лиза́ции языка́ для основных отечественных ма́шин того времени (М-20, Минск 2, Ура́л 11, БЭСМ-6) и тра́нсляторы с Алгола́-60 и ФОРТРАНа́ в АЛМО, причем все тра́нсляторы та́кже были на́писа́ны на́ АЛМО и "ра́скручены" на́ всех этих ма́шина́х.

------

Page 21: Структура информатики  (Д.А. Поспелов)

• Святослав Сергеевич Лавров

Page 22: Структура информатики  (Д.А. Поспелов)

К 1941 г. успел закончить в Ленинградском университете два курса матмеха.

Во время учебы в ЛГУ интересовался теорией вычислений, хотя в ту пору в университете ее более основательно преподавали не матмеховцам, а астрономам. Они часто работали на арифмометрах, выдававшихся в читальном зале.

Пошел в ленинградское народное ополчение. Был направлен в Ленинградскую военно-воздушную академию. Окончил ее с дипломом военного инженера-механика и попал по распределению техником звена в истребительный авиационный полк.

В начале 1947 г. был демобилизован из армии и принят на работу на должность начальника группы баллистики в подмосковное ОКБ в отдел Главного конструктора Сергея Павловича Королева. Однако продолжал осваивать математику и даже поступил заочно на мехмат МГУ.

Page 23: Структура информатики  (Д.А. Поспелов)

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

С.С. Ла́вров принял решение посвятить себя впредь

уже не ба́ллистике, а́ програ́ммирова́нию. В это время ра́боты под упра́влением С. П. Королева́ по подготовке полета́ Юрия Га́га́рина́ шли полным ходом и сектор ба́ллистики и С.С. Ла́вров принима́ли в этих ра́бота́х са́мое непосредственное уча́стие.

«Сергей Па́влович, вероятно, не мог не за́метить, на́сколько я был поглощен и увлечен проблема́ми использова́ния вычислительной техники. Поэтому одобрил мой переход из отдела́ дина́мики на́ за́ведова́ние вычислительным центром, на́считыва́вшим примерно 300 человек и включа́вшим в себя и группу програ́ммирова́ния (созда́н в ОКБ в конце 50-х годов)».

Page 24: Структура информатики  (Д.А. Поспелов)

«Язык Алгол 60 мне сра́зу очень понра́вился, и я на́писа́л о нем книгу. Существова́вшие уже языки Фортра́н, Кобол стра́да́ли большими недоста́тка́ми. По сра́внению с ними гла́вным достоинством языков Алгол 60 и позже Па́ска́ля было то, что они вобра́ли в себя все са́мое лучшее и необходимое, в отличие, ска́жем, от языка́ PL1, в котором а́вторы поста́ра́лись воплотить чуть ли не все возможности, известные на́ тот момент в мире».

«Мы решили принять уча́стие в созда́нии тра́нслятора́ с Алгола́ 60. На́ тот момент две группы уже приступили к ра́зра́ботке своих тра́нсляторов: Миха́ил Рома́нович Шура́-Бура́ и Эдуа́рд Зиновьевич Любимский в Институте прикла́дной ма́тема́тики АН СССР и А. П. Ершов - в отделе ВЦ Сибирского отделения АН (ВЦ возгла́влял тогда́ Г. И. Ма́рчук). Обе группы вежливо отка́за́лись от предложения о сотрудничестве с отделом програ́ммирова́ния ОКБ, поэтому мы на́ча́ли действова́ть са́мостоятельно».

«На́ша́ группа́ за́кончила́ ра́зра́ботку тра́нслятора́ в октябре 1962 года́ ра́ньше, чем другие две группы. На́ за́седа́нии Президиума́ АН, которое проводил Мстисла́в Всеволодович Келдыш, были за́чита́ны докла́ды от ка́ждой из групп, и на́ши общие результа́ты получили весьма́ высокую оценку».

Page 25: Структура информатики  (Д.А. Поспелов)

«В 1966 году после смерти Сергея Па́вловича́ я перешел из ОКБ в систему Ака́демии на́ук и приступил к за́ведова́нию ла́бора́торией програ́ммирова́ния в Вычислительном центре, который возгла́влял Ана́толий Алексеевич Дородницын. Он счита́л, что мне следова́ло за́няться координа́цией ра́зра́ботки програ́ммного обеспечения для гла́вной вычислительной ма́шины стра́ны того времени - БЭСМ-6. Сна́ча́ла́ диспетчер - за́родыш опера́ционной системы, потом и другие програ́ммы для БЭСМ-6 созда́ва́ли ра́зные орга́низа́ции: "родитель" - Институт точной меха́ники и вычислительной техники, МГУ, на́ш ВЦ, группа́ в Свердловске и др. Честно говоря, скоординирова́ть действия этих ра́зра́ботчиков не уда́лось, та́к ка́к ка́ждый счита́лся только со своими взгляда́ми, и в этом смысле я не опра́вда́л на́дежд Дородницына́».

«Одной из самых удачных своих работ в ВЦ считаю реализацию языка ЛИСП для БЭСМ-6. До этого существовали реализации ЛИСПа, но более скромные и менее распространившиеся, чем наша. Мы работали вдвоем: я и мой аспирант Гиви Сергеевич Силагадзе, с которым в 1978 году была написана книга "Автоматическая обработка данных. Язык Лисп и его реализация»

Page 26: Структура информатики  (Д.А. Поспелов)

«Сегодня существует много новых реализаций ЛИСПа. Так я работаю на CLISP (Common LISP). В языке ЛИСП учтен опыт построения языков программирования для компьютеров, накопленный за 20 лет после появления машины Тьюринга - одной из первых абстрактных моделей, ставшей наиболее популярной в теории вычислимости. Обработка формул, автоматическое доказательство теорем, математические выкладки - сфера применения ЛИСПа в отличие от вычислительных задач, которые лучше решать с применением таких языков, как Паскаль, Алгол и др».

• Ка́кие быва́ют языки програ́ммирова́ния

«На́иболее ра́спростра́ненные и известные языки програ́ммирова́ния: Фортра́н, Алгол, Кобол, ПЛ-1, Алгол-68, Па́ска́ль, ныне за́быта́я Ада́, которую сменили языки семейства́ C, Java и др, - прина́длежа́т фа́ктически к одному семейству, которое продела́ло за́метную эволюцию, но в основе оста́лось кла́ссом языков опера́торного, процедурного типа́. Это - типичные языки для описа́ния и предста́вления а́лгоритмического зна́ния.

Было два́ гла́вных события, ка́ждое из которых озна́менова́ло для меня на́ча́ло нового эта́па́ в ра́звитии а́лгоритмических языков: появление Алгола́ 60 (а́вторы - интерна́циона́льна́я группа́ специа́листов) и ра́зра́ботка́ Никла́усом Виртом языка́ Па́ска́ль».

Page 27: Структура информатики  (Д.А. Поспелов)

«Существует еще одно семейство языков, ведущих в основном свое на́ча́ло от языка́ ЛИСП (1960 г.) и ха́ра́ктеризующихся по-ра́зному: языки для обра́ботки символьной информа́ции, языки обра́ботки списков (LISP - List Processing), языки искусственного интеллекта́, языки упра́вления робота́ми, языки логического програ́ммирова́ния или же функциона́льные непроцедурные языки.

Некоторые их черты, та́кие, ка́к списки свойств и а́ссоциа́тивные списки, прямо ориентирова́ны на́ предста́вление зна́ний, другие (использова́ние списочных структур, рекурсивность, меха́низм возвра́тов) - на́ решение логических за́да́ч типа́ а́втома́тического дока́за́тельства́ теорем».

«Семейство очень ва́жно для созда́ния и использова́ния ба́з зна́ний. В него входят ра́зличные версии ЛИСПа́ (а́втор языка́ - Джон Ма́кка́рти), язык Плэнер и др. Примыка́ет к ним язык Пролог, интерес к которому возрос после того, ка́к японцы в своем проекте "ЭВМ пятого поколения" отвели Прологу одно из центра́льных мест».

Page 28: Структура информатики  (Д.А. Поспелов)

Тра́нслятор ТА-1М

Тра́нслятор ТА-1М созда́н коллективом исполнителей под руководством члена́-корр. АН СССР С. С. Ла́врова́ и ка́нд. техн. на́ук В. А. Степа́нова́; этот тра́нслятор предста́вляет собой модернизирова́нный ва́риа́нт ра́зра́бота́нного в 1963 г. тра́нслятора́ ТА-1. Тра́нслятор может быть использова́н на́ ма́шина́х М-20, М-220, М-220М, БЭСМ-4. При переходе от одной ма́шины к другой из-за́ ра́зличия устройств вывода́ приходится изменять некоторые блоки.

Входной язык тра́нслятора́ ТА-1М является конкретным предста́влением языка́ АЛГОЛ-60.

Page 29: Структура информатики  (Д.А. Поспелов)

Програ́мма́, полученна́я при помощи ТА-1М, приблизительно в 1,5–2,5 ра́за́ длиннее та́кой же програ́ммы, соста́вленной в кода́х ма́шины програ́ммистом среднего уровня, и выполняется примерно в 1,5–2,5 ра́за́ дольше.

TA-1M позволяет отла́жива́ть програ́ммы в ходе их выполнения: для этого используется специа́льный режим тра́нсляции, при котором в ра́бочую програ́мму вста́вляются группы кома́нд, обеспечива́ющих проверку в ходе вычислений пра́вильности ра́боты програ́ммы. При возникновении в процессе ра́боты програ́ммы а́ва́рийных ситуа́ций производится а́на́лиз ошибки с выда́чей сведений о месте и причина́х ошибки. Выда́ются на́ печа́ть зна́чения величин и их идентифика́торы из зоны програ́ммы, содержа́щей ошибку. Это позволяет а́на́лизирова́ть програ́мму, на́писа́нную на́ АЛГОЛе, без а́на́лиза́ програ́ммы в коде ма́шины.

Page 30: Структура информатики  (Д.А. Поспелов)

Входной язык тра́нслятора́ позволяет использова́ть любую ста́нда́ртную програ́мму (СП) библиотеки ИС-2 и после тра́нсляции формирует на́ ма́гнитном ба́ра́ба́не библиотеку СП, к которым имеются обра́щения в програ́мме. Та́ким обра́зом исключа́ются обра́щения к ленте за́ СП и уменьша́ется время выполнения програ́ммы.

ТА-1М оформляет процедуры, ка́к СП в системе ИС-2. Это позволяет получа́ть доста́точно большие програ́ммы. Предусмотрен режим а́втономной тра́нсляции процедур, что позволяет орга́низова́ть большую библиотеку СП.

К недоста́тка́м следует отнести то, что полученные после тра́нсляции програ́ммы используют только один куб опера́тивной па́мяти. Большие програ́ммы с отла́дочными вста́вка́ми ча́сто не помеща́ются в МОЗУ.

Page 31: Структура информатики  (Д.А. Поспелов)

Тра́нслятор ТА-2М