Приём заказов:
Круглосуточно
Москва
ул. Никольская, д. 10.
Ежедневно 8:00–20:00
Звонок бесплатный

История развития программирования в России

Диплом777
Email: info@diplom777.ru
Phone: +7 (800) 707-84-52
Url:
Логотип сайта компании Диплом777
Никольская 10
Москва, RU 109012
Содержание

Мы считаем, что затруднения, подобные перечисленным выше, могут быть преодолены путём многомерной стратификации семантики наиболее типических компьютерных языков. Подчеркнём, что мы ведём речь именно о многомерной стратификации семантики, когда в качестве одного из измерений может выступать, например, образовательная семантика, в качестве другого — реализационная и так далее.
Так, образовательная семантика компьютерного языка может делить язык на 2-3 образовательных уровня. Эти уровни можно условно назвать элементарным, основным (или базовым) и экспертным (или мастерским), причём элементарный и основной уровни или основной и экспертный уровни могут иногда совпадать. Элементарный образовательный уровень компьютерного языка — это учебный диалект для изучения основ языка человеком (возможно, даже без использования компьютера), с очень простой и прозрачной формальной семантикой в виде виртуальной машины языка. Основной образовательный уровень компьютерного языка — это диалект языка для регулярного использования, предполагающий понимание со стороны пользователя, как основные конструкции языка могут быть определены (в принципе) в терминах виртуальной машины языка. Экспертный образовательный уровень компьютерного языка — это язык в полном объеме с пониманием того, какие конструкции языка соответствуют формальной семантике, а какие нет, но имеют семантику обусловленную особенностями и эффективностью реализации (т.е. практикой использования). Обращаем внимание, что здесь речь идёт не о машинных языках, автокодах (или ассемблерах) и языках высокого уровня, а об образовательном аспекте языка.
Реализационная семантика компьютерного языка может делить язык на 2-3 или более слоя. Обычно можно условно выделить ядро, несколько промежуточных слоёв и полный язык. Ядерный слой имеет эффективную реализационную семантику для класса платформ и достаточные средства для реализации методом раскрутки, интерпретации или трансформаций конструкций промежуточных слоёв. Полный язык может иметь только частичную трансформационную семантику в более низкие (промежуточные или ядерный) слои, часть конструкций полного языка может иметь свою индивидуальную реализационную семантику для каждой конкретной платформы. В качестве примера слоёв языка можно сослаться на «уровни» языка C# [1].
Прагматика компьютерных языков (в отличие от синтаксиса и формальной семантики) — это неформализованные представления людей, вовлечённых в жизненный цикл языка (авторов и реализаторов, «экспертов» и простых пользователей) о происхождении, назначении и использовании этого языка. Другими словами, прагматика компьютерных языков — это человеческие «знания» о компьютерных языках.
Здесь, однако, уместно напомнить, что хотя мы и ведём речь о «знаниях», но на самом деле надо говорить только о представлениях или мнениях (beliefs), т.к. (согласно традиции, восходящей к Платону) знания — это представления о реальности, соответствующие действительности (т.е. истинные представления); «знания» разных людей, вовлечённых в жизненный цикл компьютерного языка, могут быть просто противоречивыми (и, следовательно, не могут соответствовать действительности одновременно).
Тем не менее, описанная интерпретация прагматики компьютерных языков естественно приводит к идее явного использования формальных онтологий для представления прагматики компьютерных языков.
Формальная «онтология — это теория объектов и их связей. Онтология предусматривает критерии для выделения различных типов объектов (конкретных и абстрактных, существующих и несуществующих, реальных и идеальных, зависимых и независимых) и связей между ними (отношений, зависимостей и предшествования)» [19]. Поэтому под онтологией предметной области (прагматики компьютерных языков в том числе) мы будем понимать формальную онтологию, представляющую мнения «экспертов» об объектах этой области, их классах и отношениях между ними. Будем говорить, что онтология задана явно, если она явно представлена в виде графа, вершины которого — объекты онтологии, а дуги — отношения между объектами; в противном случае будем говорить о неявной онтологии. Наиболее известная неявная онтология — это Wikipedia. Наиболее популярный инструмент создания явных онтологий — это платформа Protege
Здесь уместно сформулировать ещё несколько требований к онтологическому представлению прагматики компьютерных языков:это должна быть открытая эволюционирующая темпоральная формальная онтология. Под открытостью мы понимаем доступ для получения данных и внесения изменений без ограничений и привилегий пользователей: любой участник жизненного цикла компьютерного языка может обратиться к онтологии (на правах анонимности или добровольной самоидентификации) с любым допустимым запросом для получения данных, удовлетворяющих запросу, и может добавить любые данные, соответствующие поддерживаемым форматам. Под эволюционностью мы понимаем не только развитие онтологии во времени, но и поддержку историй правок, хронику её развития, так что в любой момент можно получить справку о её состоянии в любой момент в прошлом. И, наконец, темпоральность означает не только наличие штампов времени у правок, но и возможность формулировки запросов с привязкой ко времени и темпоральных конструкций (например «до тех пор пока», «в следующей правке» и так далее). Wikipedia может служить хорошим примером открытой эволюционирующей онтологии, язык запросов к этой неявной онтологии не поддерживает темпоральных конструкций.

Picture of Леонид Федотов
Леонид Федотов
Окончил НИУ ВШЭ факультет компьютерных наук. Сам являюсь кандидатом наук. По специальности работаю 13 лет, за это время создал 8 научных статей и 2 диссертации. В компании подрабатываю в свободное от работы время уже более 5 лет. Нравится помогать школьникам и студентам в решении контрольных работ и написании курсовых проектов. Люблю свою профессию за то, что это направление с каждым годом становится все более востребованным и актуальным.