Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 1 (ч.5 дополн). СП С#.doc
Скачиваний:
5
Добавлен:
01.04.2025
Размер:
520.19 Кб
Скачать

© Автор Горелов С.В.

Тема 1. Информационные процессы и средства их реализации

Лекция 2. Информационные процессы

  1. Традиционные и новая технологии разраб. Прогр.

Логические

Императивные

Декларативные

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 – сильно дополненный, управляемый С++