Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

Categories:

Информатика

Информатика -- это работа агентов (людей и компьютеров) с текстами и кодами.

Текст -- понимается тут как "всё есть текст" ("text" is any object that can be "read," [человеком] whether this object is a work of literature, a street sign, an arrangement of buildings on a city block, or styles of clothing), неформален в части семантики и синтаксиса использованного в нём языка.

Код -- формальное в части семантики и синтаксиса использованного языка представление какого-то содержания, независимо от сериализации в строку буковок или оставления в виде какого-нибудь графа, таблиц или триплов.

Особо нужно обсуждать действия в информатике: "акты" (в том числе речевые акты) и "вычисления" (в том числе отработка инструкций компьютером).

Информатика-в-малом -- это когда работу с текстами и кодами ведёт один агент (компьютер или человек). Информатика-в-большом -- когда в работе с текстами и кодами участвует много агентов.

Дисциплины информатики:
-- (философская) логика, объектом практик которой является поиск наиболее компактных описаний для связи текстов и кодов с реальным миром, а также выражения связи с реальным миром формальных и неформальных языков, на которых представлены тексты и коды. Можно считать, что философия языка -- это тоже сюда.
-- когнитивная наука (cognitive science), объектом практик которой является поиск наиболее компактных описаний для понимания (перевод текстов и кодов во внутреннее представление в голове человека) и писательство (порождение текстов и кодов из внутреннего представления в голове человека).
-- лингвистика, объектом практик которой является поиск наиболее компактных описаний кодирования текста и отекстовки кодов.
-- компьютерная наука (computer science), объектом практик которой является поиск наиболее компактных описаний перекодирования.
Сюда вполне можно отнести и биосемиотику (в варианте http://galicarnax.livejournal.com/39260.html).

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

Вот типовые деятельности (агентов -- людей и компьютеров), которые требуют рассмотрения сразу несколькими поддисциплинами информатики:

Перетекстовка (из текста в текст):
-- перевод
-- аннотирование (в смысле создание краткого описания)
-- поиск (фильтрация)
-- интерпретация-1 (герменевтическая)

Кодирование (из текста в код):
-- парсинг
-- формализация
-- аннотирование (в смысле разметка текста фрагментами кода)
-- распознавание
-- моделирование данных

Отекстовка (из кода в текст):
-- рендеринг
-- отчёт
-- синтез текста (например, "объяснений" в экспертных системах)

Перекодирование (из кода в код):
-- мэппинг
-- преобразование (трансформация)
-- компиляция/трансляция (включая суперкомпиляцию)
-- шифрование и дешифровка
-- интерпретация (компиляция с немедленным исполнением)
-- оценка (как в функциональных языках)
-- вывод (как в логических языках)

Например, если мы рассматриваем какой-нибудь Haskell и коды на нём, то можно подумать, что там только рассмотрение computer science (перекодирование из одного формального представления в другое). Но если речь идёт о моделировании реального мира типами Haskell, то там будут задействованы положения философской логики, а когда выяснится, что большинству людей эти "идеальные коды на лучшем из языков" недоступны в понимании, то придётся привлечь аппарат когнитивной науки.

Если нас интересует перекодирование текстов инженерных стандартов в формальное представление справочных данных, непосредственно доступных из CAD/CAM систем, то тут рулит лингвистика. Тем не менее, когнитивная наука позволит понять, почему все эти коды айтишников (онтологии, базы данных, фреймовые представления, типы языков программирования) неточно выражают выраженное в стандартах инженерное знание и почему результат "чисто лингвистической" работы вызывают у большинства инженеров-неайтишников непонимание, когда они рассматривают результирующие структуры данных. Философская же логика позволит как-то обсуждать наличие различных описаний одних и тех же объектов в реальности (например, описание функциональных объектов и физических объектов -- насоса-на-чертеже и насоса-с-серийным номером) и способы их совмещения (например, 4D extensionalism). Ну, а когда нужно просто из одного формализма отмэппить в другой (и когнитивная наука вместе с философской логикой говорят, что с содержанием всё ОК), то это задача для компьютерной науки.
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 10 comments