Добавлен: 24.04.2023
Просмотров: 195
Скачиваний: 1
СОДЕРЖАНИЕ
Глава 1. Теоретические аспекты языков программирования высокого уровня
1.1 Краткая история языков программирования
1.2 Краткая характеристика основных языков высокого уровня
1.3 Сравнение языков программирования разных уровней
Глава 2. Анализ языков программирования высокого уровня
2.1 Анализ языков программирования на основе рейтингов
ВВЕДЕНИЕ
Актуальность.
Программирование незаметно стало одной из важнейших сфер деятельности нашего времени. Все люди активно пользуются компьютерной техникой, смартфонами, интернетом, самыми разнообразными гаджетами и все это просто не может существовать без специально написанных программ. Именно от качества используемого ПО зависит конечное быстродействие, стабильность работы, функциональность и многие другие параметры практически любого оборудования.
Первые языки программирования появились достаточно давно, еще примерно в середине 20-го века. Сейчас существуют разные виды языков программирования, к примеру, языки низкого и высокого уровня. Каждый из них необходим для решения определенного спектра задач. Помимо указанных вариантов, есть еще алгоритмические, формальные, машинные, символические, императивные и многие другие типы языков программирования, но наибольшее распространение и актуальность сейчас имеют именно языки низкого и высокого уровня.
Целью данной работы является проведение обзора языков программирования высокого уровня.
С целью достижения сформулированной цели курсовой работы необходимым является выполнение следующих задач:
– рассмотреть краткую историю языков программирования;
– изучить краткую характеристику основных языков высокого уровня;
– провести сравнение языков программирования разных уровней;
– провести анализ языков программирования на основе рейтингов;
– сравнить языки программирования высокого уровня.
Предмет – обзор языков программирования высокого уровня.
Объект – языки программирования высокого уровня.
Глава 1. Теоретические аспекты языков программирования высокого уровня
1.1 Краткая история языков программирования
Всю историю компьютерной индустрии и компьютерных наук с определенной точки зрения можно представить как историю развития языков программирования. Меняются времена, усложняются задачи, то, что раньше требовало человеко-лет, нынче энтузиасты делают на коленке за несколько недель; накоплена огромная масса типовых решений, типовых библиотек и типовых программистов. А создание, развитие и изменение языков программирования идет полным ходом.
1801 – Иосиф Мария Жаккард с помощью перфокарт вышивает «hello world» на ткани. Хабровчане тех времен недовольны отсутствием хвостовой рекурсии, многопоточности и заглавных букв.
1842 – Ада Лавлейс пишет первую программу. Её успехам препятствует маленькая проблема – компьютера для исполнения этой программы ещё не изобрели. Через полтора века архитекторы корпоративных приложений переймут технику Ады по написанию неисполняемых программ и назовут этот метод UML.
1936 – Алан Тьюринг изобретает все языки, которые теоретически могут существовать, но не успевает запатентовать их.
1936 – Алонзо Черч тоже изобретает все возможные языки, только лучше. Его лямбда-исчисление непопулярно, потому что непохоже на С. Критиков не смущает, что язык С еще не изобрели.
1940-е – Различные «компьютеры» «программируют», паяя провода и замыкая контакты.
1957 – Джон Бакус и IBM изобретают Фортран. По поводу IBM и Фортрана не шутят. Компилятор Фортрана выдает ошибку, если на программисте нет галстука.
1958 – Джон МакКарти и Пол Грэм придумывают ЛИСП. Популярности ЛИСПа мешает истощение мировых запасов круглых скобок, к счастью, запасы фигурных и угловых скобок практически неисчерпаемы. Тем не менее, ЛИСП (в наше время известный как Лисп, иногда Arc) – общепризнанный стандарт в области «фундаментальных концепций информационных технологий, таких как рекурсия и снисхождение»
1964 – Джон Кемни и Томас Курц пишут БЕЙСИК, неструктурированный язык для людей, не разбирающихся в программировании.
1970 – Гай Стил и Джеральд Зюсман создают Схему. В результате их усилий появляется «Всемогущая Лямбда», а затем «Всемогущая Лямбда, Универсальная Мультиварка».
1970 – Никлас Вирт создает процедурный язык Паскаль. Многие недовольны отличным от С синтаксисом оператора присваивания. Критиков не смущает, что язык С еще не изобрели.
1972 – Деннис Ричи изобретает пистолет, стреляющий в обе стороны одновременно. Не удовлетворенный числом смертей и увечий, приносимых этим устройством, он создает язык С и Юникс.
1972 – Ален Колмеро изобретает логический язык Пролог. Задача-максимум ученого – наделить компьютер интеллектом двухлетнего ребенка. Он блестяще справляется с задачей, написав программу, отвечающую «Нет!» на любой запрос.
1973 – Робин Милнер пишет МЛ, язык на основе теории типов M&M. МЛ порождает СМЛ, обладающий формально описанной семантикой. В число языков семейства МЛ входят OCaml, F# и Visual Basic.
1980 – Алан Кей пишет Smalltalk и придумывает термин «объектно-ориентированный». На просьбу объяснить он отвечает «Программы в ООП - просто объекты». На вопрос, из чего состоят объекты, он отвечает «из объектов» и объясняет «все состоит из объектов, в том числе и объекты. И стоит на четырех слонах».
1983 – Бьёрн Страуструп берет язык С, лепит поверх него все, что приходит на ум, и называет это С++. Чтобы программы скомпилировались за разумное время, их приходится отправлять в будущее искусственному интеллекту Скайнет. Зачем это нужно Скайнету, неясно.
1986 – Брэд Кокс и Том Лав придумывают Objective-C. По их словам, он «сочетает безопасность С с невероятной скоростью Smalltalk».
1987 – Ларри Волл засыпает на клавиатуре. Проснувшись, он принимает строку на мониторе за программу на языке, который Господь предначертал написать своему пророку Ларри. Так появляется Перл.
1990 – Комиссия в составе Саймона Пейтон-Джонса, Пола Худака, Филиппа Водлера, Эштона Катчера и Общества по защите прав животных проектирует Хаскелл – чисто функциональный язык с ленивыми вычислениями.
1991 – Голландский программист Гвидо ван Россум отправляется в Аргентину. Перенеся загадочную операцию, он возвращается с шрамом на черепе, пишет Питон, толпы поклонников провозглашают его Пожизненным Диктатором, и он заявляет, что «есть только один способ».
1995 – Брендан Эйк собирает ошибки всех известных языков, добавляет несколько новых и объединяет все в Livescript. Через некоторое время язык переименовывают в Javascript, чтобы воспользоваться популярностью языка Java. Через некоторое время язык переименовывают в ECMAscript.
1996 – Джеймс Гослинг придумывает Яву. Ява – довольно многословный статически типизированный объектно-ориентированный язык на основе классов, со сборкой мусора, одиночной диспетчеризацией вызовов, одиночным наследованием реализации и множественным наследованием интерфейсов. Sun громко провозглашает Java самым инновационным языком.
2001 – Андерс Хейлсберг придумывает C1. C1 – довольно многословный статически типизированный объектно-ориентированный язык на основе классов, со сборкой мусора, одиночной диспетчеризацией вызовов, одиночным наследованием реализации и множественным наследованием интерфейсов. Microsoft громко провозглашает C1 самым инновационным языком.
1.2 Краткая характеристика основных языков высокого уровня
Языки программирования высокого уровня – языки, которые используют различные абстрактные смысловые конструкции, которые просто невозможно сообщать машине на низкоуровневых языках в силу их большого объема и сложности.
Рассмотрим некоторые достойные высокоуровневые языки программирования, которые являются сейчас признанными лидерами и изучение которых способно дать максимальную отдачу.
1) C#.
СИ Шарп является одним из основных языков для написания программного обеспечения под самую популярную операционную систему для настольных компьютеров Windows от Microsoft. Именно в недрах данной компании C# и зародился, используясь в первую очередь для разработки приложения на платформу .NET Framework. С его помощью довольно легко реализовывать взаимодействие с базами данных MS SQL, он прекрасно интегрируется с другими языками (тем самым С и С++).
2) С++.
Еще один язык высокого уровня из большого семейства С, который в наше время повсеместно используется для решения самых разнообразных задач:
– создание логических ядер для серьезного ПО;
– разработки для сетей, серверов и различных служб, которые их обслуживают;
– для разработки компьютерных игр;
– для создания интерфейсов программ и многих других задач.
Даже обычный видеоплеер, которых сейчас хоть пруд пруди, чаще всего пишется именно на С++. Да, в нем могут быть элементы интерфейса (кнопки, переключатели и т. п.) разработанные на любом другом языке, но если речь идет о серьезных функциях, например, перекодировка видео в иной формат или прогрузка большого файла порциями, то подобные задачи решает именно С++.
3) Java.
Замечательный высокоуровневый язык программирования, который активно используется в написании ПО для компьютерной техники. В последние годы в него буквально вдохнула вторую жизнь мобильная ОС Android, программы на которую пишутся в основном именно на Java. Благодаря последнему факту актуальность данного языка ничуть не убывает. Зная его можно писать отличные приложения как для ПК, так и для самых разных современных гаджетов (включая смарт часы и очки виртуальной реальности).
4) PHP.
Отличный язык, дополняющий современные языки программирования высокого уровня. Он незаменим для разработки самых разнообразных веб-приложений, настройки работы серверного ПО, создания динамичных Интернет-ресурсов, снабженных различными интерактивными функциями, всплывающими окнами и прочими «погремушками». Если Вы видите в своем браузера на любимом сайте появившееся окно с приложением – скорее всего оно написано именно на PHP.
5) Python.
Очень популярный высокого уровня, который применяется для создания сайтов, программного обеспечения. Именно на Python пишется вся логическая система в играх, сложных приложений, налаживается автоматизация самых разнообразных процессов, создаются всевозможные вспомогательные инструменты. Это относительно несложный язык, который часто рекомендуется для начинающих.
6) Objective-C.
iOS остается самой популярной платформой для мобильных приложений, для которой необходимо знать язык Objective-C, как минимум для того, чтобы использовать XCode, инструментом разработки программного обеспечения от Apple.
7) Ruby.
Другой популярный язык программирования – это Ruby и Ruby on Rails. Этот язык программирования широко применяется для веб-программирования и, следовательно, оказался идеальным выбором для начинающих компаний.
8) Perl.
Perl также является общепризнанным языком программирования, который предлагает различные инструменты для различных непонятных неудач, таких как системное программирование. Perl в основном используется для расширения сайтов и веб-приложений, разработки настольных приложений и системного администрирования, а также автоматизации тестирования, которую можно применять для тестирования баз данных, веб-приложений, сетевых устройств и многого другого.
9) SQL.
Несмотря на появления баз данных noSQL, SQL (Standard Query Language) не теряет популярность для систем управления базами данных, так как многие используют MySQL, PostgreSQL, Microsoft SQL Server, Oracle и т. д. Это язык для построения запросов к базе данных и является больше стандартом, каждая база данных добавляет незначительные отличия.
10) Swift.
Swift считается самым модным языком программирования для расширения приложений для продуктов Apple. Многие используют его для приложений iOS, и MacOS/OSX.
1.3 Сравнение языков программирования разных уровней
Языки программирования можно разделить на три большие категории. Это языки высокого, среднего и низкого уровней.
К высокоуровневым языкам относятся языки программирования, предназначенные для упрощения программирования на компьютере. Они написаны так, чтобы язык был понятным для человека. Разработчику не нужно знать никаких данных об оборудовании компьютера, в котором будет использоваться какая-либо программа. Эти языки независимы. В пример можно привести C ++, Python или Java.
Языки низкого уровня написаны таким образом, чтобы удовлетворять потребности конкретной архитектуры компьютера и требований к определенному оборудованию.
Языки среднего уровня уже служат неким «мостом» между программным и аппаратным слоями вычислительной машины, работающие в пределах уровня абстракции компьютера. Сравним эти уровни по характеристикам: