Файл: Международные и отечественные стандарты языков программирования. Сходство и отличия стандартов (Понятие «язык программирования»).pdf
Добавлен: 01.04.2023
Просмотров: 108
Скачиваний: 1
СОДЕРЖАНИЕ
ГЛАВА 1. ОБЩАЯ ХАРАТКЕРИСТИКА ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
1.1. Понятие «язык программирования»
1.2. Классификация языков программирования
ГЛАВА 2. АНАЛИЗ МЕЖДУНАРОДНЫХ И ОТЕЧЕСТВЕННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
2.1. Особенности стандартизации языков программирования
2.2. Сходства и различия международных и отечественных стандартов языков программирования
1.2. Классификация языков программирования
Есть тысячи языков программирования. Мы выделили те, что наиболее популярны и чаще используются в современном мире.
Basic. Basic или Бейсик называют группу языков программирования высокого уровня. Его создали профессора колледжа Дартмут в 1964 году с целью помощи студентам в создании собственных компьютерных программ. Сейчас детище Томаса Курца и Джона Кемени стало основным языком, на котором пишутся программы для ОС Windows.
C. В далеком 1972 году Дэннис Ритчи придумал язык, который остается популярен и сейчас. Программисты любят его за успешное сочетание в нем элементов как высокого, так и низкого уровней программирования. Кстати, для тех языков программирования, которые используются для написания сайтов, основой является как раз язык Си [9].
С++. Этот язык произошел от Си, но он больше уделяет внимание обобщенному программированию. Сейчас он является одним из самых популярных языков, ведь на нем пишут огромное количество программ. Он подходит для создания ОС, драйверов, серверов, игр, прикладных программ и много другого. Си ++ является универсальным языком, который эффективен, многофункционален и доступен большинству программистов.
Python. Разработка этого языка началась в 1980–х годах голландцем Гвидо ван Россумом, но его первая версия была выпущена только в 2008 году. Он отличается постоянным усовершенствованием и активным сообществом пользователей. Python является высокоуровневым языком с большим объемом различных функций. Особенно хорошо он справляется с веб–разработкой, анализом данных и автоматизацией процессов.
PHP. Этот язык лидирует среди тех, что применяются в разработке веб–сайтов и поддерживается практически всеми хостинг–провайдерами. Он применяется, в основном, для разработки веб–сайтов и веб–приложений. Впервые PHP был представлен публике в 1995 году датским программистом Расмусом Лердорфом [13].
Java. Язык программирования Java работает с веб–приложениями, которые транслируются в байт–код. Он может работать на любой компьютерной архитектуре, так как код преобразуется с помощью Java–машины. Он появился в 1996 году и последние годы он стал самым популярным языком программирования. Однако многие недовольны из–за того, что он работает медленнее, чем его конкуренты.
JavaScript. Хотя JavaScript похож на Java, но все же является отдельным языком. Чаще всего используется в качестве встраиваемого языка: приложения получают доступ к веб–страницам с его помощью. Он более легок в применении и дается даже тем, кто мало знаком с программированием. Доля его использования ежегодно растет.
Go (Golang). В 2007 году компания Google занялась разработкой собственного языка программирования, с помощью которого бы можно было решать реальные проблемы. Созданием языка занимались Роб Пайк и Кен Томпсон, которые уже в 2009 году представили Go. Для компании Google он является заменой популярных языков Си и Си ++. Он не стал прорывом, но зато используется для создания серьезных проектов.
SQL. Этот язык программирования является системой, с помощью которой можно удобно управлять базами данных. Первые разработки были начаты еще в 1970–х годов, но первый вариант SQL был представлен в 1986 году. В современном мире SQL довольно популярен в качестве удобного языка для улучшения, управления и создания баз данных [6].
Swift. Компания Apple тоже придумала собственный язык программирования, чтобы создавать на нем приложения для всех родственных гаджетов. Apple представила свой язык в 2014 году как удобный, надежный, свободный и доступный любому программисту. Он был создан персонально для продуктов Apple.
Pascal. Никлаус Вирт создал этот язык в 1969 году, а назвали язык в честь математика Блеза Паскаля. Он является популярным языком программирования и в наши дни. Именно на нем обучают студентов на первом курсе университета и в старшей школе. На его основе построено множество других языков [8].
В современном мире без языков программирования невозможно обойтись. Все больше и больше людей самостоятельно выбирают профессию программиста, хоть она и сложна на первый взгляд, но быстро развивается и становится популярной с каждым годом. А языки программирования – сложный, но интересный процесс создания компьютерного мира.
Выводы по первой главе
Информационные технологии и их возможности развиваются каждый день. Для того чтобы улучшать компьютеры и программы нужны особенные языки. Люди создали много языков программирования и продолжают их создавать.
Язык программирования – это письменные команды компьютеру. На языках программирования никто не разговаривает, но у них есть лексические, семантические и пунктуационные правила, от которых зависит внешний вид и функционал программы.
Первый такой язык появился задолго до создания компьютеров и вычислительных машин – в музыкальной шкатулке. Первые программы и прародители языков программирования появились в 1840–х годах, а в 1940–х люди создали язык высшего уровня для цифровых компьютеров.
На данный момент существует около 8 тысяч языков, поэтому невозможно назвать все, их даже сложно классифицировать. Однако классификации все же есть.
В первую очередь языки делят на низкий и высокий уровень. К языкам низкого уровня относятся языки машинных кодов, которые представляют собой сокращенные английские слова. Такой язык может понять и человек без технического образования с хорошим знанием английского. Самый яркий пример – группа языков Ассемблера. Языки высокого уровня состоят из смысловых конструкций, понятных программистам. Они не содержат сокращенных слов, как низкоуровневые языки. Например: Паскаль, СИ.
ГЛАВА 2. АНАЛИЗ МЕЖДУНАРОДНЫХ И ОТЕЧЕСТВЕННЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
2.1. Особенности стандартизации языков программирования
Концепция языка программирования неотрывно связана с его реализацией. Для того чтобы компиляция одной и той же программы различными компиляторами всегда давала одинаковый результат, разрабатываются стандарты языков программирования. Существует ряд организаций, целенаправленно занимающихся вопросами стандартизации. Это Американский национальный институт стандартов ANSI (American National Standards Institute), Институт инженеров по электротехнике и электронике IEEE (Institute of Electrical and Electronic Engineers), Организация международных стандартов ISO (International Organization for Standardization) [14].
Как правило, при создании языка выпускается частный стандарт, определяемый разработчиками языка. Если язык получает широкое распространение, то со временем появляются различные версии компиляторов, которые не точно следуют частному стандарту. В большинстве случаев идет расширение зафиксированных первоначально возможностей языка. Для приведения наиболее популярных реализаций языка в соответствие друг с другом разрабатывается согласительный стандарт. Очень важным фактором стандартизации языка программирования является своевременность появления стандарта – до широкого распространения языка и создания множества несовместимых реализаций. В процессе развития языка могут появляться новые стандарты, отражающие современные нововведения. Так, язык FORTRAN первоначально был стандартизирован в 1966 году. В результате был издан стандарт FORTRAN 66. Далее этот стандарт несколько раз пересматривался (в 1977 году был выпущен FORTRAN 77, затем появился и FORTRAN 90).
Язык Java, ставший в последнее время весьма распространенным, постепенно был значительно расширен и модифицирован: новая спецификация получила название Java 2 [12].
В процессе развития языка некоторые его конструкции и функции устаревают. Однако с целью обратной совместимости новые версии должны поддерживать и все устаревающие возможности. Это ведет к "разбуханию" компиляторов. В последнее время в реализациях введено понятие не рекомендуемой и устаревшей возможности. В первом случае следующий стандарт еще будет поддерживать не рекомендуемую возможность, но может перевести ее в категорию устаревшей. Во втором случае стандарт может исключить поддержку возможности, объявленной ранее как устаревшая. Введение не рекомендуемых и устаревших возможностей предоставляет разработчикам временной интервал, в течение которого они могут модифицировать код в соответствии с новыми требованиями стандарта [7].
Эволюцию стандартизации языков программирования можно разделить на три этапа:
I. Наличие для конкретного языка частного стандарта. Такой подход подразумевает, что разработчики компиляторов сами определяют семантику и синтаксис являются стандартными для языка. Это приводит к хаосу и не соответствию разных компиляторов.
II. Появление согласительного стандарта, данный этап подразумевает, что производители компиляторов договариваются межу собой о стандарте языка. Такой вариант лучше, чем частный стандарт, однако, с каждой новой версией языка разработчикам компиляторов приходится договориться заново. Два вышеописанных этапа среди общего списка недостатков, имеют 1 главный – не своевременная стандартизация новых версий.
III. Появление организаций предназначенных сугубо для установки различных стандартов [9].
Самые популярные организации:
Американский национальный институт стандартов ANSI (American National Standards Institute)
Институт инженеров по электротехнике и электронике IEEE (Institute of Electrical and Electronic Engineers).
Организация международных стандартов ISO (International Organization for Standardization).
Благодаря появлению вышеописанных организаций стандартизация является централизованным процессом и проходит своевременно.
С появление новых версий языковых технологий, какие–либо конструкции зачастую обновляются или расширяются. При этом нельзя изымать старые конструкции сразу же. Так как это приведет к тому, что недавние версии программ перестанут быть стандартным и перестанут поддерживаться. Однако нельзя оставлять в стандарте абсолютно все старые конструкции т.к. это приведет к разбуханию компилятора. В связи со всем вышесказанным была разработана следующая система изъятия старых конструкций из стандарта [4]:
1) Старая конструкция сначала помечается как не рекомендуемая возможность. Это означает, что использовать ее не желательно, но можно.
2) В следующем стандарте она получает статус устаревшей возможности. Это означает, что использовать ее нельзя, и она нужна только для поддержки старых программ.
3) Устаревшая возможность удалять из стандарта через некоторый заранее заданный интервал.
Стандарты давно используются в технике и программировании. Создание сложной системы немыслимо без стандартов. Они нужны для борьбы с хаосом и неразберихой, но вместе с этим стандарт не должен быть слишком «узким» и мешать техническому прогрессу.
Государственные стандарты отслеживают тенденции развития программирования и дают обязательные рекомендации по их соблюдению. Помимо государственных стандартов (ГОСТ) действуют отраслевые стандарты (ОСТ), стандарты предприятий (СТП) [10].
Группа стандартов ГОСТ «Единая система программной документации» (ЕСПД) претерпела мало изменений с момента ее создания, пережила несколько поколений ЭВМ и революционных изменений технологий разработки программ. При этом она до настоящего времени никогда не затрудняла новаций.
Помимо вышеизложенных стандартов де–юре имеются стандарты де–факто. Ряд стандартов устанавливается де–факто ведущими фирмами–разработчиками программ и вычислительной техники. Стандарты де–факто появляются на основе идей какой–то широко известной разработки. Выгодно делать продукты в стиле разработки какой–то фирмы, так как пользователи уже имеют навыки работы с меню в стиле «Lotus», электронными таблицами, текстовыми редакторами. Обычно стандартом де–факто определяются используемые операционные системы, трансляторы с языков программирования, организация файлов и средний уровень качества, достигаемый по окончании тестирования программ. Конкретному разработчику выгодно следовать таким стандартам [9].
В области программирования общепризнанной ведущей организацией по разработке стандартов является институт ANSI (Американский национальный институт стандартов). Данный институт является лидером по установке стандартов языков программирования, кодовых таблиц клавиш и символов, выводимых на экран, и еще многих других. Необходимо также отметить стандарты ISO.
К сожалению, самое благородное дело стандартизации – достижение всеобщей унификации и взаимозаменяемости – может также стать тормозом развития. Вводя новый стандарт, надо учитывать последствия ввода, особенно если стандарт является опережающим и опережает практику развития или если стандарт является слишком «узким» и тормозит эволюцию прогресса. Во всем мире руководствуются следующим отношением к стандартам: или полностью им следуй, или делай свой собственный стандарт. Стандарты дают дополнительные ограничения [6].