【发布时间】:2009-12-02 21:03:54
【问题描述】:
我想开始做一些形式的 Web 开发,目的是构建最终可以发展成为初创产品的 Web 应用程序。而且一直以来,我一直对函数式编程很好奇,心里的某个地方暗暗相信抽象层次越高,你的权力就越大(隐藏的假设:函数式编程比程序更抽象)。
鉴于我的网络开发经验很少,有没有什么函数式语言/框架可以很好地开始,学习网络开发?
另一种选择是坚持使用成熟的过程式 Web 框架(可能是 Django),先学习 Web 开发的技巧,然后再考虑函数式编程。但是,如果我最终转向函数式编程,所有的工作都将“浪费”。
我在 C++、Objective-C/Cocoa 方面有很好的经验,熟悉 Python。
编辑: 很多人建议使用 F#。但我愿意(无意冒犯他人)远离 .NET 平台和其他 MS 生态系统。
【问题讨论】:
-
ASP.NET MVC + F# 将是一个很好的匹配。
-
yahoo stores 最初是用 lisp 编写的。有一篇关于它的著名保罗·格雷厄姆文章。 paulgraham.com/avg.html
-
@Breton:ASP.NET MVC 不像它的“邪恶”兄弟 ASP.NET Web 窗体。我认为您不会因为使用 MVC Web 框架而失去函数式语言的任何东西。
-
F# 受 OCaml 的影响比 Haskell 大得多。它基本上是一个精简的 OCaml,具有更好的库。我看到的唯一 Haskell 影响是它具有内置的组合和应用程序运算符。
-
你最好在不同的环境中学习你的函数式语言 - Web 开发是函数式编程的一个不错的领域,但除非你正在学习课程,否则你会发现这门学科真的令人困惑。构建网页不会明确地教你真正重要的部分。看看 SICP 和弟兄们。 mitpress.mit.edu/sicp
标签: django functional-programming