Декларативность: декларативные знания, характер и многое другое

Декларативное программирование и сеть

Как и большинство веб-разработчиков, я провожу свои дни, давая инструкции компьютерам. Эти инструкции обычно включают некоторый ввод (запрос на веб-страницу), некоторую логику (отправление правильного содержания из базы данных), и некоторый вывод (отправление содержания в запрашивающий браузер). Это процесс сообщения компьютеру, как выполнить задачу, такую как генерация веб-страницы, то, что мы обычно называем “программирование”, но это – только один из множества видов программирования: императивное программирование.

Есть другой тип программирования, декларативный, который большинство веб-разработчиков также использует каждый день, но не часто распознают как программирование. С декларативным программированием мы говорим компьютеру «что», но не «как». Мы описываем результат, который мы хотим, а детали того, как выполнить его, оставлены интерпретатору языка. Этот тонкий сдвиг в подходе к программированию имеет широкие эффекты на то, как мы создаем программное обеспечение, особенно как мы создаем будущую сеть.

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

Декларативный характер

  • этот декларативный документ описывает права человека, которые соответствуют его национальному законодательству;
  • это декларативный язык программирования на основе XML;
  • и др.

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

Простой пример. Допустим в законодательстве условной страны закрепить подобное конституционное право: «Каждый житель страны имеет право жить и развиваться на Луне». Но если после принятия закона государство ничего не будет предпринимать, чтобы каждый житель страны смог переселиться на Луну, то данный закон будет носить декларативный характер. То есть он будет официально записан в Конституции и гарантировать право каждого гражданина, но фактически данный закон не работает, потому что граждане чисто физически не могут улететь на Луну.

В общем, выражение «декларативный характер», несет оттенок невозможности исполнения того, к чему применяют данное выражение.

Особенности алгоритмических познаний

Процедурные знания еще называют алгоритмическими. Они отвечают на следующие вопросы:

  1. Как лучше выполнить что-либо?
  2. Как избежать классических ошибок при выполнении?

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

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

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

Представления о процедурном знании

Здесь всё сложнее. Умение жарить яичницу, умение открывать дверь или умываться — не воспринимается, как процедурное знание. Всё это настолько привычно и естественно, что все мыслимые и немыслимые действия, которые обычно выполняет человек, он не воспринимает как алгоритм.

попробуйте привести примеры декларативных и процедурных знаний

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

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

Примеры декларативных и процедурных знаний

Яблоко зеленое — это декларативное знание. Футбольное поле — тоже. Но яблоко может быть не только зеленым, да и не яблоком вовсе. Чтобы отличить настоящее яблоко от изготовленного из воска, потребуется знание того, как оно выглядит в реальности и другие отличия (запах, текстура, форма).

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

  • кулинарный рецепт;
  • сборка автомобиля;
  • написание сочинения или стиха.

В последнем случае все сложнее. Нужно обладать определенные знаниями, чтобы писать стихи. По условиям, существуют различные требования к рифме или стилю письма.

В алгоритме всегда труднее ошибиться, чем в описании. Процедурное знание, как правило, тестируется на предмет работоспособности. Декларативное тоже требует проверки, но какой именно — определяет область использования декларативного знания.

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

Программирование и знания

Самый лучший критерий для декларативного и процедурного знания — аксиомы из области программирования. Причем программирование 80 годов прошлого века в этом контексте практичнее. В те времена четко было понятно описание данных, то есть: что такое декларативное знание. Любое такое описание четко обозначено: компьютер никогда не прощает ошибок.

Современное программирование не обязывает программиста строго декларировать то, что он намерен обработать, а в некоторых случаях, вообще не предъявляет никаких претензий, если он чего-то описал не так.

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

Рассматривая декларативные знания, примеры: «я знаю, что. » можно четко сформулировать два момента:

  • пример — это одно;
  • я знаю, что. — это совсем другое.

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

Примеры декларативных и процедурных знаний

Яблоко зеленое — это декларативное знание. Футбольное поле — тоже. Но яблоко может быть не только зеленым, да и не яблоком вовсе. Чтобы отличить настоящее яблоко от изготовленного из воска, потребуется знание того, как оно выглядит в реальности и другие отличия (запах, текстура, форма).

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

  • кулинарный рецепт;
  • сборка автомобиля;
  • написание сочинения или стиха.

В последнем случае все сложнее. Нужно обладать определенные знаниями, чтобы писать стихи. По условиям, существуют различные требования к рифме или стилю письма.

В алгоритме всегда труднее ошибиться, чем в описании. Процедурное знание, как правило, тестируется на предмет работоспособности. Декларативное тоже требует проверки, но какой именно — определяет область использования декларативного знания.

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

Электронное приложение к уроку

liniya

Вернуться к материалам урока
Презентации, плакаты, текстовые файлы Ресурсы ЕК ЦОР
Видео к уроку

liniya

Cкачать материалы урока

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector