Файл: Классификация языков программирования. Критерии выбора среды и языка разработки( Разработка языков программирования).pdf
Добавлен: 25.04.2023
Просмотров: 436
Скачиваний: 2
СОДЕРЖАНИЕ
1. Языки программирования и их классификация
1.1 Разработка языков программирования
1.2 Роль и значения языков программирования
2.Критерии выбора языка для разработки программ
2.1 Обзор характеристик языков программирования
2.2 Какие языки нужны компаниям?
2.3 Популярность языков программирования
Введение
На данный момент развития компьютерных технологий просто невозможно представить высококвалифицированного специалиста в сфере информационных технологий не владеющего и не умеющего обращаться с языками программирования. Для свободы действий «общения» с компьютером , а также эффективной работы в данной сфере необходимо знать больше чем один язык программирования. Профессиональные программисты владеют не одним десятком языков программирования. Как говорил Б.Л. Уолф : «Язык формирует наш способ мышления и определяет то, о чем мы можем мыслить».
Популярность данной темы, а также стремительное совершенствование компьютерных технологий запустил процесс появления новых различных знаковых систем для записи алгоритмов, а именно языков программирования. Ведь, чем новее технологии, тем сложнее и новее применяемая к ней знаковая система. Для получения нового эффекта, каждый год разрабатываются новые языки программирования, некоторые становятся известными и используются миллионами людей, другие известны лишь узкому кругу самих разработчиков.
Поэтому объектом моей курсовой работы и стала тема: «Классификация языков программирования. Критерии выбора среды и языка разработки программ.», ведь именно с написания знаковых систем и начинается сотворение каких-либо программ, приложений и многое другое.
Целью курсовой работы является изучение классификации языков программирования, а также узнать какими критериями пользуются разработчики в выборе языка для разработки различных программ.
Цели:
- Просмотреть основные сведения о языках программирования.
- Рассмотреть по каким критериям осуществляется выбор языка программирования для разработки программ.
Задачи:
- Ознакомится с языками программирования.
- Рассмотреть развитие языков программирования.
- Узнать значение языков программирования.
- Изучить в каких технических компаниях какие языки востребованы.
- Провести диагностику популярности языков программирования.
В первой главе рассматриваются основные сведения о языках программирования, а также их развитие и значение.
Во второй главе рассматриваются критерии выбора языков программирования для разработки приложений, а также обзор языков программирования, рассмотрение какими языками пользуются современные технические компании и популярность языков программирования.
В третьей главе рассматривается прогноз на будущее языков программирования.
1. Языки программирования и их классификация
В настоящее время можно заметить стремительное развитие такой научной дисциплины, как программирование. А для того, чтобы понять и начать работать с данной дисциплиной нужно знать ,такую немаловажную вещь, как язык программирования.
Язык программирования – язык (знаковая система), предназначенный для записи компьютерных программ.
На нынешнее время в мире существует несколько сотен реально используемых языков программирования и для каждого есть своя область применения в зависимости от степени детализации предписаний обычно определяется уровень языка , чем меньше детализация, тем выше уровень языка.
Имеющиеся на данное время языки программирования можно разделить по функциональному признаку, или же парадигме[1] программирования.
на две группы: процедурные и непроцедурные. (рис.1)
рис.1 Общая классификация языков программирования
Непроцедурные языки программирования содержат в себе два подкласса – это функциональные и логические языки. Также отдельно выделяют объективно-ориентированные языки программирования, хотя в них входят элементы процедурного программирования.
Процедурные языки программирования позволяют разработчикам создавать программы, которые представляют собой систему предписаний для решения конкретной задачи, а выполнение команд программы определяется последовательностью, также командами перехода, цикла или обращения к процедурам. Проще говоря, четкая последовательность команд, которые необходимо выполнить компьютеру. Программист, работая на этих языках, можно сказать, говорит компьютеру не что нужно делать, а как нужно.
К процедурным языкам программирования можно отнести: Pascal,Basic,C и другие.
Непроцедурные языки программирования можно смело назвать противоположностью процедурных языков программирования.
Декларативное программирования – это парадигма, в которой описывается, что нужно сделать компьютеру. В пример этого случая можно привести язык разметки HTML, нужно лишь заключить в тег <img>: ссылку на изображение, ну а каким уже образом она будет отображена на странице – это задача компьютера.
Процесс вычисления в функциональном программировании можно сравнить с вычислением значений функций в математическом понимании. Но на практике, конечно же имеются различия, такие как например функции в функциональном программировании могут опираться не только на аргументы, но и на состояние внешних по отношению функции переменных, таким образом в функциональном языке при вызове функции с одними и теми же аргументами мы всегда получим один и тот же результат, то есть выходные данные зависят от входных, что отлично от математической функции, получившей а разных местах программы разные выходные данные.
Функциональное программирование позволяет кэшировать результаты и вызывать их в нужный момент. В пример можно поставить: LISP – первый функциональный язык, Haskell и другие.
Действия вообще не описываются в программах, которые написаны на языках логического программирования. Разработчику нужно задать данные и отношения между ними, после чего программе можно задать вопрос, компьютер перебирает заданные данные и находит ответ на вопрос, примером может служить - Prolog.
В объективно-ориентированных языках программирования функции и переменные группируются в классы, из-за этого структуризация достигает высокого уровня. С формальной точки зрения, объективно-ориентированное программирование строится на процедурной модели, а со стороны содержательной – на объекте, как на целостной системе, а не на функции.
Первый объектно-ориентированный язык программирования Simula был создан в 1960-х годах Нигаардом и Далом.
Также не хотелось бы обделять язык Ява. Ява – это язык программирования Интернет, которая позволяет разработчикам создавать надежные, безопасные, переносимые объективно-ориентированные интерактивные программы. Интернет и язык Ява тесно связаны между собой, так как первой серьезной программой написанной на этом языке – это был браузер Всемирной паутины.
Прежде всего языки программирования нужно классифицировать по уровням. Разные разработчики разбивают языки либо на три уровня:
- Машинные
- Машинно-ориентированные
- Машинно-независимые
Либо на 2 уровня:
- Языки программирования низкого уровня
- Языки программирования высокого уровня
В случае деления языков программирования на три уровня – низшим уровнем будет считаться машинный код – набор команд, выполняемых конкретным процессором и разработанных специально для него. Обычно это последовательность шестнадцатеричных символов.
Высшим же уровнем будут считаться машинно-независимые языки, которые разработаны для удобства восприятия, быстроты понимания и работы с ними.
Также, если язык близок к естественному языку программирования, то он называется языком высокого уровня, если ближе к машинным командам, - языком низкого уровня.
К группе языков низкого уровня относятся машинные языки и языки символического кодирования: Автокод, Ассемблер. Операторами этого языка являются те же машинные команды, но записанные мнемоническими кодами, а в качестве операндов используются не конкретные адреса, а символические имена. Языки программирования низкого уровня ориентированы на определенный тип компьютера, то есть являются машинно-зависимыми.
Машинно-ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ.
Языками высокого уровня в современной классификации считаются машинно-независимые языки, разработанные для удобства использования. Таким образом, на данный момент авторы все чаще не учитывают машинный код в своих классификациях. Примерами языков программирования высокого уровня являются C++,C#, PHP, Perl, Java и многие другие.
Так же, если программа написана на языке программирования высокого уровня, то ЭВМ не понимает, так как ей доступен лишь машинный язык, в таком случает для перевода с языка программирования на язык машинных кодов потребуются специальные программы-трансляторы : интерпретаторы, компиляторы и ассемблеры.
В таком случае:
- Интерпретируемые языки – программы написанные на этом языке, выполняются только при наличии дополнительной, определенной программы –интерпретатора. Осуществление программы происходит , значительно медленно. При просмотре результата программу нужно постоянно интерпретировать, а это уже недостаток. Интерпретируемый язык – кроссплатформенный. Достаточно популярным примером может служить язык PHP, специально разработанный в 1995 году для создания веб-сайтов.
- Компилируемые языки – программы, которые написаны на данном языке, преобразуются специальной программой в машинный код. Во время изменения кода программы могут обнаружиться ошибки в машинных инструкциях, в таком случае, при любом изменении кода программы вновь потребуется компиляция. Такие программы осуществляются быстрее интерпретируемых программ, потому что компилятор переводит сразу и целиком машинные инструкции в исполняемы файл . Основным из языков в данной категории можно привести в пример язык C.
- Смешанный тип или же компилируемо-интерпретируемые языки программирования, заключившие в себя достоинства как компилируемых языков, так и интерпретированных. Эти языки переводятся не в машинный язык, а в байт-код. Он на специальной виртуальной машине интерпретируется. Пример в данном случае Java, C#.
Следующая классификация, которую необходимо рассмотреть, - классификация языков программирования по поколениям. Языки программирования делятся на пять поколений, но это считается спорным, так как разные авторы опять же по-своему разделяют поколения.
Первое поколение (начало 1950-х годов) – это язык первых компьютеров. Первый язык ассемблера, который был создан по принципу «одна инструкция – одна строка». Основной отличительной особенностью является ориентирование на конкретный компьютер.
Второе поколение (конец 1950-х-начало 1960-х) – появилось понятие переменной в разработанном символьном ассемблере, является первым полноценным языком. Отличительная способность которого , ориентирование на абстрактный компьютер с такой же системой команд.
Третье поколение (1960-е годы) – разработаны языки программирования высокого уровня, которые имели такие характеристики как:
- Относительная простота
- Независимость от конкретного компьютера
- Возможность использования мощных синтаксических конструкций.
Простота языка позволяет и людям не являющимися профессиональными программистами писать небольшие программы. Ориентирование на алгоритмические языки, то есть алгоритм – отличительная особенность языка третьего поколения.
Примерами данного языка могут служить – C,Pascal,Java,Basic и многие другие. В мире всего существует около 200 популярных языков программирования третьего уровня.
Четвертое поколение (начало 1970-х годов до сегодняшнего времени) - начинают создаваться языки, которые предназначены для реализации крупных проектов. Оперирующие конкретными понятиями в узкой области , проблемно–ориентированные языки, в которые как правило встраивают мощные операторы, способные одной строкой описывать функции, на описания которых у языков младших поколений потребовались бы сотни или даже тысячи строк исходного кода.
Часто к ним относят: SQL, SGML (HTML,XML), Prolog и многие другие декларативные узкоспециализированные языки. Единственно некоторый ряд языков, которые относят к языкам четвертого поколения, как таковыми языками программирования не являются. Они скорее выступают, как своеобразные специализированные дополнения к полноценным языкам программирования.
Примером к данному случаю может служить SQL, который является языком запросов к базам данных, HTML – это язык для разметки гипертекста, а не полноценный язык программирования, а так же к этому случаю относится и XML.
Отличительность особенностью языка четвертого поколение, является приближение к человеческой речи.