2010-09-15 35 views
14

Tôi tự hỏi liệu một số ngôn ngữ chức năng có được sử dụng để phát triển web và chúng hữu ích nhất và được hỗ trợ với mục tiêu đó không?
Lisp hoặc Đề án chung cho phía máy chủ?

+1

Cả Lisp lẫn Lược đồ chung đều không phải là ngôn ngữ chức năng. Hãy thử một trong nhiều khung công tác web Erlang/Haskell. –

+6

@Vijay Mathew: Lisps là chức năng. Trong khi họ về mặt kỹ thuật đa mô hình, họ chắc chắn cho phép một lập trình viên hoàn toàn hoạt động nếu anh ta mong muốn. – Greg

+0

@Greg cũng vậy C. (nghĩ con trỏ hàm :-)) –

Trả lời

13

PLT vợt có một Web server nó là một cập nhật mới cập nhật, tích cực phát triển Đề án offshoot, và có thể là một cái gì đó mà bạn muốn xem xét. Dưới đây là một số tài liệu:

http://docs.racket-lang.org/web-server-internal/index.html

Có một vài bài StackOverflow có thể cung cấp một số câu trả lời nhiều đến thế này:

state of web development using functional programming language

What are the popular 'web-ready' functional programming languages?

+0

các khung công tác khá thú vị mà tôi đã tìm thấy ở đó –

4

Erlang là một ngôn ngữ chức năng được sử dụng (trong số rất nhiều thứ khác) để phát triển web phía máy chủ, ví dụ:

Đối với các khuôn khổ Common Lisp, xem Best web framework in Common-lisp?

+0

+1 để đề cập đến Erlang – linuxuser27

+0

Bạn có ý nghĩa gì khi "đã từng là"? Không phải nó vẫn được sử dụng cho điều đó sao? –

+0

@ NateC-K, tất nhiên, nó vẫn được sử dụng. Sửa lỗi từ ngữ sai lệch. – miku

5

Clojure (và Scala không thực sự là một lisp) cũng được sử dụng để phát triển web phía máy chủ.

5
  • BKNR, một Lisp môi trường ứng dụng web thông thường
  • Hunchentoot, một Lisp web server chung
  • Lisp-on-lines, một Lisp khuôn khổ web Common
  • Parenscript, một Common Lisp -> Javascript dịch
  • UnCommon Web , một khung công tác web phổ biến của Lisp

Thật an toàn để nói rằng có một chút công bằng của các công cụ phía máy chủ đang diễn ra cho Common Lisp!

Cập nhật: Trong newsfeed của tôi tối nay, lời khen của xach: A Common Lisp Web Development Primer, Part 1

3

Hunchentoot là một máy chủ web tốt đẹp cho CL. CL-WHO là một thư viện thế hệ HTML, và có một mod_lisp cho apache tôi nghĩ quá. Bạn có thể thiết lập một cái gì đó với cl-fcgi, và có một máy chủ kết nối với nó, như thiết lập CL-WHO + cl-fcgi, hoặc cl-who + hunchentoot, hoặc cl-who + mod_lisp. Đó là lựa chọn của bạn.

4

Clojure là một lựa chọn rất hứa hẹn cho việc phát triển web phía máy chủ.

ưu điểm chính:

  • Đó là một Lisp (xem "beating the averages" bài luận Paul Graham về lý do tại sao điều này quan trọng)
  • Bạn nhận được quyền truy cập vào đầy đủ Java hệ sinh thái của các thư viện - đây là một lợi thế rất lớn cho sự phát triển phía máy chủ (vì hệ sinh thái thư viện Java là không ai sánh kịp)
  • Nó cung cấp hiệu suất cao - luôn được biên dịch, tận dụng tối đa ông JVM cho tối ưu hóa vv Trên benchmarks game nó là ngôn ngữ động nhanh thứ hai (sau Common Lisp)
  • Bạn có thể sử dụng ClojureScript (về cơ bản Clojure biên dịch sang JavaScript) ở phía máy khách và đầu cuối giải pháp máy chủ khách hàng.

Hiện tại, khung web chính của Clojure có lẽ là Noir (http://webnoir.org/) nhưng có nhiều thứ khác bắt đầu xuất hiện.

Các vấn đề liên quan