Главная страница
Навигация по странице:

  • КУРСОВОЙ ПРОЕКТ (РАБОТА)

  • Содержание

  • ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ СУЩНОСТИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ 1.1. Понятие и классификация языков программирования

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

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

  • Курсовая Работа. КурсРаб. Техникоэкономический колледж при нао карагандинский индустриальный унивеситет


    Скачать 204.12 Kb.
    НазваниеТехникоэкономический колледж при нао карагандинский индустриальный унивеситет
    АнкорКурсовая Работа
    Дата13.01.2023
    Размер204.12 Kb.
    Формат файлаdocx
    Имя файлаКурсРаб.docx
    ТипКурсовой проект
    #884794
    страница1 из 3
      1   2   3

    МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ КАЗАХСТАН

    ТЕХНИКО-ЭКОНОМИЧЕСКИЙ КОЛЛЕДЖ ПРИ НАО «КАРАГАНДИНСКИЙ ИНДУСТРИАЛЬНЫЙ УНИВЕСИТЕТ»

    Специальность: Вычислительная техника

    и программное обеспечение

    Группа: ВТиПО-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. 1.2. История языков программирования: развитие и создание…………………………………………………………………...9

    2. ГЛАВА 2. СРАВНИТЕЛЬНЫЙ АНАЛИЗ СОВРЕМЕННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ……………………………………………….13

    3. 2.1. Javascript……………………………………………………………..15

    4. 2.2. SQL…………………………………………………………………..16

    5. 2.3. Java…………………………………………………………………..18

    6. 2.4. Python………………………………………………………………..19

    7. 2.5. PHP…………………………………………………………………..20

    8. 2.6. С++…………………………………………………………………..22

    9. 2.7. TypeScript…………………………………………………………...23

    10. 2.8. Ruby…………………………………………………………………25

    11. 2.9. Swift и Objective-C…………………………………………………26

    12. 2.10. Новые современные языки программирования………………...28

    13. ЗАКЛЮЧЕНИЕ…………………………………………………………30

    14. СПИСОК ЛИТЕРАТУРЫ………………………………………………31

    15. ПРИЛОЖЕНИЕ…………………………………………………………33





    ВВЕДЕНИЕ

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

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

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

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

    Объектом исследования курсовой работы являются языки программирования.

    Предмет исследования – процесс развития и использования современных языков программирования.

    Цель работы – исследовать особенности современных языков программирования.

    Для достижения цели в работе были поставлены следующие задачи:

    1. Рассмотреть понятие и классификация языков программирования.

    2. Рассмотреть историю языков программирования: развитие и создание.

    3. Провести сравнительный анализ современных языков программирования.





    ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ СУЩНОСТИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

    1.1. Понятие и классификация языков программирования

    Сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и на естественном языке (говорят: программирование на метаязыке), но из-за неоднозначности естественного языка автоматически перевести такую программу в машинный код пока невозможно.

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

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

    2. Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» – это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией.

    3. Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений[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, который, по своей сути, вовсе не является языком программирования. Вообще, часто можно прочитать о том, что языки программирования четвёртого поколения – это языки, встроенные в определённую программную оболочку и используемые для узкоспециализированных задач, например, для создания баз данных и управления ими (встроенные языки систем управления базами данных)[7]. Получается, вернее всего сказать, что языки программирования четвёртого поколения – логичное развитие языков третьего поколения, упрощающее работу программистов ввиду того, что в основе своей эти языки встроены в собственную программную оболочку с функциями, помогающими разработчикам. Также к языкам четвёртого поколения нужно отнести языки параллельного программирования, ориентированные на создание программных средств многопроцессорной архитектуры.

    Языки пятого поколения, теоретически, должны ещё больше упростить и ускорить работу программистов: целью этих языков является переложить значительную часть работы с человека на компьютер. Чаще всего сюда относят языки экспертных систем, баз знаний. В настоящее время, действительно, нет решений, которые могут выдавать полноценный продукт, получая при этом лишь задачу. Некоторые авторы говорят о системе MathCAD, она действительно заметно облегчает работу пользователей, беря на себя огромную долю вычислительной работы. Но всё же, на данный момент нет чёткого определения, по каким критериям определить языки пятого поколения. Одно ясно: с их использованием компьютер должен будет решить поставленную задачу без необходимости пользователю вручную реализовывать алгоритм.

    Далее, рассмотрим классификацию языки программирования по функциональному признаку, или парадигме программирования.

    Большинство авторов даёт чёткое разделение языков программирования на процедурные (императивные) и непроцедурные (декларативные). Класс непроцедурных языков содержит в себе два подкласса: функциональные и логические языки. Часто отдельным классом выделяют объектно-ориентированные языки программирования, хотя они содержат элементы процедурного программирования. Остановимся на каждом классе поподробнее.

    В процедурных языках программа явно описывает необходимые к выполнению действия, то есть она является чёткой последовательностью команд, которые необходимо выполнить компьютеру. Можно сказать, что, программируя на этих языках, программист говорит компьютеру, не что делать, а как. К этому классу можно отнести большинство языков программирования: Pascal, Basic, C и другие[8].

    Непроцедурные языки можно запросто назвать противоположностью языкам процедурным. Декларативное программирование – парадигма программирования, в которой описывается, что необходимо сделать компьютеру. Хорошим примером служит язык разметки HTML, возьмём тег : необходимо просто заключить в него ссылку на изображение, а каким образом оно отобразится на странице – это задача компьютера[9].

    В функциональном программировании процесс вычисления можно описать как вычисление значений функций в математическом понимании. На практике, отличие математической функции от понятия «функция» в императивном программировании заключается в том, что императивные функции могут опираться не только на аргументы, но и на состояние внешних по отношению к функции переменных, таким образом, получая в разных местах программы разные выходные данные. А в функциональном языке при вызове функции с одними и теми же аргументами мы всегда получим один и тот же результат – выходные данные зависят только от входных. Это позволяет средам функционального программирования кэшировать результаты выполнения функций и вызывать их в нужный момент[10]. Примерами можно привести LISP – первый функциональный язык, Haskell и другие.

    В программах, написанных на языках логического программирования, вообще не описывается действий. Программист задаёт данные и отношения между ними, после этого программе можно задать вопрос, компьютер перебирает заданные данные и находит ответ[11]. Классический пример языка логического программирования – Prolog.

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

    Таким образом, на данный момент, действительно, нет более-менее чёткой классификации языков программирования, охватывающей все признаки и рассказывающей о «переплетениях» различных классификаций между собой.

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

    История создания и развития языков программирования довольно захватывающая и интересная тема. Рассмотрим же основные этапы становления этой важнейшей сферы деятельности и вспомним некоторые языки программирования, которые в свое время сыграли решающую роль в развитии всей ИТ-индустрии.

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

    Зарождение языков программирования произошло в 1920-1930 годах, и были они примитивными, ориентированные исключительно на численные расчеты и прикладные задачи. Многие считают родоначальником программирования машин на определенные задачи английского ученого Чарльза Бэббиджема. Именно он в 20-х годах 20-го века сформулировал понятие программы, как последовательности действий машины для получения нужного результата. Конечно, это можно считать довольно условным фактом, так как первые вычислительные аппараты появлялись далеко задолго до 20-го века.

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

    Программы того времени были оптимизированы под аппаратную архитектуру конкретного компьютера, для которого предназначались. Эффективность вычислений присутствовала, но стандартизации не было. Таким образом, ранние языки программирования зависели от того, что принято называть средой вычислений и приблизительно соответствовали современным машинным кодам или языкам ассемблер. Языки программирования подобного рода считаются низкоуровневыми языками программирования. Подобные языки обычно применяются для написания небольших системных приложений, драйверов устройств. Примером такого языка может служить Ассемблер (assembler – сборщик), который появился в конце пятидесятых годов.

    Приблизительно в 50-е годы начались активные разработки более совершенных вариантов языков программирования, нежели простые сигналы из нулей и единиц. Американские ученые разработали довольно успешный язык Ada, который использовался для управления военной техникой. Также очень большую роль в ИТ-индустрию внес язык под названием Fortran. Он возник в глубинах компании IBM – главного компьютерного гиганта того времени, и активно использовался для решения научных и технических задач[13].

    Европейские ученые не на шутку взволновались успехами американцев и решили создавать свой язык программирования, дабы не дать США доминировать в области программирования. Благодаря их решению история развития языков программирования дополнилась еще одним представителем – языком Algol, который решал примерно те же задачи, что и его американский конкурент.

    Один из участников работы над упомянутым выше Алголом по имени Никлаус Вирт решил создать более универсальный и продвинутый язык. В итоге он представил миру такой легендарный язык программирования, как Паскаль. Именно он внес существенный вклад в развитие данной области знаний и послужит прочной основой для появления других, более совершенных языков. Паскаль стал одним из первых языков, использующих структурное программирование, довольно простой и легко запоминающийся синтаксис[14]. В будущем многие компании и индивидуальные программисты создавали на базе Паскаля свои варианты языков. К примеру, известная Apple создала расширение Паскаля под названием Object Pascal, а компания Borland – очень популярную и удачную интегрированную среду разработки Turbo Pascal.

    В 70-х годах велись активные разработки языка С, который в будущем послужил надежной платформой для создания целого ряда своих более совершенных вариантов: Си Шарп, С++ и других. С был уже полноценным высокоуровневым языком программирования, на котором возможно реализовывать практически любые задачи по созданию самого разнообразного ПО. Известный и популярный в наше время язык Objective-C, который разработан компанией Apple и активно используется для написания программного обеспечения на их гаджеты и другие продукты, создан именно на основе того самого языка С из далеких 70-х.

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

    История создания языков программирования была бы не полной, если не упоминать еще и о таких важнейших языках, как Java, PHP, HTML. Java возник в середине 90-х годов и сразу получил широкое применение и популярность. с его помощью одинаково легко пишутся как программы на ПК, так и различные скрипты, веб-приложения и многое другое. HTML язык был разработан британским программистом Т. Бернерсом-Ли в начале 90-х. именно он стал основой всей сети интернет и имеющихся сейчас в не миллионов сайтов. Что касается PHP, то этот популярный нынче язык также возник в 1995 году, имел открытый исходный код и способен реализовать практически любую задумку в сфере создания динамических вебсайтов.

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

      1   2   3


    написать администратору сайта