|
Lec 1-2 Ускоренники. Лекция 1 Основы систем программирования. Основы vba. Вопросы лекции Тема Основы алгоритмизации и программирования. Тема Классификация языков программирования
Компиляция Процессы трансляции и выполнения разделяются во времени: - исходная программа переводится на машинный язык,
- скомпилированная программа может многократно исполняться.
Конечный продукт компиляции – объектный модуль – программа в машинных кодах, преобразовывается в загрузочный модуль – исполняемый файл. Недостаток: большая сложность. Классификация по модели исполнения Четкого разграничения систем не существует, так как традиционно интерпретируемые языки могут быть скомпилированы и наоборот. Классификация языков программирования высокого уровня по модели исполнения: - Интерпретируемые - Python, Haskell, PHP, JavaScript.
- Компилируемые сразу в машинный код: C, C++, Fortran, ASM.
- Компилируемые в байт-код: Python, Java.
- Транскомпилируемые: Haskell, Fortran, C, C++.
Различают процедурно-ориентированные, проблемно-ориентированные и объектно-ориентированные языки программирования высокого уровня. - Процедурно-ориентированные языки применяются для записи процедур или алгоритмов обработки информации. Требуют явного последовательного описания алгоритма. Операторы объединяются в процедурные группы, отделенные от самих данных. Фортран, Pascal, Basic, С.
- Проблемно-ориентированные языки используются для решения специфических задач. Максимально формализовано описывают саму задачу и требуемый результат. Решение должно логически следовать из этого описания. Лисп, Пролог, VHDL.
- Объектно-ориентированные. В основе – концепция объекта, объединяющего в себе данные и методы их обработки.
Большинство из объектно-ориентированных языков являются версиями процедурных и проблемных языков, но программирование с их помощью является более наглядным и простым. Visual Basic Basic; Delphi Pascal; Visual Fortran Fortran; C++ C; Prolog++ Prolog. Объектно-ориентированные языки Основными концепциями ООП (объектно-ориентированного программирования) являются: - инкапсуляция - скрытие функционала внутри объекта;
- наследование одними объектами методов других;
- полиморфизм - изменение сути с сохранением внешнего интерфейса.
Развитие ВТ увеличение возможностей развитие программирования разделение труда не только между программистами и представителями других профессий, но и в среде программистов создание программ как отчуждаемых самостоятельных продуктов Программы стали обладать всеми свойствами любого промышленного изделия, а программирование превратилось в индустриальную отрасль. Время существования программного обеспечения, начиная со стадии разработки и до момента полного отказа от использования в выбранной сфере применения вплоть до полного изъятия приложения из обихода. - малым временем жизни
- большим временем жизни.
Этим классам соответствуют 2 подхода в их создании: - гибкий (как объект научного творчества)
- жестко стандартизированный (промышленный)
Программы с малым временем жизни создаются для решения научных и инженерных задач, для получения конкретных результатов вычислений. - относительно не велики от 1 до 10000 команд
- разрабатываются одним специалистом или маленькой группой
- не предназначены
для тиражирования и передачи для последующего использования в другие коллективы. создаются для регулярной обработки информации и управления сложными вычислительными системами. - размеры изменяются в широких пределах
- обладают свойством познаваемости
- возможность модификации в процессе использования различными специалистами
- допускают тиражирование
- сопровождаются
документацией как промышленные изделия - представляют собой
отчуждаемый программный продукт Модели жизненного цикла Каскадная модель жизненного цикла (англ. waterfall model) была предложена в 1970 г. Уинстоном Ройсом. Предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. |
|
|