Объектно-ориентированное проектирование с примерами



         

Тенденции в проектировании


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

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

    развитие и совершенствование языков программирования высокого уровня.

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

    Вегнер сгруппировал некоторые из наиболее известных языков высокого уровня в четыре поколения в зависимости от того, какие языковые конструкции впервые в них появились:

      Первое поколение (1954-1958)

      FORTRAN I Математические формулы
      ALGOL-58 Математические формулы
      Flowmatic Математические формулы
      IPL V Математические формулы

      Второе поколение (1959-1961)

      FORTRAN II Подпрограммы, раздельная компиляция
      ALGOL-60 Блочная структура, типы данных
      COBOL Описание данных, работа с файлами
      Lisp Обработка списков, указатели, сборка мусора

      Третье поколение(1962-1970)

      PL/I FORTRAN+ALGOL+COBOL
      ALGOL-68 Более строгий приемник ALGOL-60
      Pascal Более простой приемник ALGOL-60
      Simula Классы, абстрактные данные

      Потерянное поколение (1970-1980)

        Много языков созданных, но мало выживших [Последняя фраза, очевидно, следует евангельскому "...много званных, но мало избранных" (Матф. 22:14). - Примеч. ред.] [2].

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


    Содержание  Назад  Вперед