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

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

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

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

Добавлен: 24.04.2023

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

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

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

СОДЕРЖАНИЕ

Введение

1. Языки программирования

1.2. История развития языков программирования

1.3. История развития среды для разработки программ

2.Классификация языков программирования

2.1.  Машинно – ориентированные языки

2.1.1. Машинные языки

2.1.2. Языки символического кодирования

2.1.3. Автокоды

2.1.4. Макрос

2.2. Машинно – независимые языки

2.2.1. Проблемно – ориентированные языки

2.2.2. Универсальные языки

2.2.3. Диалоговые языки

2.2.4. Непроцедурные языки

3. Выбор языка и среды для разработки программ

3.1. Современные языки программирования

3.1.2. Python

3.1.3. Java

3.1.4. JavaScript

3.1.5. PHP

3.1.6. С, С++, С#

3.2. Среды для разработки программ

3.2.1. Microsoft Visual Studio

3.2.2. Java Development Kit

3.2.3. BlackBox Component Builder

3.2.4. Eclipse

3.3. Методологии программирования

3.2.1. Структурное программирование

3.2.2. Объектно-ориентированное программирование

3.2.3. Декларативное программирование

3.2.4. Параллельное программирование

Список использованной литературы.

Рассмотрим некоторые языки программирования.

3.1.1. Prolog, Prolog++

Язык программирования Prolog (PROgramming LOGic) предполагает получение решения задачи при помощи логического вывода из ранее известных фактов. Программа на языке Prolog не является последовательностью действий – она представляет собой набор фактов и правил, обеспечивающих получение логических заключений из данных фактов. Поэтому Prolog считается декларативным языком программирования. Программа на написанная на языке Prolog включает в себя постановку задачи в виде множества фраз Хорна (раздел clauses) и описание цели (раздел goal), - формулировку теоремы, которую нужно доказать, исходя из множества правил и фактов, содержащихся в этой постановке. Prolog использует упрощенную версию синтаксиса логики предикатов, он прост для понимания и очень похож на естественный язык. Prolog имеет механизм вывода, который основан на сопоставлении образцов. С помощью подбора ответов на запросы Prolog извлекает хранящуюся информацию. Prolog пытается ответить на запрос, запрашивая информацию, о которой уже известно, что она истинна. Одной из важнейших особенностей языка Prolog является то, что он ищет не только ответ на поставленный вопрос, но и все возможные альтернативные решения. Вместо обычной работы программы на процедурном языке от начала и до конца, Prolog может возвращаться назад и просматривать все остальные пути при решении всех частей задачи.

Prolog ++ можно отнести к группе гибридных языков, представителями которой считаются Object Pascal (Delphi) и C++. Расширение Prolog ++ поддерживает все свойства, присущие обычно объектно-ориентированным языкам: концепции объектов и классов, единичное и многократное наследование, разбиение на подклассы и передачу сообщений. Поддерживаются также некоторые усовершенствованные свойства, существующие в таких языках, как C++ и Smalltalk, включая общие и частные методы. [6]

3.1.2. Python

Python является широко используемым языком программирования общего назначения, высокого уровня. Его философия дизайна подчеркивает читаемость кода, а его синтаксис позволяет программистам, выразить понятия в меньшем количестве строк кода, чем было бы возможно в таких языках, как С ++ или Java. Язык обеспечивает конструкции, предназначенные для того, чтобы программы были четкие на малых и больших масштабах.

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


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

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

Python использует динамическую типизацию и сочетание подсчета ссылок и цикла обнаружения сборщика мусора для управления памятью. Важной особенностью Python является динамическое разрешение имен, которое связывает метод и имена переменных во время выполнения программы. [4]

3.1.3. Java

Java это параллельный, объектно-ориентированный (а именно класс-ориентированный) язык программирования общего назначения. Java позволяет разработчикам приложений «написав однажды, запускать везде». Это означает, что скомпилированный Java-код может быть запущен на всех платформах, которые поддерживают Java, без необходимости в перекомпиляции. Приложения на Java, как правило компилируются в байт-код, который может выполняться на любой виртуальной машине Java (JVM – англ. Java Virtual Maсhine) не зависимо от компьютерной архитектуры.

