Файл: Техникоэкономический колледж при нао карагандинский индустриальный унивеситет.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.05.2024
Просмотров: 39
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
ТЕХНИКО-ЭКОНОМИЧЕСКИЙ КОЛЛЕДЖ ПРИ НАО «КАРАГАНДИНСКИЙ ИНДУСТРИАЛЬНЫЙ УНИВЕСИТЕТ»
Специальность: Вычислительная техника
и программное обеспечение
Группа: ВТиПО-19
КУРСОВОЙ ПРОЕКТ (РАБОТА)
По дисциплине:____________________________________________________
__________________________________________________________________
Тема:__________________________________________________________________________________________________________________________________
Студент Фонтуренков Д.Д. ___________
Руководитель проекта (работы) Бақтыбек Г.Ж ___________
Допустить к защите _________________________________________________
Защитил с оценкой __________________________________________________
Члены комиссии:____________________________ ___________
____________________________ ___________
____________________________ ___________
Темиртау 2021г.
МИНИСТЕОСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН
ТЕХНИКО-ЭКОНОМИЧЕСКИЙ КОЛЛЕДЖ
ПРИ НАО «КАРАГАНДИНСКИЙ ИНДУСТРИАЛЬНЫЙ УНИВЕРСИТЕТ»
Рассмотренно «УТВЕРЖДАЮ»
на заседании ЦМК ЕТД Зам. директора по УР Председатель ЦМК _____________ ______________________ Протокол №____ «___»________20___ ж./г. «___» _________ 20____ ж./г.
КУРСОВОЕ ЗАДАНИЕ
Студенту Фонтуренкову Даниилу Дмитриевичу Группы ВТиПо-19
Тема Современные языки программирования (Понятие и классификация языков программирования)
Исходные данные: Интернет ресурсы
Содержание расчетно-пояснительной записки
ВВЕДЕНИЕ
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ СУЩНОСТИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
1.1. Понятие и классификация языков программирования
1.2. История языков программирования: развитие и создание
ГЛАВА 2. СРАВНИТЕЛЬНЫЙ АНАЛИЗ СОВРЕМЕННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
2.1. Javascript
2.2. SQL
2.3. Java
2.4. Python
2.5. PHP
2.6. С++
2.7. TypeScript
2.8. Ruby
2.9. Swift и Objective-C
2.10. Новые современные языки программирования
ЗАКЛЮЧЕНИЕ
СПИСОК ЛИТЕРАТУРЫ
ПРИЛОЖЕНИЕ
Дата выдачи 21.09.21
Срок окончания и сдачи 15.12.21
Руководитель курсового проектирования: Бақтыбек Гюзель Жеңісқызы
Задание принял к исполнению студент: Фонутенков Даниил Дмитриевич
Современные языки программирования (Понятие и классификация языков программирования)
Содержание:
ВВЕДЕНИЕ……………………4
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ СУЩНОСТИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ……………………5
1.1. Понятие и классификация языков программирования……………………………………………………………5
-
1.2. История языков программирования: развитие и создание…………………………………………………………………...9 -
ГЛАВА 2. СРАВНИТЕЛЬНЫЙ АНАЛИЗ СОВРЕМЕННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ……………………………………………….13 -
2.1. Javascript……………………………………………………………..15 -
2.2. SQL…………………………………………………………………..16 -
2.3. Java…………………………………………………………………..18 -
2.4. Python………………………………………………………………..19 -
2.5. PHP…………………………………………………………………..20 -
2.6. С++…………………………………………………………………..22 -
2.7. TypeScript…………………………………………………………...23 -
2.8. Ruby…………………………………………………………………25 -
2.9. Swift и Objective-C…………………………………………………26 -
2.10. Новые современные языки программирования………………...28 -
ЗАКЛЮЧЕНИЕ…………………………………………………………30 -
СПИСОК ЛИТЕРАТУРЫ………………………………………………31 -
ПРИЛОЖЕНИЕ…………………………………………………………33
ВВЕДЕНИЕ
Технология программирования имеет активную динамику развития в связи с тем, что появляются все новые и новые потребности в области информационных технологий. Язык программирования – это система обозначений для описания алгоритмов и структур данных, определенная искусственная формальная система, средствами которой можно выражать алгоритмы.
На сегодняшний день существует большое количество языков программирования различных типов: языки низкого и высокого уровня, языки функциональные, структурные, объектно-ориентированные и даже эзотерический язык программирования. Каждый из них имеет свое назначение, преимущества и недостатки по сравнению с другими.
Согласно многообразию языков существует много сред, удобных для программирования на таких языках. Однако есть языки и среды удобнее других в своем функционале и практическом использовании.
Актуальность данной темы обусловлена тем, что прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования.
Объектом исследования курсовой работы являются языки программирования.
Предмет исследования – процесс развития и использования современных языков программирования.
Цель работы – исследовать особенности современных языков программирования.
Для достижения цели в работе были поставлены следующие задачи:
-
Рассмотреть понятие и классификация языков программирования. -
Рассмотреть историю языков программирования: развитие и создание. -
Провести сравнительный анализ современных языков программирования.
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ СУЩНОСТИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
1.1. Понятие и классификация языков программирования
Сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и на естественном языке (говорят: программирование на метаязыке), но из-за неоднозначности естественного языка автоматически перевести такую программу в машинный код пока невозможно.
Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространённым утверждениям, признаваемым большинством разработчиков, относятся следующие:
-
Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами. -
Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» – это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией. -
Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений[1].
Языки программирования – это формальные искусственные языки. Как и естественные языки, они имеют алфавит, словарный запас, грамматику и синтаксис, а также семантику:
Синтаксис – система правил, определяющих допустимые конструкции языка программирования из букв алфавита.
.
Взаимодействие синтаксических и семантических правил определяет основные понятия языка, такие как операторы, идентификаторы, константы, переменные, функции, процедуры и т.д. В отличие от естественных, язык программирования имеет ограниченный запас слов (операторов) и строгие правила их написания, а правила грамматики и семантики, как и для любого формального языка, явно однозначно и четко сформулированы.
Язык программирования предназначен для написания компьютерных программ, которые представляют собой набор правил, позволяющих компьютеру выполнить тот или иной вычислительный процесс, организовать управление различными объектами, и т. п. Язык программирования отличается от естественных языков тем, что предназначен для управления ЭВМ, в то время как естественные языки используются, прежде всего, для общения людей между собой. Большинство языков программирования использует специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.
Прежде всего, языки программирования нужно классифицировать по уровням. Разные авторы разбивают языки либо на три уровня (машинные, машинно-ориентированные и машинно-независимые языки), либо на два уровня (языки программирования низкого уровня, языки программирования высокого уровня).
В случае деления языков программирования на три уровня, низшим уровнем будет являться машинный код – набор команд, выполняемых конкретным процессором и разработанных специально для него. Обычно является последовательностью шестнадцатеричных символов[3]. Вывод строки «Hello, World!» для процессора архитектуры x86 выглядит так: BB 11 01 B9 0D 00 B4 0E 8A07 43 CD 10 E2 F9 CD 20 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21. Средним уровнем будут являться машинно-ориентированные языки, то есть языки, призванные управлять непосредственно командами процессора, но более доступным для человеческого восприятия языком. Примером являются языки ассемблера. Язык ассемблера, по сути, представляет каждую команду машинного кода с помощью удобных для восприятия человеком символических команд – мнемокодов. Как правило, язык ассемблера использует особенности конкретного семейства процессоров. Высшим же уровнем будут считаться машинно-независимые языки. Они разработаны для удобства восприятия, быстроты понимания и работы с ними. Характерная черта этих языков программирования – абстракция, то есть введение смысловых конструкций, кратко описывающих данные и операции над ними, описания которых в машинно-ориентированных языках очень длинны и сложны для понимания. Также они были призваны обеспечить платформенную независимость сути алгоритмов. С их появлением зависимость от платформы перекладывается на трансляторы, «переводящие» текст, написанный на языке высокого уровня, в элементарные машинные команды
[4]. Примерами языков программирования высокого уровня являются C++, C#, PHP, Perl, Java и многие другие.
В современной классификации языков программирования по уровням всё чаще используют деление на два уровня: языки высокого и низкого уровней. Языками низкого уровня считаются языки, близкие к машинному коду и ориентированные на конкретные команды процессора, то есть машинно-ориентированные языки, а языками высокого уровня в современной классификации считаются машинно-независимые языки, разработанные для удобства использования[5]. Таким образом, на данный момент авторы чаще не учитывают машинный код в своих классификациях. Это может быть связано с тем, что в настоящее время машинный код может понадобиться специалистам узкого профиля, например, системного программирования, защиты информации или программирования устройств напрямую. Прикладному же программисту иметь представление о машинном коде может быть необходимо для понимания того, как его программа хранится и выполняется, и в некоторых случаях для отладки и оптимизации своих программ.
Следующая классификация, которую необходимо рассмотреть, – классификация языков программирования по поколениям. Общепринято делить языки на пять поколений, но разные авторы опять же по-своему разделяют поколения. Некоторые варианты классификации перекликаются с классификацией по уровням, некоторые указывают, что языков программирования пятого поколения пока не существует.
Подавляющее большинство авторов называет языками программирования первого поколения машинные коды, то есть языки низкого уровня, языками второго поколения – языки ассемблера, уже рассмотренные нами, и, соответственно, языками третьего поколения – языки высокого уровня. Эта классификация по эволюционному признаку вполне логична: понятно, что языки низкого уровня появлялись на заре программирования, а языки среднего и высокого уровней разрабатывались и улучшались в связи с растущими возможностями компьютерных технологий[6]. А вот с классификацией языков четвёртого и пятого поколений ситуация не так проста. К языкам программирования четвёртого поколения чаще всего относят языки объектно-ориентированные, декларативные (непроцедурные) и визуальные. Но эти языки с уверенностью можно отнести и к языкам третьего поколения. Также очень часто сюда относят языки запросов, например, SQL, который, по своей сути, вовсе не является языком программирования. Вообще, часто можно прочитать о том, что языки программирования четвёртого поколения – это языки, встроенные в определённую программную оболочку и используемые для узкоспециализированных задач, например, для создания баз данных и управления ими (встроенные языки систем управления базами данных)