Описательное и процедурное знание

Знания обычно принимают одну из двух форм: первый случай иллюстрируется тем, что человек знает свое имя, а второй — что человек знает, какходить. Первый пример — это пример описательных знаний, которые отвечают на вопросы «кто?», «что?», или «почему?». Зачастую мы связываем описательные знания с накоплением фактов. Второй пример — это процедурные знания, отвечающие на вопрос «как?». Их мы ассоциируем с возможностью производить подходящее действие. Важны обе формы. В частности, накопление исключительно описательных данных редко говорит о превосходном владении предметом изучения.

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

Стандартная библиотека шаблонов

Структуры данных, рассмотренные в этой главе, превратились в стандартные структуры программирования — настолько стандартные, что многие среды программирования используют их практически как примитивы. Пример этому можно найти в программной среде C++, которую зачастую усиливают за счет стандартной библиотеки шаблонов (Standard Template Library, STL). STL — это набор предопределенных классов (схожих с классом StackOflntegers из листинга 7.7), описывающих часто используемые структуры данных. Следовательно, включив STL в программу на C++, программист избавляется от необходимости детально описывать все эти структуры. Вместо этого он просто объявляет идентификаторы тех типов, которые присутствуют в библиотеке, так же, как мы объявляли в разделе 7.7, что StackOne принадлежит типу StackOflntegers.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: