Смекни!
smekni.com

Курс лекций (стр. 7 из 24)

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

Языки Perl [4], Python [5], Rexx [6], Tcl [7], Visual Basic и оболочки Unix (shell) представляют стиль программирования, отличный от присущего языкам программирования систем. Этот стиль предполагает, что набор полезных в контексте решаемой задачи компонентов уже существует и остается должным образом их скомбинировать. Например, Tcl и Visual Basic могут служить для размещения на экране набора управляющих элементов пользовательского интерфейса, а написанные на shell командные файлы позволяют собрать программы-фильтры в конвейеры. Хотя языки сценариев часто используются для расширения свойств компонентов, они мало пригодны для программирования сложных алгоритмов и структур данных, обычно как раз и обеспечиваемых компонентами. Вот почему языки сценариев часто называют склеивающими языками (glue languages) или языками интеграции систем (system integration languages).

ПАСКАЛЬ (PASCAL). Обеспечивает возможность создания больших программ, поддерживая их строгую логическую структуру. Это ценно для начинающих программистов, создающих серьезные программы, т.к. приучает их к определенной дисциплине. Для коротких программ может оказаться слишком громоздким. Считается важнейшим инструментом для обучения методам структурного программирования. Компилятор Турбо Паскаль был выпущен в продажу фирмой Борланд в 1983 году. Начиная с версии 7.0, язык стал называться Борланд Паскаль, а с появлением системы Delphi был переименован в Объектный Паскаль. Сейчас входной язык Delphi содержит уже очень много синтаксических расширений по сравнению со стандартным Паскалем. Существует даже мнение, что именно отсутствие необходимости придерживаться стандарта языка объясняет тот факт, что визуальная среда программирования была создана компанией Борланд сначала для Паскаля, а уж потом для Си. Но думаю также, что не менее, а скорее более важной причиной этого было то, что разработкой Delphi занимался выдающийся программист A.Хейльсберг.

Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре "клиент-сервер". Этот компилятор в настоящее время является самым быстрым в мире, его скорость компиляции составляет свыше 120 тысяч строк в минуту на компьютере 486DX33. Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения (4GL) и в то же время обеспечивает качество кода, характерного для компилятора 3GL. Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на Си или ручного написания кода (хотя это возможно). Еще до компиляции он видит результаты своей работы - после подключения к источнику данных их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде. В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10-20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора. Кроме того, компилятор компилятору рознь, в Delphi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом быстродействии готового приложения. Cреда Delphi включает в себя полный набор визуальных инструментов для скоростной разработки приложений

(RAD - rapid application development), поддерживающей разработку пользовательского интерфейса и подключение к корпоративным базам данных. VCL - библиотека визуальных компонент, включает в себя стандартные объекты построения пользовательского интерфейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файлами, управление DDE и OLE. Единственное, что можно поставить в вину Delphi, это то, что готовых компонент, поставляемых Borland, могло бы быть и больше. Однако, разработки других фирм, а также свободно распространяемые программистами freeware-компоненты уже восполнили этот недостаток. Постойте, - скажете вы, ведь это уже было. Да, это было в Visual Basic. Соответствующий стандарт компонент назывался VBX. И этот стандарт так же поддерживается в Delphi. Однако, визуальные компоненты в Delphi обладают большей гибкостью. Вспомним, в чем была проблема в VB. Прикладной программист программировал, вообще говоря, в среде языка бэйсик. А компоненты в стандарте VBX готовили ему его коллеги-профессионалы на С++. VBX'ы приходили, "как есть", и ни исправить, ни добавить ничего было нельзя. А для изготовления VBX надо было осваивать "кухню" языка C++. В Delphi визуальные компоненты пишутся на объектном паскале, на том же паскале, на котором пишется алгоритмическая часть приложения. И визуальные компоненты Delphi получаются открытыми для надстройки и переписывания. Чувствуете разницу?

ФОРТРАН (FORTRAN). В основном используется для программ, выполняющих естественно-научные и математические расчеты. Существует мнение, что этот язык оказал долговременное влияние «в том смысле, что начиная с 1957 г. все исследования в области языков программирования имели своей целью преодоление недостатков, присущих Фортрану».

В 1995 г. Международная организация по стандартам (ISO) предложила проект нового стандарта языка — Fortran 95. Он был принят взамен Fortran 90 в октябре 1996 г. Однако Американский национальный институт по стандартам (ANSI), на решения которого ориентируются все разработчики США, утвердил этот стандарт лишь летом 1997 г. В стандарт Fortran 95 включено 17 новых функций, многие из них являются расширением существовавших операторов языка. Одновременно из него удалено пять старых конструкций. Кроме того, составлен список устаревающих операторов — кандидатов на удаление при следующей ревизии стандарта. В целом нововведения в Fortran 95 представляются не очень существенными, большинство из них уже было реализовано во многих компиляторах как неофициальные расширения языка. Во всяком случае, эти нововведения не идут ни в какое сравнение с революционными изменениями, произошедшими при переходе к Fortran 90.

