Файл: Современные языки программирования (Общие сведения о языках программирования).pdf

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

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

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

Добавлен: 16.05.2023

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

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

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

ВВЕДЕНИЕ

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

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

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

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

Во второй главе рассматривается обзор современных языков программирования: C#, C++, PHP, RUBY, JAVA, Java Script, Python.

Глава 1. ОБЩИЕ СВЕДЕНИЯ О ЯЗЫКАХ ПРОГРАММИРОВАНИЯ

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

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

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

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

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

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


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

По своему способу осуществления языки программирования делятся на компилируемые, интерпретируемые, компилируемые на основе псевдокода и совмещенные.

  • Интерпретируемые языки. К этой группе причисляют языки программирования, первоначальный код которых считывается и выполняется особенной программой-интерпретатором инструкция за инструкцией. Интерпретируемыми являются большинство версий Basic и Forth.
  • К компилируемым языкам относятся языки программирования, исходный код которых преобразуется особой программой-компилятором в объектные модули, которые после этого собираются при помощи программы сборки (линковщика) в единый загружаемый модуль. Этот процесс отображает собой выполняемую программу. Компилируемыми языками являются C, C++, Object Pascal.
  • В языках, компилируемых на базисном псевдокоде исходный код программы компилируется и выполняется как последовательность вызовов подпрограмм из существующих библиотек. Таковыми являются некоторые версии Basic.
  • Совмещенные языки. В совмещенных языках исходный код проходит две стадии обработки. Компиляция исходного кода до уровня промежуточного языка (байт-код в Java или язык MSIL в технологии .NET) происходит на первой стадии. Интерпретация промежуточного кода (в Java этим занимается виртуальная машина Java) или докомпиляция промежуточного кода до выполняемого машинного кода (эту функцию осуществляет среда выполнения CLR в технологии .NET) происходит на второй стадии обработки.

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

  • Сценарные языки (скрипт или сценарий) - это программа, выполняющая другую. В пример можно взять скрипты оболочки в UNIX, программы на языках PHP, Python, Ruby.
  • Языки, создающие процесс. Создается отдельный процесс выполнения данной программы после запуска программы. Это можно наблюдать в языках C, C++, Object Pascal.

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

  • Автономные языки программирования (C, C++, Java) являются автономным инструментом для создания программ.
  • Встроенные языки в свою очередь принадлежат какой-то системе и разрешают разрабатывать программы, которые могут работать только в этой же системе.VBA (Visual Basic for Application) – один из самых известных встроенных языков. Данный язык используется исключительно в приложении Microsoft Office для расширения их функционала и автоматизации. Еще более распространёнными внутренними языками являются 1C и Java script, последний эксплуатируется исключительно в внутри веб-приложений.

Языки программирования делят на высокоуровневые и низкоуровневые по уровню их отдаленности от естественного языка.

  • Языки низкого уровня ближе к логике процессора вычислительной машины, например, машинный язык, ассемблер.
  • Языки высокого уровня ближе лингвистически к человеческому языку. Это все остальные языки программирования.

По парадигмам языки программирования разделяются на императивные (процедурные), функциональные, логические и объектно-ориентированные.

  • Императивные (процедурные) языки описывают решение задачи как последовательность процедур. Большинство современных языков программирования относится к императивным.
  • Функциональные языки описывают нужный результат в виде набора вложенных друг в друга функций (Haskell).
  • Логические языки описывают требуемый результат в виде суммы логических операций (Prolog).
  • Объектно-ориентированные языки способны определять абстрактные типы данных и реализовывать основные парадигмы объектно-ориентированного программирования (ООП): инкапсуляцию, наследование и полиморфизм (C++, Java, Object Pascal, и др.).

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

Ещё до появления электронных вычислительных машин люди хотели автоматизировать работу ткацких станков. Для ткацких станков программы записывались на перфокарты, которые придумали Чарльз Бэббидж и изобретатель из Франции Жозеф Жаккар. От этого и началась история программирования, чуть позднее стали закладываться теоретические основы этой науки.

В XX веке появились первые ЭВМ (электронные вычислительные машины) (рис.1).

Рисунок 1. Первая ЭВМ.

Первые про­граммы, которые составлялись для них, записывались в машинных кодах. Про­граммисту, чтобы написать правильную программу, нужно было в деталях представлять работу ЭВМ. Это очень сильно затрудняло общение между человеком и компьютером, чтобы облегчить общение программисты стали задумываться над коди­рованием программ. Вскоре они решили, что программа должна состав­ляться на языке, более легком человеку, чем язык машинных команд. Так появилась нужда в создании языков программирования.

