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

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

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

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

Добавлен: 30.03.2023

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

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

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

На второй строчке подряд и 2017, и 2018 год стоит язык С. C относится к низкоуровневым языкам и работает на «машинном уровне», что ускоряет процесс обработки информации и позволяет писать код под «железо» (микроконтроллеры, процессоры). Он работает практически на всех вычислительных платформах. Dropbox, eBay и Spotify используют C-программирование, а вся ОС Linux полностью написана на C.

На третьей строчке также второй год подряд обосновался С++. Его главной особенностью являются предопределенные классы. Microsoft Windows, Google Chrome, Adobe, Amazon — знакомые вам проекты, созданные на С++. Этот язык до сих пор востребован работодателями, поскольку имеет мощный инструментарий и может быть адаптирован в различных сферах.

Финансы, игры, связь, электронные платежные системы, розничная торговля — знание С++ позволяет писать игры и сложные коммерческие системы наряду с простыми приложениями.

Если сравнивать языки программирования по быстродействию, то рассмотрим рисунок 3. На рисунке на котором указано время выполнения в секундах (столбцы с пометкой t) и требуемая память в мегабайтах (столбцы с пометкой m) при тестировании нескольких программ (рис.3). Проверялись реализации алгоритма решения головоломки судоку (sudoku), умножение матриц (matmul), обработка регулярных выражений (patmch) и подсчёт числа повторяемости слов в тексте (dict). Первые две задачи в большей степени показали производительность реализаций самих языков программирования, остальные – эффективность дополнительных библиотек.

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

По данным, приведённым в исследовании, самым быстрым можно считать язык программирования C/C++; за ним с небольшим отрывом следуют Java и C#; затем идут различные реализации компиляторов Python; заметно отстают интерпретаторы Python; а замыкает список (с большим отставанием) язык статистических вычислений R.

Глава 3. Пример использования языков программирования Java и C++

Отправка электронной почты с помощью Java:

Для отправки электронной почты необходимо установить соединение с сокетом по порту 25, который обычно используется для протокола SMTP(Simple Mail Transport Protocol - простой протокол передачи почты). Протокол SMTP описывает формат электронных сообщений. Вы можете подключаться к любому серверу, на котором выполняется служба SMTP. Однако сервер должен быть готов к приему запроса на соединение. 


Ранее серверы с демонами sendmail могли принимать любые электронные сообщения, но в настоящее время из-за большого объема спама в большинстве серверов встроена проверка и допуск почтовых сообщений только от разрешенных пользователей или IP-адресов.

Сразу после соединения с сервером следует послать заголовок сообщения в формате SMTP, который достаточно просто создать, а затем и текст сообщения так, как показано ниже:

Создайте сокет на компьютере:

В выходном потоке передайте следующую информацию:

В спецификации протокола SMTP(документ RFC 821) требуется, чтобы строки заканчивались символами /r и /n.

Приведем пример с надписью «Hello World» на языке Java, С++ и на С.

Java.

С

С++

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

Строка 3. В C/C++ выполнение программы всегда начинается с функции main.

Строки 7 и 11. В заголовке цикла через точку с запятой указываются начальная установка, условие продолжения и правило пересчета параметра цикла. Операции ++ и -/- - известнейшие из сокращений языка С, означающие инкремент и декремент переменной, то есть увеличение и уменьшение ее значения на единицу.

Строка 8. Функция scanf вводит по формату, заданному первым параметром, значения переменных, адреса которых заданы остальными параметрами. Здесь адрес, куда вводится значение, вычисляется с помощью адресной арифметики, к адресу расположения массива М прибавляется смещение на N элементов. Тот же эффект можно получить, записав &M[N].

Строка 12. Операция % вычисляет остаток от деления. Условие оператора if считается выполненным, если численное значение выражения отлично от нуля.

Строка 13. Функция printf - печать по формату действует аналогично scanf, но вместо адресов ей передаются значения, подлежащие выводу.


Строки 3-13. Объявляется темплетный класс Аrray с параметром Т. Он представляет собой массив переменного размера объектов типа Т. Конечно, в нашей задаче нет никакой необходимости использовать темплетный класс. Однако нам хотелось продемонстрировать, как на C++ создается полиморфная структура данных, способная работать с любым типом элементов.

Строка 5. Конструктор класса. В нем инициализируется представление объекта. Например, в поле М заносится адрес блока памяти, заказанного операцией new T[Size].

Строка 8. Пример перегрузки операции []. Функция operator [] будет вызываться, когда квадратные скобки будут появляться справа от объекта класса Array .

Строка 9. Эта функция основная в реализации. Она добавляет элементы в массив, расширяя его при необходимости. Поскольку она сложнее остальных, ее определение вынесено из описания класса. Функции, описанные в теле класса, реализуются в C++ не вызовом, а inline-подстановкой. Это ускоряет работу программы, хотя увеличивает ее размер.

Строки 15-24. Определение функции Аrrау::Add(T) (между прочим, это ее полное имя).

Строка 27. Создаем объект типа Array. Темплет Аггау параметризируется типом int.

Сделаем выводы: В разработке мобильных приложений и на рынке web-приложений большим спросом пользуется Java, а для С/С++ базовая область - это системное программирование, что подразумевает широкую сферу применения (беспроводные интерфейсы, браузеры, интерпретаторы языка JavaScript, виртуальные машины Java, реализации языка C#, программы для мобильных телефонов, фотокамер и др.).

Заключение

На сегодняшний день, любое среднее и крупное предприятие, имеет в своем штате группу программистов, обладающими знаниями программирования различными языками, которые редактируют, изменяют, и модифицируют программы используемыми сотрудниками предприятия. Это говорит о том, что на рынке труда пользуются спросом обладающими знаниями и опытом работы с различными языками программирования.

В данной курсовой работе, нами были рассмотрены самые распространенные языки программирования, такие как: JAVA, С, С++, которые используется для научных вычислений, для обучения программированию начинающих программистов.

Рассмотрены так же реализации одной и той же задачи в совершенно различных языках программирования. В обзор включены практически все широко используемые языки. Сюда вошли 5 языков, во всех рейтингах называемые в числе наиболее используемых в реальных проектах: C, C++, Java, C#, Python. Рейтинг самых популярных языков программирования второй год подряд возглавил Java.


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

В третьей главе мы рассмотрели примеры использования Java и С: пример с надписью «Hello World», отправка электронной почты с помощью Java и ввод из файла ряд целых чисел, а затем вывести только нечетные из них, причем в обратном порядке следования на языке С++.

Список литературы

  1. Александреску. А. Язык программирования D / А. Александреску. — СПб.: Символ-плюс, 2014. — 544 c.
  2. Керниган. Б. Язык программирования C. 2-е изд. / Б. Керниган, Д.М. Ритчи. — М.: Вильямс, 2016. — 288 c.
  3. Хорстманн, К. С. Java. Библиотека профессионала, том 1. Основы: пер. с англ. // Кей С. Хорстманн, Гари Корнелл. – Т. 1. – 9-е изд. – М.: ООО «И.Д. Вильямс», 2014. – 684 с.
  4. Шохирев. М.В. Язык программирования Perl 5 / М.В. Шохирев. — М.: Интуит, 2014. — 279 c.
  5. McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 20.07.2020).
  6. Отличия Java от C++ [Электронный ресурс] // Справочник CodeNet – все для программиста. – URL: http://www.codenet.ru/ webmast/java/02.php (дата обращения: 20.07.2020).
  7. Развитие языков программирования. Эволюция вычислительных систем [Электронный ресурс]. URL: http://referatwork.ru (дата обращения: 20.07.2020).
  8. Сравнение с языком Java [Электронный ресурс] // C++. – URL: https://sites.google.com/site/programme666/home/istoria-cozdania/ filosofia-c/sravnenie-s-azykom-java (дата обращения: 20.07.2020).
  9. Языки программирования [Электронный ресурс]. URL: http://lifeprog.ru (дата обращения: 20.07.2020).
  10. Лин, В. PDP-11 и VAX-11. Архитектура ЭВМ и программирование на языке ассемблера / В. Лин. - М.: Радио и связь, 2016. - 320 c.
  11. Калашников, О. Ассемблер? Это просто! Учимся программировать (+ CD-ROM) / О. Калашников. - М.: СПб: БХВ, 2017. - 384 c.
  12.  Немнюгин, М.А. Современный фортран. Самоучитель / М.А. Немнюгин, О.Л. Стесик. - М.: [не указано], 2016. - 874 c.
  13. Лавров, С.С. Универсальный язык программирования (Алгол 60) / С.С. Лавров. - М.: Наука. Главная редакция физико-математической литературы, 2015. - 172 c.
  14. Аллен, Г. Тейлор SQL для чайников / Аллен Г. Тейлор. - М.: Диалектика, Вильямс, 2015. - 416 c.