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

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

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

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

Добавлен: 25.04.2023

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

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

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

Введение

На данный момент развития компьютерных технологий просто невозможно представить высококвалифицированного специалиста в сфере информационных технологий не владеющего и не умеющего обращаться с языками программирования. Для свободы действий «общения» с компьютером , а также эффективной работы в данной сфере необходимо знать больше чем один язык программирования. Профессиональные программисты владеют не одним десятком языков программирования. Как говорил Б.Л. Уолф : «Язык формирует наш способ мышления и определяет то, о чем мы можем мыслить».

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

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

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

Цели:

  1. Просмотреть основные сведения о языках программирования.
  2. Рассмотреть по каким критериям осуществляется выбор языка программирования для разработки программ.

Задачи:

  1. Ознакомится с языками программирования.
  2. Рассмотреть развитие языков программирования.
  3. Узнать значение языков программирования.
  4. Изучить в каких технических компаниях какие языки востребованы.
  5. Провести диагностику популярности языков программирования.

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

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


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

1. Языки программирования и их классификация

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

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

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

Имеющиеся на данное время языки программирования можно разделить по функциональному признаку, или же парадигме[1] программирования.

на две группы: процедурные и непроцедурные. (рис.1)

рис.1 Общая классификация языков программирования

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

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

К процедурным языкам программирования можно отнести: Pascal,Basic,C и другие.

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

Декларативное программирования – это парадигма, в которой описывается, что нужно сделать компьютеру. В пример этого случая можно привести язык разметки HTML, нужно лишь заключить в тег <img>: ссылку на изображение, ну а каким уже образом она будет отображена на странице – это задача компьютера.


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

Функциональное программирование позволяет кэшировать результаты и вызывать их в нужный момент. В пример можно поставить: LISP – первый функциональный язык, Haskell и другие.

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

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

Первый объектно-ориентированный язык программирования Simula был создан в 1960-х годах Нигаардом и Далом.

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

Прежде всего языки программирования нужно классифицировать по уровням. Разные разработчики разбивают языки либо на три уровня:

  1. Машинные
  2. Машинно-ориентированные
  3. Машинно-независимые

Либо на 2 уровня:

  1. Языки программирования низкого уровня
  2. Языки программирования высокого уровня

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


Высшим же уровнем будут считаться машинно-независимые языки, которые разработаны для удобства восприятия, быстроты понимания и работы с ними.

Также, если язык близок к естественному языку программирования, то он называется языком высокого уровня, если ближе к машинным командам, - языком низкого уровня.

К группе языков низкого уровня относятся машинные языки и языки символического кодирования: Автокод, Ассемблер. Операторами этого языка являются те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Языки программирования низкого уровня ориентированы на определенный тип компьютера, то есть являются машинно-зависимыми.

Машинно-ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ.

Языками высокого уровня в современной классификации считаются машинно-независимые языки, разработанные для удобства использования. Таким образом, на данный момент авторы все чаще не учитывают машинный код в своих классификациях. Примерами языков программирования высокого уровня являются C++,C#, PHP, Perl, Java и многие другие.

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

В таком случае:

  1. Интерпретируемые языки – программы написанные на этом языке, выполняются только при наличии дополнительной, определенной программы –интерпретатора. Осуществление программы происходит , значительно медленно. При просмотре результата программу нужно постоянно интерпретировать, а это уже недостаток. Интерпретируемый язык – кроссплатформенный. Достаточно популярным примером может служить язык PHP, специально разработанный в 1995 году для создания веб-сайтов.
  2. Компилируемые языки – программы, которые написаны на данном языке, преобразуются специальной программой в машинный код. Во время изменения кода программы могут обнаружиться ошибки в машинных инструкциях, в таком случае, при любом изменении кода программы вновь потребуется компиляция. Такие программы осуществляются быстрее интерпретируемых программ, потому что компилятор переводит сразу и целиком машинные инструкции в исполняемы файл . Основным из языков в данной категории можно привести в пример язык C.
  3. Смешанный тип или же компилируемо-интерпретируемые языки программирования, заключившие в себя достоинства как компилируемых языков, так и интерпретированных. Эти языки переводятся не в машинный язык, а в байт-код. Он на специальной виртуальной машине интерпретируется. Пример в данном случае Java, C#.

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

Первое поколение (начало 1950-х годов) – это язык первых компьютеров. Первый язык ассемблера, который был создан по принципу «одна инструкция – одна строка». Основной отличительной особенностью является ориентирование на конкретный компьютер.

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

Третье поколение (1960-е годы) – разработаны языки программирования высокого уровня, которые имели такие характеристики как:

  1. Относительная простота
  2. Независимость от конкретного компьютера
  3. Возможность использования мощных синтаксических конструкций.

Простота языка позволяет и людям не являющимися профессиональными программистами писать небольшие программы. Ориентирование на алгоритмические языки, то есть алгоритм – отличительная особенность языка третьего поколения.

Примерами данного языка могут служить – C,Pascal,Java,Basic и многие другие. В мире всего существует около 200 популярных языков программирования третьего уровня.

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

Часто к ним относят: SQL, SGML (HTML,XML), Prolog и многие другие декларативные узкоспециализированные языки. Единственно некоторый ряд языков, которые относят к языкам четвертого поколения, как таковыми языками программирования не являются. Они скорее выступают, как своеобразные специализированные дополнения к полноценным языкам программирования.

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

Отличительность особенностью языка четвертого поколение, является приближение к человеческой речи.