2012-01-08 21 views
6

Tôi biết rằng ngay cả một câu hỏi Erlang hoặc Java có vẻ hơi lạ, bởi vì chúng là các ngôn ngữ khác nhau, đủ với các mô hình khác nhau. Nhưng, bây giờ tôi biết rất hời hợt cả hai, vì vậy, hỏi bạn những gì bạn sẽ thấy có giá trị hơn để biết, nhanh chóng, khả năng mở rộng? Điều gì đến với tâm trí của tôi:Java (Grails) hoặc Erlang (Elixir) trên các yêu cầu web ngắn: tốc độ, khả năng mở rộng?

  1. Java là ngôn ngữ chính thống. Tôi không chắc về Groovy và Grails, nhưng nếu dự án trở nên nhiều hơn sở thích của riêng bạn - thì việc lập trình Java để hỗ trợ mã này dễ dàng hơn nhiều. Elixir là một sở thích của một lập trình viên Erlang tốt - vì vậy sẽ rất khó để hỗ trợ mã trong Elixir. Ngoài ra, Grails đã được viết khuôn khổ, vì vậy nó nên được thực hiện tốt hơn rằng tự viết của riêng tôi trong khuôn khổ Elixir.
  2. Ứng dụng Erlang (được viết tốt) là từ đồng nghĩa của khả năng mở rộng. Nhưng khi nói đến các ứng dụng web bắt đầu, thực hiện một số truy vấn nhẹ và chết - không cần phải mở rộng quy mô chúng hơn các truy vấn người dùng Round-Robin đơn giản (các quy trình Java trên các máy khác nhau)?
  3. Nếu chúng ta đang nói về nhiều truy vấn đơn giản (không bỏ phiếu dài và vv) - quá nhiều quá trình tỉnh táo và chết mỗi giây - Erlang có mô hình quá trình thực sự nhẹ, vì vậy .. Điều gì về Java và nhiều mới sinh ra và giết chết xử lý mỗi giây?

Cảm ơn bạn trước.

PS Chart từ this hiệu suất kiểm tra phôi nghi ngờ về hiệu suất VM Java.

+0

Đây là _probably_ phù hợp cho [Lập trình SE] (http://programmers.stackexchange.com). Tôi đã ping người kiểm duyệt của họ để có một cái nhìn. Câu hỏi của bạn có thể sẽ được di chuyển ở đó trong tương lai gần. Tuy nhiên, tôi để nó mở ngay bây giờ, mặc dù nó hơi quá rộng đối với Stack Overflow. Tôi nghĩ rằng điều này có thể nhận được một số câu trả lời thực sự tốt và thú vị, nhưng tôi muốn kiểm tra lại với các đồng nghiệp của tôi trước khi di chuyển. –

+0

Nói chung "tôi nên sử dụng ngôn ngữ/khung nào?" các câu hỏi không nằm trong chủ đề của các lập trình viên vì chúng không bao gồm bất kỳ tiêu chí rõ ràng nào cho việc lựa chọn. Đây là * có thể * OK vì nó có một số tiêu chí, nhưng tôi không chắc chắn rằng so sánh bạn đang cố gắng thực hiện là hợp lệ. Tôi không biết đủ để nói theo cách này hay cách khác. – ChrisF

+0

@Minner: Tôi không nghĩ rằng điểm chuẩn đó có hiệu lực. –

Trả lời

-2

Chắc chắn, Java. Bạn có thể sử dụng nhiều diễn viên Java và các thư viện I/O async, vì vậy mỗi yêu cầu sẽ không bắt đầu quá trình hoặc luồng mới - chỉ cần tạo trình xử lý mới theo nano giây.

+3

Vâng, kiểm tra hiệu suất sử dụng máy chủ web OTP và Erlang có nhiều máy chủ khác có sẵn được cộng đồng ưa thích, như cao bồi. Tin tưởng rằng điểm chuẩn cũng giống như tin tưởng vào hiệu năng của các máy chủ web của Ruby là cái được đưa ra bởi webrick. Trong mọi trường hợp, như những người khác đã nói, tôi không nghĩ rằng quyết định này nên được thúc đẩy chỉ bởi những điểm chuẩn. –

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