Файл: Современные языки программирования (Классификация языков программирования по уровням).pdf
Добавлен: 25.05.2023
Просмотров: 400
Скачиваний: 2
СОДЕРЖАНИЕ
1. Развитие и содержание языков программирования
1.1 История развития языков программирования
1.2 Языки программирования, особенности и критерии отбора
2.Классификация языков программирования
2.1 Виды языков программирования
2.2 Классификация языков программирования по уровням
2.3 Языки программирования баз данных
Языки среднего уровня программирования
Среди характеристик часто встречаются: фокус на абстракциях, сильная статическая типизация, среда выполнения, ограничения на прямой доступ к памяти.
Примеры: Java, C #.
Плюсы:
- Управлять памятью необязательно, но при желании вы можете это делать самостоятельно.
- Богатые стандартные библиотеки.
- Компилируется в байт-код, что упрощает взаимодействие с другими языками.[41]
Минусы:
- Многие абстракции мешают новичку в освоении концепций, так как непонятно, почему они созданы именно таким образом.
- Байт-код требует установленной среды исполнения.
- До сих пор нужно часто вставлять стандартные куски кода (boilerplate), несмотря на наличие абстракций.
Языки высокого уровня программирования
Высокоуровневый язык программирования - язык программирования, разработанный для быстроты и удобства использования программистом.[42]
Основная черта высокоуровневых языков – это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другом низкоуровневом языке программирования) очень длинны и сложны для понимания.[43]
Таблица 1
Классификация языков программирования высокого уровня
|
Языки программирования высокого уровня |
|||
|
Неструктурные (BASIC, FORTRAN) |
Структурные (Pascal, Algol) |
Логические (Prolog, Simula) |
Функциональные (Lisp, ЛОГО) |
|
Объектно-ориентированные (Pascal, C++, Java) |
Языки программирования баз данных (SQL, Oracle) |
Языки программирования для Интернет (HTML, Perl, Vrml) |
|
«Таблица составлена по Кундиус, В.А. Теоретические основы разработки и реализации языков программирования / В.А. Кундиус. - М.: КноРус, 2013. – 184 с.»
Среди характеристик часто встречаются: сильное абстрагирование, динамическая и / или слабая типизация, полностью независимое управление памятью и / или наличие среды исполнения.[44]
Примеры: Python, Ruby, JavaScript, Common Lisp.
Плюсы:
- Абстракции делают сложные задачи простыми.
- В целом все просто и интуитивно, даже при внесении изменений.
- Сравнительно большие стандартные библиотеки означают, что то, что необходимо сделать, скорее всего уже реализовано и доступно.
- Меньше вставок стандартного кода (boilerplate) - синтаксис значительно проще.
Минусы:
- Надстройки для реализации абстракций снижают производительность.
- Архитектура может страдать, поэтому достаточно просто вносить изменения почти в любом месте вместо того, чтобы вносить их там, где действительно нужно.
- Через скрытые детали сложно выяснять причины возникновения проблем, когда они появляются.
- Динамическая типизация усложняет поиск ошибок без запуска кода.[45]
2.3 Языки программирования баз данных
Эта группа языков отличается от алгоритмических языков прежде всего задачами.
База данных - это файл (или группа файлов), представляющий собой упорядоченный набор записей, имеющих единообразную структуру и организованных по единому шаблону (как правило в табличном виде). База данных может состоять из несколько таблиц.[46]
В базах данных удобно хранить различные данные с справочников, картотек, журналов, бухгалтерского учета и т.д.
При работе с базами данных чаще всего нужно выполнять следующие операции:
- создание, модификация свойств, удаление таблиц в базе данных;
- поиск, отбор, сортировка информации по запросам пользователя;
- добавления новых записей;
- модификация существующих записей;
- удаления существующих записей.[47]
Первые базы данных появились как только возникла необходимость в обработке больших массивах информации и создании групп записей по определенным признакам. Для этого был создан структурированный язык запросов SQL (Structured Query Language). Он основан на мощной математической теории и позволяет выполнять эффективную обработку баз данных, манипулируя не отдельными записями, а группой записей.[48]
Для управления большими базами данных и их эффективной обработкой, были разработаны системы управления базами данных.
Практически в каждой системе управления базами данных помимо поддержки языка SQL присутствует также свой уникальный язык, ориентированный на особенности этой системы управления базами данных и которая не переносимая на другие системы.
Сегодня в мире насчитывается пять ведущих производителей системы управления базами данных, это Microsoft (SQL Server), IBM (db2), Oracle, Sybase, Software AG (Adabas). Их продукты направлены на поддержку одновременной работы тысячи пользователей в сети, а базы данных могут храниться на несколько серверах.[49]
С появлением персональных компьютеров, были созданы так называемые настольные системы управления базами данных.
Родоначальником современных языков программирования баз данных для персональных компьютеров принято считать системы управления базами данных dBase. Затем для нее были созданы компиляторы, появились системы управления базами данных FoxPro Clipper, поддерживающие диалекты этого языка.
Во многих системах управления базами данных обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с базами данных, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных.
Реляционные системы управления базами данных (relation – отношение): 1970 г., показана возможность управления данными благодаря их описанию в терминах математической теории отношений – гибкая и простая реляционная модель данных стала доминирующей среди разработчиков и пользователей систем управления базами данных. [50]
Объектно-реляционные базы данных – объектно-ориентированные возможности (определение новых типов данных и функций их обработки) встраиваются в реляционное основание. [51]
Язык SQL сочетает средства ЯОД и ЯМД, то есть позволяет определять схему реляционной БД и манипулировать данными.
Взаимодействие между прикладными программами и сервером базы данных должно поддерживаться языком программирования, т.е. в языке программирования должен быть предусмотрен механизм отправки операторов SQL серверу и обработки результатов, возвращенных сервером.[52]
2.4 Языки программирования для интернета
С активным развитием глобальной сети было создано множество реализаций популярных языков программирования, адаптированных специально для интернета.Все они отличались характерными особенностями, языки являются интерпретируемые, интерпретаторы для них распространяются бесплатно, а сами программы в исходных текстах. Такие языки называют скриптовыми.
HTML - язык разметки веб-страниц, состоящий из html-элементов, или тегов. Теги – строительные блоки, они формируют структуру веб-страницы и не имеют визуального отображения. [53]
HTML (HyperText Markup Language) – язык гипертекстовой разметки, позволяющий задать местоположение элементов веб-страницы. Просмотр HTML-документа осуществляется с помощью веб-браузера, который отображает документ на основе исходного кода, описывающего структуру HTML-документа.
Perl - до появления РНР широко использовался ранее в веб проектах, в восьмидесятых годах был разработан Ларри Уоллом. Задумывался как средство эффективной обработки больших текстовых файлов.[54]
По мощности Perl значительно преобладает язык типа Си. В нем введено много часто используемых функций работы со строками, массивами, всевозможные средства преобразования данных, управления процессами, работа с системной информацией и другие. Хотя вообще то большинство считают, что язык Perl совершенно не приспособен для веб проектов, когда не существовало еще РНР и большинство владельцев мощных сайтов выбирали этот язык в качестве основны для своих веб проектов, - язык программирования Perl. Тогда этот язык считался одним из лучших, потому что он позволял достаточно быстро писать коды.[55]
Perl (Practical Extraction and Report Language ) является переносимым, интерпретируемым языком, идеально приспособленным для многочисленных приложений по обработке текста. Perl поддерживает структурированные программные конструкции, как и большинство языков программирования высокого уровня, и предлагает богатство встроенных возможностей, накопленных им за годы эволюции среде UNIX. [56]
VRML - был создана в 1994 году, для органзации виртуальных трехмерных интерфейсов в интернете. Он позволяет описывать в текстовом виде различные трехмерные сцены, свет и тени, текстуры (покрытие объектов), создавать свои миры, путешествовать по ним, вращать в любом направлении, масштабировать и т.д.[57]
В течение нескольких последних десятилетий сфера информационных и
компьютерных технологий шагнула далеко вперёд. Технологии прочно вошли в нашу повседневную жизнь, и уже довольно сложно представить современного человека без обработки какой -либо информации накомпьютере. Программирование, само собой, – идёт бок о бок с техническим прогрессом и развивается столь же стремительно, как и остальные технологии. Развиваются старые языки программирования, разрабатываются новые. За всю историю развития электронно -вычислительных машин появились сотни языков программирования, многие из которых используются и по сей день.
Заключение
Главная идея которая способствовала развитию языков программирования, это возможность автоматического формирования текста на универсальных языках программирования.
Для чего столько языков, у многих возникает вопрос. Бывают как универсальные языки, так и специальные.
Прежде всего, языки программирования нужно классифицировать по уровням. Разные авторы разбивают языки либо на машинные, машинно-ориентированные и машинно-независимые языки, либо на языки программирования низкого уровня, языки программирования среднего уровня, языки программирования высокого уровня).
В случае деления языков программирования на три уровня, низшим уровнем будет являться машинный код – набор команд, выполняемых конкретным процессором и разработанных специально для него.
Средним уровнем будут являться машинно-ориентированные языки, то есть языки, призванные управлять непосредственно командами процессора, но более доступным для человеческого восприятия языком.
Высшим же уровнем будут считаться машинно-независимые языки. Они разработаны для удобства восприятия, быстроты понимания и работы с ними.
Одни удобнее для решения одних задач, другие для других, Чем короче исходный код, или текст, полученной программы, тем выше уровень используемого языка.
Для решения одной и той же задачи, часто можно использовать несколько различных алгоритмических языков.
Языки программирования - искусственные языки. От природных они отличаются ограниченным числом "слов", значение которых понятны транслятора, и очень строгими правилами записи команд (операторов).
Совокупность правил записи операторов образуют синтаксис языка программирования, а содержание каждой команды и других конструкций языка - его семантику.
Нарушение формы записи программы приводит к тому, что транслятор не может понять назначение оператора и выдает сообщение о синтаксической ошибке, а правильно записано, но не соответствующего алгоритма использования команд языка приводит к семантической ошибки (логической ошибки).
На данный момент, действительно, нет более-менее чёткой классификации языков программирования, охватывающей все признаки и рассказывающей о «переплетениях» различных классификаций между собой.
Список использованных источников
- Алексеев, Е.Р. Учебник по программированию / Е.Р. Алексеев, О.В. Чеснокова, Т.В. Кучер. – М.: ALT Linux: Издательский дом ДМК-пресс, 2010. – 440 с.
- Ашарина, И.В. Основы программирования на языках С и С++: Курс лекций для высших учебных заведений / И.В. Ашарина. - М.: ГЛТ, 2012. - 208 c.
- Баженова, И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. - М.: ИЦ Академия, 2012. - 368 c.
- Безручко, В. Т. Информатика курс лекций: Учебное пособие / В.Т. Безручко . - М.: ИД. "Форум" : ИНФРА - М. 2013-432.с
- Голицына, О.Л. Языки программирования: Учебное пособие / О.Л. Голицына, Т.Л. Партыка, И.И. Попов. - М.: Форум, НИЦ ИНФРА-М, 2013. - 400 c.
- Голицина, О.Л., Попов И.И. Программирование на языках высокого уровня / О.Л. Голицина. - М.: ФОРУМ, 2011. - 496 с
- Головин, И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. - М.: ИЦ Академия, 2012. - 304 c.
- Довек, Ж. Введение в теорию языков программирования / Ж. Довек, Ж.-Ж. Леви. - М.: ДМК, 2016. - 134 c.
- Давыдова, Н. А. Программирование: учебное пособие / Н. А. Давыдова, Е. В. Боровская. - 2 изд. - М. : БИНОМ. Лаборатория знаний, 2012. - 238 с.
- Иванова, Г.С. Технология программирования / Г.С. Иванова. – М.: КноРус, 2011. – 336
- Кундиус, В.А. Теоретические основы разработки и реализации языков программирования / В.А. Кундиус. - М.: КноРус, 2013. - 184 c.
- Ляхович, В.Ф. Основы информатики / В.Ф. Ляхович, В.А. Молодцов, Н.Б. Рыжикова. - М.: КноРус, 2016. - 348 с.
- Серебряков, В.А. Теория и реализация языков программирования / В.А. Серебряков. - М.: Физматлит, 2012. - 236 c.
- Федотова, Е.Л., Федотов, А.А. Информатика. Курс лекций : Учеб. Псоб / Е.Л. Федотова, А.А. Федотов. - М.: ИД. "Форум" : ИНФРА - М. 2011.- 480с.