Состояние веб-разработки с использованием языка функционального программирования
Я рассматриваю возможность использования Ruby on Rails для моего любимого проекта для веб-разработки и использования функционального языка программирования (с рамкой или без него).
Не то, чтобы в RoR что-то не так, но я просто хотел бы узнать что-то еще, и это хороший способ узнать функциональное программирование.
Я знаю пару фреймворков (Lift for Scala и Seaside для Smalltalk), и я знаю, что есть также доступные в Интернете библиотеки Haskell. Наконец, я думаю, что все можно было бы написать с нуля.
Я предполагаю, что большинство основных функций RoR будут отсутствовать в этих структурах/библиотеках, и я ожидаю, что вам придется решать многие более низкоуровневые проблемы, что сделает процесс разработки более медленным и, вероятно, более сложным.
Тем не менее, между этими параметрами должен быть более простой путь.
Не могли бы вы поделиться своими впечатлениями и предложениями?
Спасибо.
Ответы
Ответ 1
Я не мог не вспомнить историю Пола Грэхема о том, как он успешно начал компанию по разработке веб-сайтов на основе Lisp. Это оказалось его секретное оружие; никто не делал этого так, и он смог остаться на два шага впереди своих конкурентов, получив новые функции быстрее, чем кто-либо другой.
Итак, для вашего вдохновения я даю вам:
Избиение средних значений
http://www.paulgraham.com/avg.html
Ответ 2
Я посещаю группу пользователей Lisp с парнем, который написал AntiWeb http://hoytech.com/antiweb/.
Тот же парень, который написал Let Over Lambda http://letoverlambda.com/. Умный парень, мягко говоря.
Хотя я не пробовал (я намереваюсь), я думаю, что это качественный продукт. Этот сайт работает на нем http://public.youtranscript.com/
Ответ 3
Веб-сервер, который утверждает, что он самый быстрый в мире, написан в Common Lisp. Проверьте Teepeedee. Он также имеет структуру Lisp для генерации динамического содержимого.
Ответ 4
В haskell вы можете определить сложные идеи. Вот некоторые идеи для веб-разработки haskell:
1) Используйте HAppS, если вы хотите, чтобы большая часть вашего кода уже была написана и протестирована.
2) Используйте Parsec, если вы хотите добавить на свои страницы контент с расширенным контентом после создания raw html
3) Создайте свою собственную монаду, чтобы инкапсулировать все повторения, с которыми вы можете столкнуться во время процесса разработки.
4) Вы также можете использовать некоторые из пакетов MANY, доступных для взлома, для сокращения задач, которые вы бы назвали "высоким уровнем" в рубине. Ruby не имеет currying = D
PS: Кто бы ни упоминал Паула Грэм, он разработал свои веб-приложения, когда все использовали только C. Они не имели доступа к php, ror, java и .net, которые мы делаем сегодня.