OberonCore
https://forum.oberoncore.ru/

Что такое "оператор" в языках ВУ
https://forum.oberoncore.ru/viewtopic.php?f=7&t=2000
Страница 1 из 2

Автор:  Валерий Лаптев [ Суббота, 31 Октябрь, 2009 13:55 ]
Заголовок сообщения:  Что такое "оператор" в языках ВУ

Я тут размышляю об организации онтологии для языка высокого уровня. И неожиданно обнаружил, что не знаю определения термина "оператор" для языка высокого уровня.
Все мы говорим, что есть операторы условные, цикла и т.п. А каким образом определить само понятие "оператор" без уточнения его функции?

Любые размышления приветствуются.

Автор:  kemiisto [ Суббота, 31 Октябрь, 2009 14:14 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Валерий, посмотрите
Вирт Н. - Систематическое программирование. Введение (1977), с. 15, второй абзац.
Непейвода Н. Н., Скопин И. Н. - Основания программирования (2002), с. 22, пункт списка b)

"Копипастить" не буду. :wink:

Автор:  Валерий Лаптев [ Суббота, 31 Октябрь, 2009 14:16 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Спасибо, посмотрю.
Вот что написано у Непейводы:
Цитата:
b) Операторы. Основной конструкцией действия в языке является опера-
тор. Выполнение одного оператора зависит от выполнения другого толь-
ко в том смысле, что более ранние вычисления могут менять память (со-
держимое некоторых ячеек), в контексте которой выполняются последу-
ющие операторы. Иными словами, зависимость операторов посредством
использования памяти в точности соответствует тому что имеет место для

И что? Где тут определение того, что такое оператор?
Конструкция действия? Это мало что говорит.
Может быть, конструкция, определяющая неделимое действие?

