1. Машинно-ориентированное программирование
    1. изобретение ЭВМ
      1. массовая профессия программиста
        1. Ада Лавлейс
          1. первый программист
          2. разработка программы управления Аналитической машиной
    2. первый язык программирования
      1. машинно-ориентированные автокоды
        1. ассемблеры
          1. снаятие с программиста заботы
          2. о распределении памяти под данные и комады программы
          3. о запоминании внутренних кодов всех команд процессоров
          4. Для каждой командеы процессора существует свой аналог команды на ассемблере
          5. У разных типов ЭВМ разные ассемблеры
          6. огрвничение для прикладных программистов
          7. макроассемблеры
          8. язык с макрокомандами, соответствующие сериям команд на языке процессора
          9. составление программы проще, чем на языке команд процессора
    3. системная программа
      1. транслятор
        1. распределение памяти под данные и команды
        2. перевод команд ассемблера в машинные команды
    4. Subtopic 4
  2. Языки программирования высоко уровня
    1. примеры
      1. Паскаль
        1. 1969
        2. Никлаус Вирт
        3. учебный язык структурного программирования
        4. распространение засчет персональных компьютеров
        5. Turbo Pascal
          1. для ПК
          2. разработано фирмой Borland International
          3. интегрированная среда программирования
          4. возможность удобно раьотать
          5. стал языком профессионального программирования с универсальными возможностями
        6. источник многих основных языков программирования
          1. Ада
          2. Модула-2
      2. Бейсик
        1. 1965, Дартмутский университет
        2. простой язык
          1. легко изучаемый
          2. предназначен для программирования несложных расчетных задач
          3. наибольшее распространение с появлением макро-ЭВМ и прикладных комрьютеров
      3. Фортран
        1. 1954
        2. специализированный язык для математических расчетов
          1. наука
          2. техника
        3. основной язык программирования для расчетов в области физико-технических проблем
    2. Си
      1. инструментальный язык для разработки операционных систем, трансляторов, баз данных и др. программ
      2. язык высолого уровня
      3. Си++
    3. машинно-независимый стандарт для каждого языка
    4. текст программы по форме ближе к естественным языкам
      1. язык математики
    5. легче освоить чем ассемблеры
      1. возросло число прикладных программистов
      2. расширилось применение ЭВМ во многих областях
    6. первые ЯПВУ
      1. Кобол
        1. язык для программирования экономических задач
      2. Алгол
        1. ориентирован на научно-технические расчеты математического характера
      3. 1950
      4. характерная черта-предметная ориентация языков
  3. Парадигмы программирования
    1. определенный общепринятый подход к организации вычислений на компьютере
    2. определяет систему базовых понятий
      1. программирование
    3. процедурная парадишма программирования
      1. основан на представлениях о фон-неймановской архитектуре компьютера
    4. база
      1. базовое понятие
        1. пончтие величины
      2. базовая операция
        1. операция присваивания
    5. решение задачи
      1. изменение состояния памяти
        1. помещение в памяти исходных данных
        2. получение результата
    6. функциональная парадигма программирования
      1. ЛИСП
        1. 1958
        2. создан на основе понятия рекурсивной функции
        3. универсальный язык
          1. моделирование сложных процессов
          2. интеллектуальная деятельность человека
      2. Haskell
      3. Scheme
    7. Логическая парадигма программирования
      1. Пролог
        1. Франция
        2. 1972
        3. язык искусственного интеллекта
        4. основан на аппарате математической логики
        5. строение базы знаний в определенной предметной области
          1. совокупноять фактов и правил
        6. решение задачи
          1. формулирование запроса к базе знаний
          2. цель
        7. реализация цели
          1. ответ на запрос
          2. происходит через заложенный в интерпритатор Пролога алгоритм
          3. механизм вывода
        8. решение логических тем
          1. ограниченный круг искусственного интеллекта
      2. Planner
      3. Mercury
      4. Fril
    8. Объектно-ориентированная парадигма
      1. основано на концепции объектов и классов
      2. объект
        1. характеризуется набором свойств и действий
        2. определенный класс
      3. выстраивание иерархий классов
      4. описание объектов и их взаимодействий
      5. программная реализация различных действий над объектами
      6. языки
        1. Симула
          1. 1967
      7. внедрение в процедурные языки
      8. внедрние элементов ООП в процедурные языки
  4. Методологии и технологии программирования
    1. методология программирования
      1. совокупность определенных способов написания, отладки и сопровождения программ
      2. "структурное программирование"
        1. первая наиболле известная
        2. Эдсгер Дейкстр, Чарльз Хоар
        3. появление языков структурного программирования
          1. 1960
          2. Алгол-60
          3. Паскаль
          4. приобретение структурных свойств у не структурных языков
          5. Турбо Бейсик
          6. Фортран-77
        4. важнейшая методология программирования
    2. новая технология программирования
      1. визуальное программирование
        1. 1990
        2. причина
          1. развитие ООП программирования
          2. развитие средств графичесного интерфейса на персональных компьютерах
        3. легкое и быстрое строение наглядных графических интерфейсов для программ на основе стандартного набора шаблонов
        4. Delphi