Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет alamar ([info]alamar)
@ 2020-06-26 12:58:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Философия в программировании
Слушаю сейчас лекции по философии Константина Анатольевича Крылова, и всем их советую послушать, заодно поддержав семью безвременно ушедшего от нас русского писателя.

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

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

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

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

Посмотрите и почитайте Декларацию русской нации, раз уж вы тут, а также выпуск с рассказом о Крылове.