Полная версия

Главная arrow Философия arrow Взлеты и падения гениев науки: практикум по методологии науки

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Догма абстракционизма в информатике

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

Анализ соответствующей литературы убеждает, что абсолютное большинство информатиков чрезмерно увлечено теорией абстракций, полагая, что именно она дает ключ к программированию. Обычно эта позиция принимается интуитивно, без специальных доказательств. Но Амнон Иден и Раймонд Тёрнер решили продемонстрировать соответствующие доказательства (2007). Линия их аргументации состоит в том, что для начала дается характеристика абстракций, в частности, они неосязаемы (A-I) и являются обобщениями (А-П). Далее Иден и Тёрнер сопоставляют друг с другом, с одной стороны, метапрограммы, программы и аппаратное обеспечение, а с другой - абстракции. Выясняется, что абстракции можно использовать в качестве характерных признаков, выражающих специфику концептов информатики. Например, различие метапрограмм и просто программ объясняется А-Н: метапрограммы являются обобщениями программ. Отличие программ от аппаратного обеспечения объясняется посредством A-I: программы в отличие от hardware (хадвера) неосязаемы и т.д. Таким образом, метапрограммы, программы и аппаратное обеспечение являются различными уровнями абстракций. Другие знаменитые авторы, например О. Хаззэн и Дж. Томейко, предлагают различные пути обучения студентов методу абстракций.

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

 
<<   СОДЕРЖАНИЕ   >>