Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Классификация языков программирования ).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 24.04.2023

Просмотров: 406

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

XML. В августе 1996 года WWW-консорциум, ответственный за стандарты на Интернет-технологии, приступил к подготовке универсального языка разметки структуры документов, базировавшегося на достаточно давно созданной в Мmex технологии SGML. Новый язык получил название XML. Сегодня он служит основой множества системных, сетевых и прикладных приложений, позволяя представлять в прозрачном для пользователей и программ текстовом виде различные аспекты внутренней структуры иерархически организованных документов. В недалеком будущем он может стать заменой HTML.

Языки моделирования

При создании программ и формировании структур баз данных нередко применяются формальные способы их представления — формальные нотации, с помощью которых можно визуально представить (изобразить с помощью мыши) таблицы баз данных, поля, объекты программы и взаимосвязи между ними в системе, имеющей специализированный редактор и генератор исходных текстов программ на основе созданной модели. Такие системы называются CASE-системами, В них активно применяются нотации IDEF, а в последнее время все большую популярность завоевывает язык графического моделирования UML.

Прочие языки программирования

PL/I (ПЛ/1). В середине 60-хгодов компания IBM решила взять все лучшее из языков Фортран, Кобол и Алгол. В результате в 1964 году на свет появился новый компилируемый язык программирования, который получил название Programming Language One. В этом языке было реализовано множество уникальных решений, полезность которых удается оценить только спустя 33 года, в эпоху крупных программных систем. По своим возможностям ПЛ/1 значительно мощнее многих других языков (Си, Паскаля). Например, в ПЛ/1 присутствует уникальная возможность указания точности вычислений - ее нет даже у Си++ и Явы. Этот язык и сегодня продолжает поддерживаться компанией IBM.

Smalltalk (Смолток). Работа над этим языком началась в 1970 году в исследовательской лаборатории корпорации XEROX, а закончились спустя 10 лет, воплотившись в окончательном варианте интерпретатора SMALLTALK-80. Данный язык оригинален тем, что его синтаксис очень компактен и базируется исключительно на понятии объекта. В этом языке отсутствуют операторы или данные. Все, что входит в Смолток, является объектами, а сами объекты общаются друг с другом исключительно с помощью сообщений (например, появление выражения 1+1 вызывает посылку объекту I сообщения «+», то есть «прибавить», с параметром 1, который считается не числом-константой, а тоже объектом). Больше никаких управляющих структур, за исключением «оператора» ветвления (на самом деле функции, принадлежащей стандартному объекту), в языке нет, хотя их можно очень просто смоделировать. Сегодня версия Visual Agefor Smalltalk активно развивается компанией IBM.


LISP (Лисп). Интерпретируемый язык программирования, созданный в 1960 году Джоном Маккарти. Ориентирован на структуру данных в форме списка и позволяет организовывать эффективную обработку больших объемов текстовой информации.

Prolog (Пролог). Создан в начале 70-х годов Аланом Колмероэ. Программа на этом языке, в основу которого положена математическая модель теории исчисления предикатов, строится из последовательности фактов и правил, а затем формулируется утверждение, которое Пролог будет пытаться доказать с помощью введенных правил. Человек только описывает структуру задачи, а внутренний «мотор» Пролога сам ищет решение с помощью методов поиска и сопоставления.

Ada (Ада). Назван по имени леди Огасты Ады Байрон, дочери английского поэта Байрона и его отдаленной родственницы Анабеллы Милбэнк. В 1980 году сотни экспертов Министерства обороны США отобрали из 17 вариантов именно этот язык, разработанный небольшой группой под руководством Жана Ишбиа. Он удовлетворил на то время все требования Пентагона, а к сегодняшнему дню в его развитие вложены десятки миллиардов долларов. Структура самого языка похожа на Паскаль. В нем имеются средства строгого разграничения доступа к различным уровням спецификаций, доведена до предела мощность управляющих конструкций.

