Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Синтаксис языков).pdf
Добавлен: 14.05.2023
Просмотров: 312
Скачиваний: 3
Контейнеры
Ряд стандартных контейнеров, который часто используется в программах, таких как Vector Map List Stack Qure
Также стоит отметить наличие итераторов, которые позволяют создавать обобщенные алгоритмы сортировки поиска удаленых перемещенных данных. Это позволяет программисту не писать эти алгоритмы с нуля, а использовать Использовать универсальные элементы. А за счёт того что всё это странно стандартную библиотеку то применение итераторов облегчает работу даже с внешними библиотеками
Также стоит отметить контейнер типа string, который позволяет очень сильно оптимизировать работу со строками и осуществлять в них поиск замены лексем
Какую проблему решает C++
Одной из главных проблем си является ручное управление памятью что может приводить при невнимательным программирование к серьезным проблемам за безопасностью программы, либо её производительностью. Си плюс плюс решают эту проблему с использованием объектно ориентированного программирования и создание обобщенных структуры умных указателей. Также си плюс решает проблему макросов. Вместо них пришли Inline функции, в случае которых compiler может более эффективно обработать ошибки и уменьшить вероятность появления проблем с типами. Также он повышает синтаксис многих деталей
Разработка Desktop приложения.
Язык C++ является лидером в разработке Desktop приложения. Этому послужили совместимости с Си и огромное количество уже готовых инструментов библиотек для ускорения создания приложение.
Одним из плюсов разработки десктопных приложений C++ является возможность работы с операционной системой напрямую, что позволяет использовать все преимущества. По сравнению с интерпретируемые языками программирования все также позволяет добиться производительности программ. Также одним из преимуществ перед созданием дисконтных программ на интерпретируемых языках программирования является обязательным наличием интерпретатора, что может привести к тому что ни один опытный пользователь не сможет воспользоваться программой из-за особенностей интерпретируемого языка программирования.
Отсюда также вытекает минус большинства программ, нуждающихся в зависимостях виды библиотек, либо требования использовать определенную операционной системы портирования, программа операционной системой на другой может вызвать огромное количество трудности для решения которых может понадобиться огромный опыт, знания устройства компилятора, чтобы решить эту проблему.
Список программ которые написаны в C++
- Virtual Box,
- Skype,
- VLC-плеер,
- Adobe Illustrator
- Веб сервера Apache и nginx
И данный список можно продолжать очень долго. Так большинство программ написано по *nux
Разработка прошивок для Микроконтроллеров
На текущий момент стали популярны микроконтроллера Arduino Одним из основных языков программирования на них является C++. Обусловлено это низкоуровневым языком удобного синтаксиса, а также наличия объектно-ориентированного программирования, что позволяет выделить и C++ на фоне си, так как C++ позволяет удобно организовывать управления электронными устройствами с помощью объектов.
Разработка игр
На C++ удобно разрабатывать игры за счёт объектно-ориентированной структуры языка, а также возможность оптимизации на уровне платформы, что очень полезно при разработке больших игр для маленьких проектов. С++ не идеальное решение из-за ручного управления памятью и отсутствия языка поддержки модулей. Структура игры может превратиться в нечитаемый код, но при этом C++
хорошо подходит для разработки приложений которым требуется графика, так как объектная структура позволяет создавать высокого уровня абстракции, примером тому служит библиотека sfml.
Также стоит отметить, что снедавних времён большинство игр особенно касающиеся мобильных платформ и небольших Энди проектов разрабатывается с использованием уже готовых решений, которые, как правило, используют язык программирования си Sharp, либо собственные, специально сделанные для программирования игр языки, например gamemaker Studio
Примеры кода
Пример программы Hello, world!, которая выводит сообщение, используя стандартную библиотеку, и завершается.
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}
Недостатки языка
Большинство проблем из языка си перешло в си плюс плюс. Это касается огромного количества ненужных элементов языка и отсутствие модулей Что является одной из самых больших проблем на сегодняшний момент. Также одной из проблем является невозможность модифицирования стандартных классов.
2.3 Язык программирования Python
Высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.
На данный момент является одним из самых популярных языков это связано с несколькими факторами
- Огромное сообщество языка и наличию обучающих материалов
- Огромное количество инструментов для разработки
- Синтаксис который позволяет писать синтетически красивый код
Разработка игр
На python на также достаточно удобно а наличие готового инструментария позволяет создавать простенький достаточно быстро. Для серьезных проектов python не годится в связи с малой производительностью и недостатком в синтаксисе при котором исходный код программы через разработку игр и некоторое время, будет очень плохо чистятся
Автоматизация рутинных задач
Автоматизация рутинных задач - Очень часто используется для написания небольшой скриптов делающий автоматически работы такие как работа с файлами сканирование PDF файлов работа с Excel таблицами
Машинное зрение
На данный момент является одним из самых популярных направлений. Программирование большинства инструментов и уроков на эту тему использует именно python
Использование связки с микро компьютером Raspberry Pi
Так когда микрокомпьютер стал очень популярным, что повлияло на написание огромного количества библиотек для работы со всевозможными датчиками и электронными устройствами, что позволяет создавать электронные проекты разного уровня
Использование Django для создания сайтов
Использование Django для создания сайтов - на данный момент развивающая отрасль. Связано это с тем, что использование других технологий таких как node JS в силу своих недостатков не может удовлетворить потребности современных веб-проектов.Это касается в первую очередь производительности работы , снижение скорости обслуживания сайта.
Недостатки языка
- Низкое быстродействие - Даже по сравнению с другими интерпретируемыми языками, поэтому остается одним из самых медленных, что в некоторых случаях побуждает использовать другие интерпретируемые языки.
- Невозможность модификации встроенных типов - других языков на подобии. Есть возможность модифицировать стандартные типы, что позволяет сильно расширить возможности языка не прибегая к созданию отдельных классов.
- Не критичным недостатком является динамическая типизация, которая может стать большой проблемой в больших проектах
Примеры кода
Генератор чисел Фибоначчи
def fibonacci(max): # генератор (а не функция, т.к. оператор return заменён на yield)
a, b = 0, 1
while a < max:
yield a # return a, + запоминаем место рестарта для следующего вызова
a, b = b, a + b # параллельное присваивание, которое выполняется одновременно и параллельно
for n in fibonacci(100): # используем генератор fibonacci() как итератор
print (n) # печатаем все числа Фибоначчи меньшие 100 через пробел
2.4 Язык программирования Java
Строго типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Разработка ведётся сообществом, организованным через Java Community Process, язык и основные реализующие его технологии распространяются по лицензии GPL. Права на торговую марку принадлежат корпорации Oracle.
Краткое описание
На момент создания языка программирования Java он был достаточно уникальным, за счёт того исходный код программы контролируется так называемый байт-код, что позволяет очень сильно оптимизировать выполнение программ делая Java одним из самых быстрых интерпретируемых языков
Огромной популярностью Java является работа над ошибками, которые были совершены в C++. Убраны многие ненужны элементы и добавлены действительно полезные инструменты, позволяющие эффективно разрабатывать приложения. Также немалым преимуществом является возможность использовать Java связки с другими языками, которые компилируются в байт-код Java, что позволяет использовать новые языки программирования на платформе байт код Java уже в готовых проектах, либо совершать быструю миграцию. Из-за чего на рынке присутствует огромное количество вакансии. Связано это, в первую очередь, в местном применении. Java в большинстве случаев является приложением корпоративного сектора. А так как кооперативный рынок развивается достаточно быстро, количество вакансий на Java одно из самых больших на рынке. На данный момент единственным конкурентом считается платформа dotnet от Microsoft.
Корпоративный сектор
Это связано с тем, что синтаксис и структура языка отлично подходят для таких задач. А на текущий момент собрано огромное количество документации и опытных сотрудников, что позволяет писать эффективное корпоративное приложение в особенности банковские системы
Разработка для Мобильных платформ
Корпорация Google сделала основным языком программирования для платформы Android именно Java, что привело к тому, что большинство приложений на эту платформу написано на этом языке, либо аналогичных, но на этой платформе. При этом, стоит отметить, что на данный момент Google пытается внедрить язык программирования kotlin, который основан на платформе Java
Разработка для Desktop
Java не популярна в данном направлении. Связано это, в первую очередь, с тем что подобные приложения плохо интегрируется в операционной системе. А консольная утилита по сравнению с другими языками программирования достаточно требовательные к аппаратной части компьютера. Большинство программ написанных на Java для десктопа, это сами инструменты разработки программ на Java
Разработка Игр
Разработка игр на Java является крайне плохой идеей. Первая причина - это высокие требования к аппаратному обеспечению компьютера и сложностью в поддержании игры. Но при этом стоит отметить, что одним из преимуществ написания игры на Java, является возможность запуска почти на всех платформах, где сама виртуальная машина. Яркий пример такой игры является Minecraft. Но при этом стоит отметить что Minecraft разработанный на языке си плюс плюс в десятки раз более производительный, чем оригинальная версия написанная Java
Недостатки языка
- Одна из главных проблем языка является совместимость стандартной библиотеки с джавой первых версий. Это приводит к устаревшим на данный момент техникам программирования и копирование программ.
- Отсутствие ломбард выражений и в целом, как класса метапрограммирование значительно понижает производительность создание программ на текущий момент
- Сборщик мусора также является большой проблемой, хоть он позволяет программисту забыть о ручном управлении памятью, но при этом из-за своего неадекватного поведения может в самый неподходящий момент начинать чистить мусор, что приведет к значительному снижению производительности программы, особенно это проблема остро стоит в серверах
2.5 Язык программирования JavaScript
JavaScript мультипарадигменный язык программирования. Поддерживает объектно-ориентированный, императивный и функциональный стили. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам