Файл: Общие сведения стандартов языков программирования и история их развития.pdf
Добавлен: 15.05.2023
Просмотров: 232
Скачиваний: 6
СОДЕРЖАНИЕ
Глава 1. Общие сведения стандартов языков программирования и история их развития
1.1.Общие сведения стандартов языков программирования
1.2.История развития языков программирования
Глава 2. Современные языки программирования. Сходства и отличия стандартов
2.1. Обзор современных языков программирования
2.2. Анализ сходства и отличия стандартов языков программирования
- полиморфизм – означает, что рожденные объекты обладают информацией о том, какие методы они должны использовать в зависимости от того, в каком месте цепочки наследования они находятся.
Инкапсуляция, наследование и полиморфизм - фундаментальные свойства, требуемые от языка, претендующего называться объектно-ориентированным.
Наиболее распространенными современными языками программирования, являются языки С++ и Java. С++ - компилируемый строго типизированный язык программирования общего назначения (разработан в начале 80-х гг.). Он поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную, но наибольшее внимание уделено поддержке объектно-ориентированного программирования. За исключением второстепенных деталей он содержит язык Си как подмножество (имеет синтаксис, основанный на синтаксисе Си) и обладает многими новыми возможностями, позволивших резко повысить производительность труда программистов. Естественная область его применение – системное программирование (кроме того, С++ успешно используется во многих областях приложения, выходящих за эти рамки). Реализация С++ имеется практически на всех типах ЭВМ и для всех операционных систем. Язык Java зародился как часть проекта создания передового программного обеспечения для различных бытовых электронных приборов. Реализация проекта была начата на языке С++ (синтаксис языков С++ и Java практически полностью совпадает), но вскоре возникли проблемы, наилучшим средством борьбы с которыми было изменение самого инструмента - языка программирования. Изначально этот язык назывался Oak (основным достоинством которого было обеспечение сетевого взаимодействия различных по типу устройств), а новая интегрируемая в Internet версия получила название Java (1995 г.). С точки зрения возможностей объектно-ориентируемых средств, Java имеет ряд преимуществ перед С++, а потому является одним из самых популярных в мире.
С середины 90-х гг. многие объектно-ориентированные языки реализуются как системы визуального программирования. Такие системы имеют интерфейс, позволяющий при составлении текста программы видеть те графические объекты, для которых она пишется. Особенностью этих систем является наличие в них среды разработки программ из готовых «строительных блоков», позволяющих создавать интерфейсную часть программного продукта в диалоговом режиме, практически без написания программных операций. Система берет на себя значительную часть работы по управлению компьютером, что делает возможным в простых случаях обходиться без особых знаний о деталях ее работы. Она сама пишет большую часть текста программы: описания объектов, заголовки процедур и многое другое. Программисту остается только вписать необходимые строки, определяющие индивидуальное поведение программы, которые система не в состоянии предвидеть. Но даже в этих случаях система сама указывает место для размещения таких строк. К объектно-ориентированным системам визуального проектирования относятся: Visual Basic, Delphi, C++ Builder, Visual C++.
Языки программирования баз данных. Среди языков особое место занимают языки программирования баз данных. Они отличаются от алгоритмических прежде всего своим функциональным назначением (специалисты говорят, что это - информационно-логические языки, а не языки программирования). При работе с базами данных наиболее часто выполняются следующие операции: создание, преобразование, удаление таблиц в базе данных, поиск, отбор, сортировка по запросам пользователей, добавление новых записей или модификация существующих, удаление записей и др. Для обработки больших массивов информации и выборки записей по определенным признакам был создан (в начале 70-х гг.) структурированный язык запросов SQL (Structured Query Language), который в дальнейшем (в 1986 г.) стал стандартом языка работы с реляционными базами данных. С помощью SQL программист описывает только то, какие данные нужно извлечь или модифицировать, а то, каким образом это сделать, решает СУБД непосредственно при обработке SQL-запроса (хотя, надо сказать, что ему при этом полезно представлять, как СУБД будет разбирать текст его запроса, особенно при работе с большими базами данных и со сложными запросами). Заметим, что целью разработки SQL было создание простого непроцедурного языка, которым мог воспользоваться любой пользователь, даже не имеющий навыков программирования. Однако, в конце концов, он стал настолько сложным, что превратился в инструмент программиста. Кроме того, практически в каждой СУБД помимо поддержки языка SQL имеется также свой уникальный язык, ориентированный на особенности этой СУБД и не переносимый на другие системы.
Языки программирования для компьютерных сетей. Появление и активное развитие компьютерных сетей вообще и глобальной сети Internet, в частности, стало причиной создания многочисленных версий популярных языков программирования, адаптированных для использования в сетях. Все они отличаются характерными особенностями: языки являются интерпретируемыми, интерпретаторы для них распространяются бесплатно, а сами программы - в исходных текстах. Такие языки называют скрипт-языками.
HTML (Hyper Text Markup Language) – универсальный язык разметки гипертекста (представляет собой набор текстов, содержащих узлы перехода от одного текста к какому-либо другому, позволяющие избирать читаемые сведения или последовательность чтения), используемый для подготовки Web-документов для сети Internet. Он очень прост, содержит элементарные команды форматирования текста, добавления графических объектов, задания шрифтов и цвета, организации ссылок и таблиц. Текстовые документы, содержащие код на языке HTML (такие документы традиционно имеют расширение html или htm), обрабатываются специальными приложениями, которые отображают документ в его форматированном виде. Эти приложения, называемые браузерами или интернет-обозревателями, обычно предоставляют пользователю удобный интерфейс для запроса Web-страниц, их просмотра (вывода на внешние устройства) и, при необходимости, отправки введённых пользователем данных на сервер. Наиболее популярными на сегодняшний день браузерами являются Internet Explorer, Firefox, Safari, Google Chrome, Opera.
Perl (Practical Extraction and Report Language – практический язык для извлечения данных и составления отчетов). Основной особенностью языка является его богатые возможности работы с текстом (обработки больших текстовых файлов), генерации текстовых отчетов и управления задачами. В его состав входят многочисленные функции работы со строками, массивами, всевозможные средства преобразования данных, управления процессами, работы с системной информацией и др.
VRML (Virtual Reality Modeling Language язык моделирования виртуальной реальности) - был создан для организации виртуальных трехмерных интерфейсов в Интернете. Он ориентирован на описание разнообразных трехмерных образов, цвето-теневого освещения, позволяет создавать различные сценарии миров, путешествовать по ним, «облетать» со разных сторон, вращаться в любых направлениях, масштабировать, управлять освещенностью и многое другое (движение, звуки, освещение и другие аспекты виртуального мира могут появляться как реакция на действия пользователя или же на другие внешние события).
1.2.История развития языков программирования
Программа – алгоритм, записанный на языке программирования. Программа – последовательность операторов языка. Языки программирования – искусственные языки, строго формализованные; существует правила записи операторов языка – синтаксис языка.
1. Машинный язык (40-50 годы XX в.).
Программы на машинном языке – очень длинные последовательности единиц и нулей, являлись машинно зависимыми, т.е. для каждой ЭВМ необходимо было составлять свою программу.
2. Ассемблер (начало 50-ых годов XX в.).
Вместо 1 и 0 программисты теперь могли пользоваться операторами (MOV, ADD, SUB и т.д.), которые похожи на английские слова. Программы на ассемблере также являются машинно-зависимыми. Для преобразования в машинный код использовался компилятор (спец. программа – переводчик в машинный код).
3. Первые языки программирования высокого уровня.
С середины 50-ых гг. XX в. начали создавать первые языки программирования высокого уровня (high-levellanguage). Эти языки были Машино независимыми (не привязаны к опред. типу ЭВМ). Но для каждого языка были разработаны собственные компиляторы.
Примеры таких языков: FORTRAN (FORmulaTRANslator; 1954) предназначен для научных и технических расчетов; COBOL (1959) был предназначен в основном для коммерческих приложений (обрабатывал большие объемы нечисловых данных) – CommonBusiness-OrientedLanguage); язык BASIC (Beginner’sAllPurposeInstuctionCode – универсальный язык символьных инструкций для начинающих) (1964 г.)
4. Алгоритмические языки программирования.
С начала 80-ых г. XX в. начали создаваться языки программирования, которые позволили перейти к структурному программированию (использование операторов ветвления, выбора, цикла и практически отказ от частого использования операторов перехода (goto). К этим языкам относятся: язык Pascal (назван его создателем Никлаусом Виртом в честь великого физика Блеза Паскаля; 1970); язык Си, позволяющий быстро и эффективно создавать программный код (1971)
5. Языки объектно-ориентированного программирования
(90-ые г. XX в.). В основу этих языков положены программные объекты, которые объединяют данные и методы их обработки. В этих языках сохранялся алгоритмический стиль программирования. Для них были разработаны интегрированные среды программирования, позволяющие визуально конструировать графический интерфейс приложений:
язык С++ (1983) - продолжение алгоритм. языка Си;
язык ObjectPascal (1989) был создан на основе языка Pascal. После создания среды программирования – Delphi (1995);
язык VisualBasic(1991) был создан корпорацией Microsoft на основе языка Qbasic (1975) для разработки приложений с графическим интерфейсом в среде ОС Windows.
6. Языки программирования для компьютерных сетей.
В 90-ые годы XX в. в связи с бурным развитием Интернета были созданы языки, обеспечивающие межплатформенную совместимость. На подключенных к Интернету компьютерах с различными ОС (Windows, Linux, MacOS и др.) могли выполняться одни и те же программы. Исходная программа компилируется в промежуточный код, который исполняется на компьютере встроенной в браузер виртуальной машиной:
язык Java- объектно-ориентированный язык был разработан фирмой SunMicrosystems для создания сетевого программного обеспечения (1995);
язык JavaScript – язык сценариев Web-страниц (компания Netscape). (1995)
7. Языки программирования на платформе .NET.
Интегрированная среда программирования VisualStudio .Net, разработанная корпорацией Microsoft, позволяет создавать приложения на различных языках объектно-ориентированного программирования, в том числе:
наязыке Visual Basic .Net ( наоснове Visual Basic) - 2003 г.;
на языке VisualC# (С-шарп) – на основе языков С++ и J – 2003 г.;
на языке VisualJ# (J-шарп) – на основе Java и JavaScript – 2003 г.
Интерпретаторы и компиляторы
Для того, чтобы процессор мог выполнить программу, программа и данные должны быть загружены в оперативную память. Необходимо, чтобы в ОП был размещена программа - транслятор, автоматически переводящий с языка программирования в машинные коды. Трансляторы бывают двух типов: интерпретаторы и компиляторы. Интерпретатор – программа, которая обеспечивает последовательный перевод операторов программы с одновременным их выполнением. Достоинством интерпретатора является удобство отладки (поиск ошибок), недостаток – сравнительно малая скорость выполнения. Компилятор переводит весь текст программы на машинный язык и сохраняет его в исполнимом файле (обычно с расширением .exe).
Системы объектно-ориентированного программирования содержат программу-транслятор и позволяют работать в режиме как интерпретатора, так и компилятора. На этапе разработки и отладки проекта используется режим интерпретатора, а для получения готовой программы – режим компилятора
Глава 2. Современные языки программирования. Сходства и отличия стандартов
2.1. Обзор современных языков программирования
Алгоритмический язык (язык программирования) представляет собой один из способов записи алгоритма. Язык программирования является строго формализованным, то есть все команды записываются по определенным правилам и отступления от этих правил не допускаются. Например, в русском языке можно при разделении элементов перечисления поставить запятую (, ) или точку с запятой (;). А в языке программирования при записи команд нельзя изменить ни одного знака - возникает ошибка.
Правила записи команд на конкретном языке называются синтаксисом языка. Синтаксис определяет, какая команда будет считаться правильной, а какая нет. Например, в языке Basic команды CLS и FORI=1 TO 10 считаются правильными, а команды CLERSCREEN и FORIFROM 1 TO 10 - неправильными.
Каждая команда, записанная на языке программирования, имеет определенное значение, то есть заставляет компьютер выполнять те или иные действия. Правила, определяющие смысл команд, называются семантикой языка. Например, команда CLS вызывает очистку экрана.
Каждый язык имеет алфавит – набор символов, которые можно использовать при записи программ на этом языке. Разнее версии одного и того же языка могут немного различаться алфавитом.
Программа, написанная на языке программирования, состоит из команд (операторов), задающих последовательность действий. Эти действия выполняются над некоторыми объектами. Объектами могут быть числа, текстовые строки, переменные и другие. Языки отличаются друг от друга множеством допустимых объектов и набором операций, которые можно выполнять над этими объектами.
Программа, написанная на языке программирования, представляет собой просто текст. Чтобы компьютер мог выполнять команды, содержащиеся в этой программе, надо перевести программу в набор понятных компьютеру инструкций, записанных в двоичной форме (в код). Такой перевод называется трансляцией.