Функциональное программирование лучше манипулировать списками данных базы данных? - PullRequest
1 голос
/ 07 февраля 2010

Я смотрю некоторые лекции по функциональному программированию и, так сказать, основной «структуре данных», но на самом деле в FP нет ни одной, это списки, поэтому мой вопрос: когда кто-то много работает с базами данных и « списки данных, то функциональное программирование не превосходит ООП?

Ответы [ 2 ]

6 голосов
/ 07 февраля 2010

Одним из самых больших улучшений в чтении из баз данных в последние годы является LINQ. На самом деле LINQ во многом основан на принципах функционального программирования. На самом деле SQL также очень функциональный язык стилей.

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

Теперь изменив базу данных ... это другая история. Я оставлю это на другой день. :)

2 голосов
/ 07 февраля 2010

Лисп имеет дело со списками, но списки неоднородны и вполне могут представлять дерево. Другие языки, такие как Haskell, предоставляют структурированные типы, именованные и безымянные, и, в отличие от lisp, допускают статическую проверку типов.

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

Однако имеет смысл создать язык запросов к базе данных, который выражает операции с БД не обязательно, а декларативно и, следовательно, функционально. Вот как имеет смысл SQL, а также то, как определяется LINQ.

Итак, имеет смысл иметь функциональный язык базы данных, но это не из-за списков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...