По состоянию на 2017 год, Java является одним из наиболее популярных используемых языков программирования, особенно в сфере разработки клиент-северных web-приложений. Изначально язык Java был разработан в компании SunMicrosystems (которая была поглощена корпорацией Oracle в период с апреля 2009 года по январь 2010 года) Джеймсом Гослингом и опубликован в 1995 году как ядро программной платформы Java. Синтаксис Java по большей части взят из языков C и C++, но низкоуровневые возможности языка значительно ограничены по сравнению с любым из них. [9]

3.1.4. JavaScript

JavaScript - это язык программирования, как правило, выполняется на стороне клиента. Он используется для взаимодействия с пользователем. Он используется в разработке игр, настольных и мобильных приложений, в создании документов pdf и виджетов рабочего стола. Веб-браузеры имеют встроенную поддержку для этого языка. Структурно JavaScript можно представить в виде объединения трёх чётко различимых друг от друга частей: Ядро (ECMAScript), объектная модель браузера (Browser Object Model), объектная модель документа (Document Object Model).


Первоначально JavaScript обладал довольно небольшими возможностями. Его цель состояла лишь в том, чтобы добавить немного поведения на веб-страницу. Например, обработать нажатие кнопок на веб-странице, произвести какие-нибудь другие действия, связанные прежде всего с элементами управления. Однако развитие веб-среды, появление HTML5 и технологии Node.js открыло перед JavaScript гораздо большие горизонты. Сейчас JavaScript продолжает использоваться для создания веб-сайтов, только теперь он предоставляет гораздо больше возможностей. [3]

3.1.5. PHP

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

Имена всех переменных в PHP должны начинаться со знака $. Имена переменных чувствительны к регистру букв. Переменные в PHP не должны начинаться с цифры. Имя переменной может начинаться с символа подчеркивания. [3]

3.1.6. С, С++, С#

C - компилируемый статически типизированный язык программирования общего назначения, разработанный в 1969—1973 годах сотрудником Bell Labs Денисом Ричи. Первоначально был разработан для реализации операционной системы UNIX, но, впоследствии, был перенесён на множество других платформ. Язык программирования C отличается минимализмом. Авторы языка хотели, чтобы программы на нём легко компилировались с помощью однопроходного компилятора, чтобы каждой элементарной составляющей программы после компиляции соответствовало весьма небольшое число машинных команд, а использование базовых элементов языка не задействовало библиотеку времени выполнения. Однопроходный компилятор компилирует программу, не возвращаясь назад к уже обработанному тексту. Поэтому использованию функций и переменных должно предшествовать их объявление. Код на С можно легко писать на низком уровне абстракции, почти как на ассемблере. С часто называют языком среднего уровня или даже низкого уровня, учитывая то, как близко он работает к реальным устройствам. Однако, в строгой классификации, он является языком высокого уровня.

С (как и операционная система UNIX, с которой он долгое время был связан) создавался программистами и для программистов. Несмотря на это, область использования языка значительно шире задач системного программирования.


Си создавался с одной важной целью: сделать более простым написание больших программ с минимумом ошибок по правилам процедурного программирования, не добавляя на итоговый код программ лишних накладных расходов для компилятора, как это всегда делают языки очень высокого уровня.

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

C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений. С++ — язык, складывающийся эволюционно. Каждый элемент С++ заимствовался из других языков отдельно и независимо от остальных элементов (ничто из предложенного С++ за всю историю его развития не было новшеством в Computer Science), что сделало язык чрезвычайно сложным, со множеством дублирующийся и взаимно противоречивых элементов, блоки которых основаны на разных формальных базах.

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


C# - объектно-ориентированный язык программирования. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework.

C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.

Переняв многое от своих предшественников -языков C++, Pascal, Модула, Smalltalk и, в особенности, Java — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от C++ не поддерживает множественное наследование классов (между тем допускается множественное наследование интерфейсов).

C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR.

CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET, J# и др. [13],[4],[3]

3.2. Среды для разработки программ

Среды разработки программного обеспечения являются объединением программных средств, которые предназначены для создания программных продуктов. Среда разработки включает в свое содержание: компилятор, интерпретатор, отладчик, средства автоматизации сборки, а также редактор текста.

Компилятор — это такая программа, которая считывает исходные коды, написанные программистом и преобразует эти коды в программу.

Интерпретатор — это программа которая считывает команды, находящиеся в исходных кодах, сразу выполняя их.

Когда в среде разработки программного обеспечения присутствуют все вышеназванные компоненты, тогда такую среду называют интегрированной. Такие среды разработки увеличивают темп, а также удобность разработки за счёт: автоматизации, возможности производить весь цикл создания и разработки программного обеспечения.