Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Классификация языков программирования ).pdf
Добавлен: 24.04.2023
Просмотров: 413
Скачиваний: 1
СОДЕРЖАНИЕ
2. КЛАССИФИКАЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
История развития языков программирования
Что такое язык программирования
Уровни языков программирования
Поколения языков программирования
Обзор языков программирования высокого уровня
Языки программирования баз данных
Языки программирования для Интернета
3. КРИТЕРИИ ВЫБОРА ЯЗЫКА РАЗРАБОТКИ ПРОГРАММ
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 представлена двумя офисами - в Санкт-Петербурге (разработка) и в Москве (маркетинг).