2009-08-04 27 views
14

Tôi đang xem xét bỏ Ruby on Rails cho dự án phát triển web của tôi và sử dụng ngôn ngữ lập trình hàm (có hoặc không có khung công tác).
Không có gì sai với RoR, nhưng tôi chỉ muốn học cái gì khác và có vẻ như là một cách hay để học lập trình hàm.
Tôi biết về một vài khung công tác (Nâng cho Scala và Seaside cho Smalltalk) và tôi biết cũng có sẵn các thư viện Haskell liên quan đến web. Cuối cùng tôi tưởng tượng rằng mọi thứ có thể được viết từ đầu.
Tôi cho rằng phần lớn các tính năng cao cấp của RoR sẽ bị thiếu trong các khung/thư viện đó và tôi mong đợi phải giải quyết nhiều vấn đề cấp thấp hơn, điều này sẽ làm cho quá trình phát triển chậm hơn và có thể phức tạp hơn.
Tuy nhiên, phải có một con đường dễ dàng hơn trong số các tùy chọn này.
Bạn có thể chia sẻ kinh nghiệm và đề xuất của mình không?trạng thái phát triển web sử dụng ngôn ngữ lập trình hàm

Cảm ơn bạn.

Trả lời

10

Tôi không thể không nhớ lại câu chuyện của Paul Graham về cách ông bắt đầu thành công một công ty phát triển web dựa trên Lisp. Hóa ra đó là vũ khí bí mật của anh ta; không ai khác làm theo cách này, và anh ấy có thể vượt qua hai bước trước đối thủ cạnh tranh của mình bằng cách chuyển các tính năng mới nhanh hơn bất kỳ ai khác có thể.

Vì vậy, để tìm cảm hứng của bạn, tôi cung cấp cho bạn:

Đập Trung bình
http://www.paulgraham.com/avg.html

+0

... và tất nhiên, mang lại cho vòng cung, là một phương ngữ Lisp với một khung web bao gồm. một phương ngữ tốt đẹp, nhưng phong cách html thi hành một cách nhanh chóng tắt tôi đi. – Javier

+0

Đáng xem xét Clojure với khung noir nếu bạn đi xuống đường dẫn Lisp - http://webnoir.org/ – mikera

1

Các máy chủ web mà tuyên bố là nhanh nhất thế giới được viết bằng Common Lisp. Hãy xem Teepeedee. Nó cũng có một khung công tác Lisp để tạo ra nội dung động.

1

Trong haskell, bạn có thể xác định ý tưởng phức tạp. Dưới đây là một số ý tưởng cho phát triển web haskell:

1) Sử dụng HAppS nếu bạn muốn hầu hết mã của mình đã được viết và kiểm tra.

2) Sử dụng Parsec nếu bạn muốn thêm một số nội dung giàu tính năng cho trang web của bạn sau khi bạn tạo ra html liệu

3) Tạo đơn nguyên của riêng bạn để đóng gói tất cả các sự lặp lại bạn có thể gặp trong quá trình phát triển của bạn

4) Bạn cũng có thể sử dụng một số gói MANY có sẵn trên hackage để giảm các tác vụ bạn cho là "mức cao" trong ruby. Ruby không có currying = D

PS: Bất cứ ai đã đề cập paul graham, anh ấy phát triển ứng dụng web của mình khi mọi người chỉ sử dụng C. Họ không có quyền truy cập vào php, ror, java và .net mà chúng tôi làm hôm nay.

+0

-1 Parsec cho "nội dung giàu tính năng cho các trang của bạn sau khi bạn tạo html thô": không, đó không phải là mục đích của Parsec . "Tạo ra bản sao của riêng bạn để đóng gói tất cả sự lặp lại bạn có thể chạy vào trong quá trình phát triển của bạn" là quá mơ hồ. Trong thực tế, toàn bộ câu trả lời là quá mơ hồ. –

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