В 50-е годы был создан язык Форт­ран. Так же, как и первые вычислительные машины, этот язык предназначался, в основном, для проведения математичес­ких и естественнонаучных расчетов. Фортран используется и в наши дни в усовершенствованном виде. Он является одним из наиболее используемых при про­ведении научных исследований среди современных языков высокого уровня.


Алгол (алгоритмический язык) появился в 1957 году и пришел на смену Фортрану. Он был предназначен для решения научно-технических задач, как и Фортран. Еще алгол использовался в качестве средства обучения основам программирования.

В 1960 году Джон Маккарти создал язык программирования Лисп. Этот язык широ­ко используется для обработки символьной информации. Он при­меняется для создания программного обеспечения, имитирующего деятельность человеческого мозга.

В середине 60-х годов разработан в качестве учебного языка язык Бейсик.

PL/I создан в 1967 году. По своим возможностям ПЛ/1 значительно мощнее многих других языков (Си, Паскаля).

В конце 60-х – начале 70-х гг. появился язык Форт. Этот язык стал применяться в задачах управления различными системами после того, как его автор Чарльз Мур написал на нем программу, предназначенную для управления радиотелескопом Аризонской обсерватории.

Паскаль появившийся в 1971 году язык был назван так в честь великого французского математика XVII века, изобрета­теля первой в мире арифметической машины Блеза Паскаля (рис. 2).

Рисунок 2. Блез Паскаль.

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

На основе языка Паскаль в конце 70-х гг. был создан язык Ада, названный в честь одаренного математика Ады Лавлейс.

В настоящее время популярным среди программистов явля­ется язык С (Си). Данный язык был создан в лаборатории Bell в 1972 году и первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы и в то же время не зависеть от конкретного типа процессора. На этом языке в 70-е годы написано множество прикладных и системных программ и ряд известных операционных систем (UNIX).

Еще один язык был со­здан в начале 70-х гг. группой специалистов Марсельского уни­верситета. Это язык Пролог. Свое название он получил от слов «Программирование на языке ЛОГики». В основе этого языка лежат законы математической логики.

C++ (Си++). Си++ — это объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 году.

Java (Джава, Ява). Этот язык был создан компанией Sun в начале 90-х годов на основе C++. Он призван упростить разработку приложений на основе C++ путем исключения из него всех низкоуровневых возможностей. Но главная особенность этого языка — компиляция не в машинный код, а в платформно-независимый байт-код (каждая команда занимает один байт).


С# (Си Шарп). В конце 90-х годов в компании Microsoft под руководством Андерса Хейльсберга был разработан язык C#. В нем воплотились лучшие идеи Си и Си++, а также достоинства.

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

Большинство современных языков программиро­вания - объектно-ориентированные. Среди них последние вер­сии языка Turbo Pascal, C++, Ada и др. В настоящее время ши­роко используются системы визуального программирования Visual Basic, Visual C++, Delphi и др. Они позволяют создавать сложные прикладные пакеты, обладающие простым и удобным пользовательским интерфейсом.

Одна из популярнейших аналитических компаний RedMonk на сегодняшний день представила рейтинг популярности языков программирования (рис. 3). Сегодня мы поговорим о лидерах этого списка.

Рисунок 3. Рейтинг языков программирования от RedMonk.

Глава 2.ВИДЫ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

2.1 С#

C# (на русском - “си-шарп”) – язык программирования, объективно-ориентированный. Он был создан в компании Microsoft группой инженеров в 1998-2001 годах под руководством Андерса Хейлсберга специально для создания на нем приложений для свое платформы .NET. Вследствие чего на нем можно создавать и компилировать программы без инструментальных средств, наподобие Visual Studio.

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

С# основываясь на практике эксплуатации языков Delphi, С++, Модула, Smalltalk и Java, устраняет некоторые модели, которые проявили себя проблематично при создании программных систем. Так С# не использует большое количество классов.

2.2 C++

C++ (на русском - “Си++”) – компилируемый язык программирования общего назначения и статически типизированный. Он поддерживает разные парадигмы программирования. Но если взять в сравнение его предшественника - язык C, - тогда заметно, что большее внимание в C++ уделено поддержке обобщённого и объектно-ориентированного программирования. Его название «C++» происходит от C, в котором однокомпонентный оператор ++ обозначает инкремент переменной. В девяностых годах XX века он являлся одним из наиболее востребованных языков программирования общего назначения. Во время разработки C++ старались сохранить коммуникабельность с языком C. Большое количество программ, написанных на языке C будут без проблем работать и с компилятором C++. Язык C++ имеет синтаксис, основанный на синтаксисе C.