Lisp是否适用于Web编程/应用程序(交互式),ruby和php的方式是什么?
需要考虑的事项是:
便于使用
可部署性
难度(特别是初学者编程)
(编辑)在阅读保罗格雷厄姆的文章后,我特别提到了Common Lisp .将是我的第一个编程语言.在这方面.这样做是否合适?
我听说Clojure的宏功能没有Common Lisp那么强大,这就是我试图学习Clojure的原因.它教授编程并且非常强大.
Lisp是一个语言家族,而不是一种语言.为了回答你的问题,是的,各种Lisp方言都存在Web框架,比如UnCommon Web
Common Lisp和PLT Racket(一种Scheme方言)在他们的网站上也有一个教程:
http://docs.racket-lang.org/continue/
但是,目前正在进行大量Web开发的Lisp方言是Clojure,因为它可以利用现有的Java库和基础架构.这是一个项目列表,并不全面:
打嗝 - 在Clojure中表示HTML
Ring - 类似于Ruby中的Rack的HTTP抽象
Enlive - 基于选择器的模板等
ClojureQL - 一个SQL集成库
CongoMongo - MongoDB的包装器
还有更多,但我认为你明白了.至于野外的Clojure网络应用程序,Clojure学习网站4Clojure就是一个例子,您可以查看GitHub上的源代码(我偶尔会对此做出贡献):
https://www.4clojure.com/
https://github.com/dbyrne/4clojure
正如您所看到的,在Clojure和Web开发方面有很多进展.它可能并不总是顺利航行,但人们正在努力使体验更好.利用现有的Java基础架构确实有其优势,例如可以部署到Google App Engine等:
http://www.infoq.com/articles/deadline-clojure-appengine
希望有点回答你的问题......
我几乎没有PHP或Ruby的经验.但是,我可以说使用Hunchentoot,CL-WHO和众多数据库后端之一编写Web应用程序非常容易(后现代,CL-SQLite,CLSQL,甚至像USerial或Rucksack这样的简单序列化库).
还有像Uncommon Web或Weblocks这样的框架,但我还没有尝试过.