Автор:  Info21 [ Суббота, 31 Октябрь, 2009 14:27 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Почитать Дейкстру, да и всё.

Автор:  Валерий Лаптев [ Суббота, 31 Октябрь, 2009 14:53 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Дайте свое определение...

Автор:  Валерий Лаптев [ Суббота, 31 Октябрь, 2009 15:10 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

У Вирта написано о действии, и об изменении состояния.
Все же для определения этого недостаточно. Хочется иметь определение как ... определения... :)

Дело в том, что когда мы говорим о действии и об изменении объекта, мы оперируем понятием исполнителя.
Тогда оператор - это инструкция исполнителю. Тут понятно.
А речь ведем о языке... Исполнитель - это операционная семантика оператора.
А в языке оператор - это конструкция.

Автор:  igor [ Суббота, 31 Октябрь, 2009 16:36 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Помню читал статью Н. Вирта, где он сетовал, что многие не понимают разницу между выражением и оператором. Цитирую Вирта по памяти:
Цитата:
"Выражение -- это значение, которое предстоит вычислить, а оператор -- это действие, которое надо выполнить"

Автор:  igor [ Суббота, 31 Октябрь, 2009 16:41 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Валерий Лаптев писал(а):
Дайте свое определение...
Рискну :)
Оператор -- это элементарная инструкция по обработке данных или по управлению вычислительным процессом, предусмотренная языком программирования.

Например оператор присваивания или вызов процедуры -- это элементарная инструкция по обработке данных.
А операторы ветвления, выбора и цикла -- это элементарные инструкции языка программирования по управлению вычислительным процессом.

Автор:  Евгений Темиргалеев [ Воскресенье, 01 Ноябрь, 2009 12:25 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Валерий Лаптев писал(а):
А речь ведем о языке... Исполнитель - это операционная семантика оператора.
А в языке оператор - это конструкция.
Есть смысл отрывать ЯП от исполнителя? Вроде ЯП предназначен именно для того, чтобы описать алгоритм действий исполнителя.

Автор:  Trurl [ Воскресенье, 01 Ноябрь, 2009 12:38 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Валерий Лаптев писал(а):
Дело в том, что когда мы говорим о действии и об изменении объекта, мы оперируем понятием исполнителя.
Тогда оператор - это инструкция исполнителю. Тут понятно.
А речь ведем о языке... Исполнитель - это операционная семантика оператора.


Ну правильно. Оператор - это инструкция исполнителю выполнить определенное действие, записанная на языке программирования.

Автор:  Info21 [ Воскресенье, 01 Ноябрь, 2009 12:50 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Trurl писал(а):
Оператор - это инструкция исполнителю выполнить определенное действие, записанная на языке программирования.
Но всё же и про оператор как преобразование предикатов забывать нельзя. Две формулировки дополняют друг друга, хотя вторая кого-то отпугнет (что само по себе может быть полезным в качестве некой процедуры статистического отбора).
----
Хотя как только станет известно, что это процедура отбора, она резко потеряет в своей полезности :)

Автор:  Валерий Лаптев [ Воскресенье, 01 Ноябрь, 2009 13:34 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Хорошо. Повторюсь, я тут об онтологии языка программирования размышляю с точки зрения модели предметной области для обучающей системы.
Честно говоря, встречал только две статьи об онтологиях для языков программирования.
Одна вот: http://www.foibg.com/ijita/vol13/ijita-fv13.htm
Том 13, выпуск 4
Статья Сосновского и Гавриловой - первая.
У них написана онтология С - чисто синтаксическая. Без семантики.
Для обучения языку С, между прочим.
Вторая - в диссере Князевой (сейчас не могу найти в инете). Но там тоже была онтология конкретно паскаля и совсем конкретно, написанная прямо по грамматике...

ИМХО, в обучающей системе так нельзя.
Если мы хотим, чтоб она реально обучала программированию на некоем языке (пусть даже на Обероне), то нужно давать понятие со всех сторон. В этом смысле должно быть некое обобщенное понятие "оператор" для любого ЯВУ. Потом - некоторое более специальное понятие "оператор цикла", например. Потом еще более специализированное: оператор цикла с вычислением условия перед выполнением тела.
А уж потом - конкретный синтаксис.

Или не заморачиваться?
Ведь обучение новичков идет от частного к общему. Если говорят о циклах, то говорят о конкретном цикле в конкретном ЯВУ.
Тогда описание элементов конкретного языка - это конкретная онтология.
А обобщение - это оставим на метаонтологию.
Ы?

Автор:  Илья Ермаков [ Воскресенье, 01 Ноябрь, 2009 13:39 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Сначала бы разобраться с вумным понятием "онтология".
Я вот чем дольше знаю подобные понятия, тем больше начинаю сомневаться в том, что за ними что-то есть :)

Автор:  Валерий Лаптев [ Воскресенье, 01 Ноябрь, 2009 14:29 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Не знаю, как это называлось раньше.
Первый раз такой термин прочитал в книжке Гавриловой и Хорошевского "Базы знаний интеллектуальных систем". ИМХО - это очередной термин, изобретенный на западе для того, что у нас давно уже известно. И сейчас этот термин в большой моде... :)
По определению онтология - это триада:
- конечное множество концептов;
- конечное множество отношений между концептами;
- конечное множество функций интерпретации (аксиоматизация), заданных на концептах и/или отношениях;
ИМХО ближе всего к этому определению - семантическая сеть. граф с нагруженными вершинами и ребрами...
Но для обучающей системы онтология - полезная весчь, ибо с помощью нее можно задавать модель предметной области для обучающей системы.
Онтологии различают по уровням. Для модели предметной области используется конкретная предметная онтология. Отношения в такой О используются такие: is-A (это есть), patr-of, kind-of, member-of, see-allso (это вообще гиперссылка), contained-in. Придумать можно много.
В обучающей системе на одном множестве концептов можно задавать много разных отношений. Например, отношение семантической связи и отношение последовательности изучения...

Автор:  Info21 [ Воскресенье, 01 Ноябрь, 2009 17:34 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Илья Ермаков писал(а):
Сначала бы разобраться с вумным понятием "онтология".
Понятие старое, и смысл (старый) у него есть.

Но в недавнее время он вошел в моду, превратился в сорное слово (как "типа" в русском и "like" в английском) -- и потерял смысл.

Выдумки вроде "онтологии языка П" -- видимо, замусоривание пространства понятий.

Автор:  Илья Ермаков [ Воскресенье, 01 Ноябрь, 2009 17:45 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Ну дык про старый смысл известно. Особенно тем, кому на философском поучиться довелось :)
Потому и коробит от ИТ-шного применения (интересно, Александра Ильина тоже? :) ).

Автор:  Валерий Лаптев [ Воскресенье, 01 Ноябрь, 2009 18:49 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Ну, меня не коробит - я на философском не учился... :)
Хотя у Гавриловой-Хорошевского про учение о бытии написано.
Ну, мне пофигу. Онтология короче, чем модель предметной области или семантическая сеть.
В книжке гаврилова-Хорошевский приводят определение Грубера:
Онтологией называется эксплицитная (идиотская манера калькировать с иностранного языка!) спецификация концептуализации. Формально онтология состоит из терминов, организованных в таксономию (еще одно словечко, на которое промпт выдает то же самое!), определений и атрибутов терминов, а также связанных с ними аксиом и правил вывода.

Автор:  Info21 [ Воскресенье, 01 Ноябрь, 2009 19:15 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Валерий Лаптев писал(а):
Онтологией называется эксплицитная ... спецификация концептуализации. Формально онтология состоит из терминов, организованных в таксономию .., определений и атрибутов терминов, а также связанных с ними аксиом и правил вывода.
Ну и дураки.

Автор:  Сергей Прохоренко [ Воскресенье, 01 Ноябрь, 2009 23:01 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

Валерий Лаптев писал(а):
Онтологией называется эксплицитная ... спецификация концептуализации. Формально онтология состоит из терминов, организованных в таксономию .., определений и атрибутов терминов, а также связанных с ними аксиом и правил вывода.


Едут в одном купе профессор и просто работяга. Профессор, чтобы хоть как-то разговор начать, обращается к работяге :
- В наш сугубо меркантильный век гуманных и эрсанных идей не каждый локальный индивидуум в силу своей сиконцепции и косификации, а так же капиталинистических сфер демократического интеллекта способен игнорировать тенденции парадоксальных настроений ...
Работяга обалдел, но ответил:
- Оно конечно действительно, что касательно - то относительно, но никогда не было так, чтобы что-нибудь и было, а случись оно что - так вот тебе и пожалуйста!

Теперь по существу. А нужно ли вообще точное определение оператора? Есть "оператор цикла", "условный оператор", "оператор присваивания", "оператор ввода/вывода" и т.д. Для каждого из них есть определение. Все вместе они образуют множество "операторов". "Операторы", в свою очередь, входят в множество конструкций языка, куда также входят выражения, функции и т.д. От других языковых конструкций операторы отличаются тем, что встречались уже в первых императивных языках программирования, и исполнение оператора приводило к необратимому изменению состояния вычислительного процесса. Конструкции, пришедшие из других парадигм программирования, не называются операторами. Их влияние на состояние вычислительного процесса гораздо менее однозначное и безусловное. Вряд ли имеет смысл как-то особо выделять "операторы" среди других языковых конструкций, давать им какое-то обобщающее определение. Они и так достаточно просты для понимания.

"Касательно" онтологии. Это ведь в конечном счете просто формализованное описание языка? Какой смысл загонять его в рамки семантической сети? Мне кажется, что хорошо комментированного и снабженного гиперссылками и примерами сообщения о языке вполне достаточно. Можно, конечно, даже гражданский кодекс изложить в виде семантической сети, только ведь это чрезмерное и ненужное упрощение. Все пользуются "Гарантом" и "Консультантом+" и счастливы.

Автор:  Валерий Лаптев [ Воскресенье, 01 Ноябрь, 2009 23:38 ]
Заголовок сообщения:  Re: Что такое "оператор" в языках ВУ

В обучающей системе нужна внутренняя модель предметной области. В каком-нить виде.
Она для многих вещей нужна. Например, для управления последовательностью обучения, для вычисления оценок обучаемого.
Внешнее описание - это набор внешних по отношению к модели информационных элементов. Точнее эти внешние элементы называются учебные элементы. Учебные элементы связаны с элементами модели, но не взаимно-однозначно.
Учебный элемент по стандарту SCORM vjжет содержать практически все, что угодно.

А модель - это некоторая концепция, вокруг которой все вертится. С точки зрения определений можно назвать ее онтологией. Или еще как... Но она нужна.

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/