В начале 1997 г. Microsoft объявила о прекращении своей деятельности по развитию средств разработки на базе языка Фортран. Данное решение тогда вызвало явную озабоченность программистов, пишущих на Фортране, который продолжает оставаться весьма популярной системой в сфере математических расчетов. Довольно значительная часть задач решается именно на ПК, а для них Фортран-инструменты Microsoft занимали лидирующие позиции. Следует напомнить, что речь шла о трех выпущенных в 90-х годах пакетах, которые довольно широко применяются и в настоящее время: 2 MS Fortran 5.1 (выпуск 1990 г.). Система для MS-DOS, позволяющая создавать 16-разрядные DOS-приложения, способные работать с оперативной памятью до 64 Мб; 2 MS Fortran PowerStation (FPS) 1.0 (1993 г.). Разработка и отладка программ ведется в среде Windows, в результате чего получаются 32-разрядные приложения для DOS, использующие до 4 Гб оперативной памяти; 2 MS Fortran PowerStation 4.0 (1995 г.). Создание 32-разрядных приложений под Windows 95 и NT. Полная поддержка стандарта Fortran-90. Однако уход Microsoft сопровождался заключением соглашения с корпорацией Digital Equipment, по которому последняя лицензировала среду MS Developer Studio для своего нового пакета Visual Fortran (DVF) 5.0 под Windows NT (Intel, Alpha) и Windows 95. В обращении к своим пользователям Microsoft рекомендовала для будущего обновления именно пакет DVF 5.0. Таким образом, Digital, имевшая многолетний опыт создания средств разработки для Фортрана (в основном для Unix-систем), получала отличную возможность продвинуться в сферу ПК. А Microsoft не только продавала свою среду разработки, но и обеспечивала тем самым высокую степень интеграции собственных инструментальных средств с новым продуктом Digital. Переходя к характеристике основных возможностей DVF 5.0, о выпуске которого было официально объявлено весной 1997 г., мы рассмотрим их с точки зрения трех главных компонентов — самого языка программирования, среды разработки и вариантов получения законченных приложений, обратив особое внимание на новшества DVF 5.0 по сравнению с FPS 4.0. Основные характеристики DVF 5.0 Компилятор DVF 5.0 (как и FPS 4.0) поддерживает три основных стандарта языка — FORTRAN 66, FORTRAN 77 и Fortran 90. Кроме того, в нем можно использовать большое число специфических расширений языка, имеющихся в FPS 4.0, а также в Digital Fortran, для других компьютерных платформ. DVF 5.0 включает также все новшества самого последнего стандарта языка — Fortran 95. Однако варианта компиляции в режиме Fortran 95 как такового в DVF 5.0 нет, поскольку к моменту выпуска продукта этот стандарт еще не был официально утвержден. В DVF 5.0 используется интегрированная среда разработки Developer Studio, которая применяется в качестве основы всего семейства средств разработки Microsoft (ее предыдущий вариант имелся и в FPS 4.0). Она представляет собой многооконный редактор текста с широкими возможностями настройки среды и включает целый ряд универсальных средств: отладчик кода, встроенную справочную систему, профайлер для изучения частоты обращения к отдельным частям программы, средство просмотра структуры программы и межпроцедурных ссылок, редактор для создания компонентов графического интерфейса пользователя и пр. В рамках одного проекта можно использовать исходные модули, написанные на разных языках, что существенно упрощает разработку приложений методом смешанного программирования, в том числе на VC++, VB, VJ++ и MASM. С помощью DVF можно получать библиотеки подпрограмм (статические OBJ и динамические DLL) и исполняемые модули. Для создания законченных приложений разработчик может выбрать один из следующих типов исполняемых модулей. 3 Console application. Такая программа вообще не содержит графики и реализует наиболее простую форму диалогового интерфейса — ввод данных в традиционном стиле MS-DOS. Это самый быстрый и наиболее легко переносимый на другие платформы тип рабочей программы. 3 Standard Graphics. Данный вариант исполняемого модуля имеет однооконный графический интерфейс. Его рекомендуется применять в тех случаях, когда есть необходимость графического вывода, но не нужен развитой интерфейс пользователя. 3 QuickWin Graphics Application. При создании модуля этого типа используется библиотека QuickWin, позволяющая применять сокращенный набор функций WinAPI 32, с помощью которого можно создать многооконный интерфейс. 3 Win32 Application. Этот модуль является полнофункциональным Windows-приложением, которому доступны все ресурсы WIN32 API. Все эти варианты Fortran-приложения были реализованы и в FPS 4.0. Новшеством DVF 5.0 является встроенное средство Fortran Module Wizard, которое обеспечивает генерацию исходных модулей на языке Fortran 90 для обращения к процедурам DLL-библиотек, методам ActiveX-объектов, а также функциям COM-серверов. Формирование текстов этих модулей производится в автоматическом режиме в процессе заполнения экранных форм, запрашивающих информацию об объекте. DVF 5.0 поставляется в двух редакциях — Standard и Professional. Последняя появилась в конце 1997 г. и дополнительно включает известную математическую библиотеку IMSL фирмы Visual Numerics, которая входила ранее и во все Фортран-инструменты Microsoft. Стоимость данных редакций DVF 5.0 составляет соответственно 599 и 799 долл., причем документацию и лицензию можно приобрести отдельно. Имеются льготные цены для пользователей Фортран-инструментов (причем не только от Digital и Microsoft). Научные бюджетные институты и вузы могут приобрести пакет с “академической” скидкой.