ПЕРЕПИСКА: Термин в клетке

We use cookies. Read the Privacy and Cookie Policy

ПЕРЕПИСКА: Термин в клетке

Автор: Константин Курбатов

Редакция нашего журнала поглядывает на серьезные научные журналы (SciAm, Nature) с уважением и сочувствием. К счастью, наши публикации не решают судьбу Нобелевских премий, поэтому нас не засыпают массой возмущенных откликов в случае малейших шероховатостей в формулировках. Но на наших страницах регулярно публикуются актуальные, вызывающие острую дискуссию материалы, и ответственность за печатное слово мы ни в коем случае с себя не снимаем.

Предлагаем вашему вниманию дискуссию между доктором технических наук, профессором, заведующим кафедрой «Технологии программирования» Санкт-Петербургского государственного университета информационных технологии, механики и оптики Анатолием Шалыто и руководителем проектов ООО «ИндаСофт» Александром Петриковским. Поводом для дискуссии послужила новаторская статья Александра «Субъектное программирование», опубликованная в «КТ» #13 от 05.04.2006. — Константин Курбатов

Российские авторы не любят ссылаться на используемые источники. Так, выполненное несколько лет назад библиографическое исследование отечественных научных статей показало, что в среднем в них упоминается от пяти до восьми источников, а в американских работах — от двадцати до пятидесяти.

Особая беда со ссылками в текстах по программированию в российских журналах. Если в научных статьях указанное выше число ссылок еще выдерживается (на то эти статьи и научные, и ссылки, по крайней мере, рецензент заставит сделать), то в других статьях по этой тематике список использованных источников часто бывает пуст.