Forth (Форт). Результат попытки Чарльза Мура в 70-х годах создать язык, обладающий мощными средствами программирования, который можно эффективно реализованным на компьютерах с небольшими объемами памяти, а компилятор мог бы выдавать очень быстрый и компактный код, то есть служил заменой ассемблеру. Однако сложности восприятия программного текста, записанного в непривычной форме, сильно затрудняли поиск ошибок, и с появлением Си язык Форт оказался забытым.

3. КРИТЕРИИ ВЫБОРА ЯЗЫКА РАЗРАБОТКИ ПРОГРАММ

Из универсальных языков программирования сегодня наиболее популярны следующие:

•Бейсик (Basic) — для освоения требует начальной подготовки (общеобразовательная школа);

•Паскаль (Pascal) — требует специальной подготовки (школы с углубленным изучением предмета и общетехнические вузы);

•Си++ (C++), Ява (Java), Си Шарп (С#) — требуют профессиональной подготовки (специализированные средние и высшие учебные заведения).

Для каждого из этих языков программирования сегодня имеется немало систем программирования, выпускаемых различными фирмами и ориентированных на различные модели ПК и операционные системы.


Наиболее популярны следующие визуальные среды быстрого проектирования программ для Windows:

•Basic:MicrosoftVisualBasic;

•Pascal:BorlandDelphi;

•C++:MicrosoftVisualC++;

•Java:BorlandJBuilder,

•C#:MicrosoftVisualStudio.NET,BorlandС#Builder.

Для разработки серверных и распределенных приложений можно использовать систему программирования Microsoft Visual C++, продукты фирмы Borland, практически любые средства программирования нa Java.

В дальнейшем будут рассматриваться возможности, характерные для Бейсика, Паскаля и Си++.

В самом общем случае для создания программы на выбранном языке программирования нужно иметь следующие компоненты.

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

2.Исходный текст с помощью программы-компилятора переводится в машинный код. Если обнаружены синтаксические ошибки, то результирующий код создан не будет.

На этом этапе уже возможно получение готовой программы, но чаще всего в ней не хватает некоторых компонентов, поэтому компилятор обычно выдает промежуточный объектный код (двоичный файл, стандартное расширение .OBJ).

3.Исходный текст большой программы состоит, как правило, из нескольких моделей (файлов с исходными текстами), потому что хранить все тексты в одном файле неудобно - в них сложно ориентироваться. Каждый модуль компилируется в отдельный файл с объектным кодом, которые затем надо объединить в одно целое.

Кроме того, к ним надо добавить машинный код подпрограмм, реализующих различные стандартные функции (например, вычисляющих математические функции sin или In). Такие функции содержатся в библиотеках (файлах со стандартным расширением .LIB), которые поставляются вместе с компилятором. Сгенерированный код модулей и подключенные к нему стандартные функции надо не просто объединить в одно целое, а выполнить такое объединение с учетом Требований операционной системы, то есть получить на выходе программу, отвечающую определенному формату.


Объектный код обрабатывается специальной программой – редактором связей или сборщикомкоторый выполняет связывание объектных модулей и машинного кода стандартных функций, находя их в библиотеках, и формирует на выходе работоспособное приложение - исполнимый код для конкретной платформы.

Если по каким-то причинам один из объектных модулей или нужная библиотека не обнаружены (например, неправильно указан каталог с библиотекой), то сборщик сообщает об ошибке и готовой программы не получается.

4. КРИТЕРИИ ВЫБОРА СРЕДЫ РАЗРАБОТКИ ПРОГРАММ

Рассмотрим несколько различных известных сред разработки и выберем наиболее понравившуюся и удобную для использования среду.

Lazarus - открытая среда разработки программного обеспечения на языке Object Pascal для компилятора Free Pascal. Интегрированная среда разработки предоставляет возможность кроссплатформенной разработки приложений в Delphi подобном окружении.

Она позволяет переносить Delphi-программы с графическим интерфейсом в различные операционные системы: Linux, FreeBSD, MacOSX, MicrosoftWindows.

Lazarus основан на библиотеке визуальных компонентов Lazarus Component Library (LCL). В настоящее время практически полностью поддерживает виджетыWin32,GTK1,GTK2,Carbon. В разработке находятся виджеты Qt и Win CE. Поддерживает преобразование проектов Delphi. Реализован основной набор элементов управления. Редактор форм и инспектор объектов максимально приближенные к Delphi.

Lazarus имеет интерфейс отладки и простой переход для Delphi программистов благодаря близости LCL к VCL.

Пакет имеет полностью юникодный (UTF-8) интерфейс и редактор, следовательно, поэтому отсутствуют проблемы с импортом кода, содержащего национальные символы. В Lazarus имеется мощный редактор кода, включающий систему подсказок, гипертекстовую навигацию по исходным текстам, автозавершение кода и рефакторинг, а также форматирование кода “из коробки” использованием механизмов Jedi Code Format. В нем осуществлена поддержка двух стилей ассемблера: Intel и AT&T (поддерживаются со стороны компилятора).

В Lazarus осуществлена поддержка множества типов синтаксиса Pascal: ObjectPascal, TurboPascal, MacPascal, Delphi, поддерживаемых со стороны компилятора. Он имеет собственный формат управления пакетами.

Авто сборка самого себя осуществляется нажатием одной кнопки. Lazarus компилирует проекты в следующие ОС: Linux, Microsoft Windows (Win32,Win64), MacOSX, FreeBSD, WinCE, OS/2.


Недостатками среды Lazarus является отсутствие полной совместимости с Delphi (хотя в отличие от Delphi предоставляет возможность создавать более кроссплатформенные приложения), а также отсутствие полной документации, хотя она доступна в виде Wiki-учебников, которые могут редактировать сами пользователи.

При компиляции с настройками проекта по умолчанию получается большой файл, размер которого достигает 14,1 Мб. Без генерации отладочной информации размер файла равен примерно 1,8 Мб.

C++ Builder - это программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке C++ Builder (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор кода и многие другие компоненты. Цикл разработки аналогичен Delphi. Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации. C++ Builder содержит инструменты, которые при помощи drag-and-drop действительно делают разработку визуальной, упрощается программирование благодаря встроенному WYSIWYG-редактору интерфейса.

Вместо отдельных инструментов, в C++ Builder интегрирована Палитра компонент, которая разделена картотечными вкладками на несколько функциональных групп. Функциональные возможности поставляемых компонент можно модифицировать и разрабатывать компоненты, обладающие новым оригинальным поведением.

Система содержит Библиотеку из более 100 повторно используемых визуальных компонент, которые перетаскиваются мышью на форму и сразу становятся элементами управления прототипа вашей программы. За исключением известных элементов управления Windows (кнопки, линейки прокрутки, поля редактирования, простые и комбинированные списки и т.д.) Библиотека содержит новые компоненты поддержки диалогов, обслуживания баз данных и многие другие.

После размещения компонент на форме. Инспектор объектов поможет вам устанавливать их свойства и предписывать событиям коды обработки. Ваш проект будет строиться постепенно, на фоне производимых вами изменений в свойствах, событиях и функциях используемых элементов. Отлично продумано разделение и редактирование программного модуля по двум его частям: интерфейсной и собственно кодовой.

C++ Builder поддерживает основные принципы объектно-ориентированного программирования - инкапсуляцию, полиморфизм и множественное наследование, а также нововведенные спецификации и ключевые слова в стандарте языка.

Borland Delphi 7.0. - интегрированная среда разработки ПО для Microsoft Windows, Mac OS, iOS и Android на языке Delphi, созданная первоначально фирмой Borland и на данный момент принадлежащая и разрабатываемая Embarcadero Technologies. Embarcadero Delphi является частью пакета Embarcadero RAD Studio и поставляется в пяти редакциях: Starter, Professional, Enterprise, Ultimate и Architect. Координирующий офис Embarcadero, ответственный за разработку Delphi, находится в Торонто, тогда как сама разработка сконцентрирована главным образом в России, Канаде и Испании. В России Embarcadero представлена двумя офисами - в Санкт-Петербурге (разработка) и в Москве (маркетинг).