Курсовая Работа. КурсРаб. Техникоэкономический колледж при нао карагандинский индустриальный унивеситет
![]()
|
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН ТЕХНИКО-ЭКОНОМИЧЕСКИЙ КОЛЛЕДЖ ПРИ НАО «КАРАГАНДИНСКИЙ ИНДУСТРИАЛЬНЫЙ УНИВЕСИТЕТ» Специальность: Вычислительная техника и программное обеспечение Группа: ВТиПО-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]. Языки программирования – это формальные искусственные языки. Как и естественные языки, они имеют алфавит, словарный запас, грамматику и синтаксис, а также семантику: Синтаксис – система правил, определяющих допустимые конструкции языка программирования из букв алфавита. . ![]() Язык программирования предназначен для написания компьютерных программ, которые представляют собой набор правил, позволяющих компьютеру выполнить тот или иной вычислительный процесс, организовать управление различными объектами, и т. п. Язык программирования отличается от естественных языков тем, что предназначен для управления ЭВМ, в то время как естественные языки используются, прежде всего, для общения людей между собой. Большинство языков программирования использует специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений. Прежде всего, языки программирования нужно классифицировать по уровням. Разные авторы разбивают языки либо на три уровня (машинные, машинно-ориентированные и машинно-независимые языки), либо на два уровня (языки программирования низкого уровня, языки программирования высокого уровня). ![]() В современной классификации языков программирования по уровням всё чаще используют деление на два уровня: языки высокого и низкого уровней. Языками низкого уровня считаются языки, близкие к машинному коду и ориентированные на конкретные команды процессора, то есть машинно-ориентированные языки, а языками высокого уровня в современной классификации считаются машинно-независимые языки, разработанные для удобства использования[5]. Таким образом, на данный момент авторы чаще не учитывают машинный код в своих классификациях. Это может быть связано с тем, что в настоящее время машинный код может понадобиться специалистам узкого профиля, например, системного программирования, защиты информации или программирования устройств напрямую. Прикладному же программисту иметь представление о машинном коде может быть необходимо для понимания того, как его программа хранится и выполняется, и в некоторых случаях для отладки и оптимизации своих программ. Следующая классификация, которую необходимо рассмотреть, – классификация языков программирования по поколениям. Общепринято делить языки на пять поколений, но разные авторы опять же по-своему разделяют поколения. Некоторые варианты классификации перекликаются с классификацией по уровням, некоторые указывают, что языков программирования пятого поколения пока не существует. ![]() Языки пятого поколения, теоретически, должны ещё больше упростить и ускорить работу программистов: целью этих языков является переложить значительную часть работы с человека на компьютер. Чаще всего сюда относят языки экспертных систем, баз знаний. В настоящее время, действительно, нет решений, которые могут выдавать полноценный продукт, получая при этом лишь задачу. Некоторые авторы говорят о системе MathCAD, она действительно заметно облегчает работу пользователей, беря на себя огромную долю вычислительной работы. Но всё же, на данный момент нет чёткого определения, по каким критериям определить языки пятого поколения. Одно ясно: с их использованием компьютер должен будет решить поставленную задачу без необходимости пользователю вручную реализовывать алгоритм. Далее, рассмотрим классификацию языки программирования по функциональному признаку, или парадигме программирования. Большинство авторов даёт чёткое разделение языков программирования на процедурные (императивные) и непроцедурные (декларативные). Класс непроцедурных языков содержит в себе два подкласса: функциональные и логические языки. Часто отдельным классом выделяют объектно-ориентированные языки программирования, хотя они содержат элементы процедурного программирования. Остановимся на каждом классе поподробнее. В процедурных языках программа явно описывает необходимые к выполнению действия, то есть она является чёткой последовательностью команд, которые необходимо выполнить компьютеру. Можно сказать, что, программируя на этих языках, программист говорит компьютеру, не что делать, а как. К этому классу можно отнести большинство языков программирования: Pascal, Basic, C и другие[8]. Непроцедурные языки можно запросто назвать противоположностью языкам процедурным. Декларативное программирование – парадигма программирования, в которой описывается, что необходимо сделать компьютеру. Хорошим примером служит язык разметки HTML, возьмём тег ![]() В программах, написанных на языках логического программирования, вообще не описывается действий. Программист задаёт данные и отношения между ними, после этого программе можно задать вопрос, компьютер перебирает заданные данные и находит ответ[11]. Классический пример языка логического программирования – Prolog. В языках объектно-ориентированного программирования переменные и функции группируются в классы, благодаря чему достигается высокий уровень структуризации программы. Объекты, порождённые от классов, вызывают методы (функции) друг друга и, таким образом, меняют состояние свойств (переменных). С формальной стороны объектно-ориентированное программирование базируется на процедурной модели, но с содержательной – оно базируется не на функции, а на объекте, как на целостной системе. Таким образом, на данный момент, действительно, нет более-менее чёткой классификации языков программирования, охватывающей все признаки и рассказывающей о «переплетениях» различных классификаций между собой. 1.2. История языков программирования: развитие и создание История создания и развития языков программирования довольно захватывающая и интересная тема. Рассмотрим же основные этапы становления этой важнейшей сферы деятельности и вспомним некоторые языки программирования, которые в свое время сыграли решающую роль в развитии всей ИТ-индустрии. ![]() Зарождение языков программирования произошло в 1920-1930 годах, и были они примитивными, ориентированные исключительно на численные расчеты и прикладные задачи. Многие считают родоначальником программирования машин на определенные задачи английского ученого Чарльза Бэббиджема. Именно он в 20-х годах 20-го века сформулировал понятие программы, как последовательности действий машины для получения нужного результата. Конечно, это можно считать довольно условным фактом, так как первые вычислительные аппараты появлялись далеко задолго до 20-го века. Первым языком программирования можно считать так называемый машинный код, который представлял собой набор нулей и единиц, совмещенных в определенной последовательности. Нулю соответствовало отсутствие напряжения в определенном узле ЭВМ, единице – подача напряжения на некоторый момент времени. Это первый традиционный вариант программирования, но он имел немало недостатков, один из которых – даже малейшая ошибка полностью выводит программу из строя[12]. Программы того времени были оптимизированы под аппаратную архитектуру конкретного компьютера, для которого предназначались. Эффективность вычислений присутствовала, но стандартизации не было. Таким образом, ранние языки программирования зависели от того, что принято называть средой вычислений и приблизительно соответствовали современным машинным кодам или языкам ассемблер. Языки программирования подобного рода считаются низкоуровневыми языками программирования. Подобные языки обычно применяются для написания небольших системных приложений, драйверов устройств. Примером такого языка может служить Ассемблер (assembler – сборщик), который появился в конце пятидесятых годов. ![]() Европейские ученые не на шутку взволновались успехами американцев и решили создавать свой язык программирования, дабы не дать США доминировать в области программирования. Благодаря их решению история развития языков программирования дополнилась еще одним представителем – языком Algol, который решал примерно те же задачи, что и его американский конкурент. Один из участников работы над упомянутым выше Алголом по имени Никлаус Вирт решил создать более универсальный и продвинутый язык. В итоге он представил миру такой легендарный язык программирования, как Паскаль. Именно он внес существенный вклад в развитие данной области знаний и послужит прочной основой для появления других, более совершенных языков. Паскаль стал одним из первых языков, использующих структурное программирование, довольно простой и легко запоминающийся синтаксис[14]. В будущем многие компании и индивидуальные программисты создавали на базе Паскаля свои варианты языков. К примеру, известная Apple создала расширение Паскаля под названием Object Pascal, а компания Borland – очень популярную и удачную интегрированную среду разработки Turbo Pascal. В 70-х годах велись активные разработки языка С, который в будущем послужил надежной платформой для создания целого ряда своих более совершенных вариантов: Си Шарп, С++ и других. С был уже полноценным высокоуровневым языком программирования, на котором возможно реализовывать практически любые задачи по созданию самого разнообразного ПО. Известный и популярный в наше время язык Objective-C, который разработан компанией Apple и активно используется для написания программного обеспечения на их гаджеты и другие продукты, создан именно на основе того самого языка С из далеких 70-х. Языки программирования высокого уровня отличаются от предыдущих повышением эффективности труда разработчиков за счет абстрагирования от конкретных деталей аппаратного обеспечения. Одна инструкция языка высокого уровня соответствовала последовательности из нескольких низкоуровневых инструкций, или команд. ![]() Вот так выглядит история возникновения языков программирования, если смотреть на нее очень поверхностно и вкратце. На самом деле, эту историю можно растянуть до бесконечности и классификация существовавших в разные времена языков программирования может занять не один десяток страниц. ![]() |