В статье «Информация и дух» («КТ» #12 от 28.03.2006) я указал, что малое число ссылок, по мнению профессионалов, может объясняться двумя причинами: автор вор или любитель. Существует, впрочем, и третья причина — автор лентяй.

А вот отсутствие ссылок, считают профессионалы, может быть только в одном случае — если работа пионерская.

В патентном праве претензии на пионерскую работу юридически оформляются в формуле изобретения, в которой, в отличие от формул на другие изобретения, нет разделения на ограничительную, совпадающую с прототипом, и отличительную части.

Статья не является столь же строгим юридическим документом. Поэтому отсутствие ссылок в ней может определяться любой из указанных выше причин. При этом, не говоря ни о моральной, ни о юридической сторонах дела, при прочтении такой статьи часто остается неясным, излагаются ли в ней собственные результаты автора или пересказываются чужие мысли.

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

Желание написать этот текст у меня возникло после прочтения интересной статьи А. Петриковского «Субъектное программирование».

Как говорится, не мне критиковать эту статью: в ней сказаны добрые слова и обо мне лично, и о предложенном мною автоматном программировании, однако применительно к ее названию из-за отсутствия ссылок осталось неясным, кто предложил субъектное программирование — Александр Петриковский или кто-либо другой?

Если этот подход предложил автор, то как быть со статьей Harrison W., Ossher Н. Subject-Oriented Programming (a Critique of Pure Objects)/Proceedings of OOPSLa’93, стр. 411-428, первое слово в названии которой может быть переведено как «Субъект»? Если принять такой перевод, то название обеих статей полностью совпадает, и новизна работы становится неочевидной. Более того, ряд статей по этой тематике опубликован на сайте www.research.ibm.com/sop/soppubs.htm.

Я тоже однажды написал статью, название которой совпадало с одной из разновидностей программирования, предложенной в Западной Европе, — синхронном программировании. Статья преследовала цель впервые на русском языке изложить суть публикаций по этой тематике, а список источников исключал вопрос о том, кто автор термина, использованного в названии.

Так что ссылайтесь на предшественников, и все резко упростится.

Это особенно актуально, так как в обсуждаемом номере «Компьютерры» редактором номера, во избежание проблем, был введен список использованной литературы даже в редакторской колонке. Оказывается, с потенциальными проблемами можно бороться, и это так просто делается.

Анатолий Шалыто

Доктор технических наук, профессор

Прежде всего, необходимо поблагодарить доктора технических наук, профессора Анатолия Шалыто за проявленный интерес к моей статье, что, в свою очередь, послужило поводом еще раз коснуться темы субъектов в мире программирования, попутно расставляя точки над i.

Целиком и полностью поддерживаю автора заметки в претензии на то, что российские авторы, и не только российские["Известно, что многие американские ученые не читают иностранных работ и считают наукой только то, что публикуется в американских журналах… Заметим, что, когда это выгодно, американцы проводят весьма тщательный скрининг литературы" В.А. Ратнер, проф., д.б.н., академик РАЕН, ИЦиГ СО РАН, Новосибирск, «Впереди событий и в стороне от признания», Вестник ВОГиС №4 за 1998 год., www.bionet.nsc.ru], не любят ссылаться на используемые источники. Это действительно ощутимо бьет по научному обществу, где каждая публикация и даже ссылка на счету, где идет жесткая конкуренция за приоритеты, научные звания и гранты. Поэтому зачастую специализированные издания предъявляют более высокие требования к терминологии и ссылочной полноте материала, нежели к его содержимому. В популярных же изданиях акцент делается на доступность содержания, а если встречается специализированный термин, без которого нельзя обойтись, то здесь необходима ссылка для разъяснения термина и его происхождения. На мой взгляд, редакция журнала старается этого придерживаться! Кстати, в защиту авторитета издания, именно редакция «Компьютера» дала развернутую ссылку об автоматном программировании. Поэтому благодарность за добрые слова, сказанные об А. Шалыто, в первую очередь относятся к редакции журнала.

Спешу успокоить научную общественность: концепция SOP, упоминаемая в источниках, имеет другое содержание, несмотря на совпадения в терминологии. Честно говоря, не хотелось бы вот так просто отдавать наиболее подходящий по смыслу для русского языка термин «субъект» при описании данного рода программ. В словаре С. И. Ожегова слово «субъект» однозначно определяется как философское понятие, мыслящее существо — человек. Переводя на английский[Русско-английский, Англо-русский словари. — Мн:. Харвест; М:.ООО «Издательство АСТ», 2001], русскоговорящий человек ассоциирует это слово с наиболее созвучным — Subject. А англоязычные люди под Subject в первую очередь подразумевают[Там же]: тема, содержимое, предмет изучения и только на 6-м и 8-м местах оно может означать то, что однозначно понимается под словом субъект в русском языке.

Чем руководствовались создатели, называя свою технологию Subject-Oriented Programming? В первую очередь под этим термином подразумевался ориентир на поставленную задачу, но никак не наше философское — «субъект», самостоятельно осязающий окружающую среду и наделенный правом самостоятельно выбирать путь для дальнейших действий.

Итак, чтобы за спорами о терминологии не потерялась идея, о которой шла речь в моей статье, заострю внимание на следующем:

1. Если ознакомиться с содержанием статьи «a Decorator Implementation Using Subject-Oriented Programming», John Vlissides, становится ясно, что тема, затрагиваемая в ней, никак не связана с той, которая излагалась в моем материале.

2. Метод, рассматриваемый в статье, разрабатывал я сам, опираясь на собственный 25-летний опыт практического программирования.

3. Мне бы хотелось сохранить русскоязычное название данного метода, а чтобы не создавать казуса, предлагаю переводить название как Being-Oriented Programming. Being — существо; считаю, что это более подходящее определение на английском языке.

P.S. Наиболее подходящим базисом для развития этой идеологии, как позднее выяснилось, является технология SemP-T®, «Российским НИИ искусственного интеллекта», которая была разработана под руководством Ю.А. Загорулько для моделирования сложных процессов. Ее появление еще раз подтверждает правильность и естественность применения описанного способа программирования для сложных информационных систем. И в этом была главная идея моей статьи.

Александр Петриковский

Руководитель проектов ООО «ИндаСофт»