
- •Тема 1. Информационные процессы и средства их реализации
- •Традиционные и новая технологии разраб. Прогр.
- •Язык с#. Компонентно-ориентированный язык
- •Платформа .Net
- •Устанавливаемое на компьютер по .Net
- •Готовые блоки кода
- •Visual Studio .Net позволяет создавать приложения для:
- •Интерпретатор,
- •Управляемый модуль — это стандартный переносимый исполняемый (portable executable, ре) файл Windows на промежуточном языке il, который требует для своего выполнения clr. Языки для платформы .Net
- •Программа на промежуточном языке msil
- •Переносимость
© Автор Горелов С.В.
Тема 1. Информационные процессы и средства их реализации
Лекция 2. Информационные процессы
Традиционные и новая технологии разраб. Прогр.
Логические
Императивные
Декларативные
SML,
Haskell, Scheme
C#
VB.Net,
F#...
Mercury
Oberon,
Eiffel
Языки
поддержки параллельных вычислений
Ada
Modula-2
Oz
MSIL
VBA
Языки
сценариев
VBScript
PowerScript LotusScript JavaScript
VB – частично объектно-ориентированный язык (нет наследования и полиморфизма).
Набор директив (операторов), обращенных к компьютеру, получил название императивного подхода к программированию.
Суть декларативного подхода состоит в том, что программа представляет собой не набор команд, а описание действий, которые необходимо осуществить.
Отличительной особенностью функционального программирования является то, что любая программа, написанная на таком языке (Lisp, SML), может интерпретироваться как функция с одним или несколькими аргументами. Сложные программы при таком подходе строятся посредством агрегирования функций. При этом текст программы представляет собой функцию, некоторые аргументы которой можно также рассматривать как функции.
Согласно логическому подходу к программированию, программа (Prolog) представляет собой совокупность правил или логических высказываний. Кроме того, в программе допустимы логические причинно-следственные связи, в частности, на основе операции импликации.
Таким образом, языки логического программирования базируются на классической логике и применимы для систем логического вывода, в частности, для так называемых экспертных систем. На языках логического программирования естественно формализуется логика поведения, и они применимы для описаний правил принятия решений, например, в системах, ориентированных на поддержку бизнеса.
Языки сценариев или скрипты: в рамках объектно-ориентированного подхода программа представляет собой совокупность возможных сценариев обработки данных, выбор которых инициируется наступлением того или иного события (щелчок по кнопке мыши, попадание курсора в определенную позицию, изменение атрибутов того или иного объекта, переполнение буфера памяти и т.д.). События могут инициироваться как операционной системой (в частности, Microsoft Windows), так и пользователем.
Основные достоинства языков данного класса унаследованы от объектно-ориентированных языков программирования. Это интуитивная ясность описаний, близость к предметной области, высокая степень абстракции, хорошая переносимость.
Упрощенная
классификация
ЯП
Язык
машины
Языки
высокого уровня
Язык
ассемблера
Языки
высокого уровня
Классические
языки
Специализированные
Процедурные
SQL
Логические
Объектно-ориентированные
Функциональные
Компонентно-ориентированные
Для
Интернет-приложений
Зависимость
от платформы
машинно-зависимые
машинно-независимые
компилирующего
типа
интерпретирующего
типа
для
виртуальной машины
Обзор
ЯП
Язык ассемблера – машинно-зависимый
Классические
языки
высокого
уровня
C – машинно-ориентированный
Algol, Fortran, PL/1, Cobol, PL/M,
Pascal, Turbo Pascal, Delphi,
Basic – интерпретатор, Visual Basic, VBA
C++, Java – интерпретатор
Новое поколение языков для .NET: С#, VB.NET, C++.NET, J#.NET и др.
Языки
искусственного
интеллекта
(функциональные)
Lisp
Языки
логического программирования
Prolog
Языки
для создания
Интернет-сайтов и
Интернет-приложений
HTML JavaScript JScript VB Script Perl PHP XML . . .
Характеристика языков для Windows-платформы
Язык С. Процедурно-ориентированный язык
Автор
Дэнис Ритчи
Возник
в 1970 г. в связи с переходом к структурному
программированию («спагетти»)
Наиболее
популярен в 80-е годы прошлого столетия
Определил
направление сегодняшнего программирования
Достоинства:
мощный язык системного программирования
(адресная арифметика)
Недостатки:
труден
для понимания,
не
контролирует ошибки программиста,
трудно
разрабатывать большие комплексы
(методика модульного и структурного
программирования не справлялась с
большими проектами),
низкая
производительность программирования.
Язык С++. Объектно-ориентированный язык
Автор
Бьярни Страуструп
Возник
в 1979 г. в связи с переходом к
объектно-ориентированному программированию
для повышения производительности
разработки больших программ
Был
наиболее популярным в 90-е годы прошлого
столетия
Является
развитием языка С.
Достоинства:
мощный
язык системного программирования
(адресная арифметика)
Реализуется
более простая технология использования
наработок, представленных в виде
объектов
Позволяет
создавать высокопроизводительные,
критичные ко времени программы
Недостатки:
труден
для понимания
представляет
из себя некое месиво ключевых строк,
описаний и архаичных конструкций
(например, описание строки: char*, LPSTR,
LPTSTR, string, Cstring, wchar_t*, OLECHAR* и т.д.), не
контролирует ошибки программиста,
трудно
использовать ранее созданные компоненты
язык
отягощен наследством: обеспечение
обратной совместимости версий языка
в процессе его развития привело к
повышению сложности языка и трудности
его применения (например, обеспечивается
совместимость с Windows 3.1!).
Язык Visual Basic. Объектно-ориентированный язык с ограниченной поддержкой функций ООП
Достоинства:
Относительно
прост для программиста,
Скрывает
в себе многие детали Windows API и структуру
компонентов COM.
Недостатки:
Громоздкие
и неочевидные конструкции языка
Никогда
не был полностью объектно-ориентированным
Не
позволяет писать хорошо структурированные
программы
Ограничен
в использовании богатых возможностей
Windows
Не
позволяет создавать крупные проекты
Характеристика языков для .NET-платформы
С#
– новый язык, разработанный с нуля
для новой платформы .NET Framework. VB.NET –
практически новый язык
С++.NET
– сильно
дополненный, управляемый
С++