Có một nhà lãnh đạo rõ ràng trong số các ngôn ngữ dựa trên JVM không? [đóng cửa]


9

Tình trạng hiện tại của các dự án này là gì, và có bất kỳ một (hoặc hai) nào nổi lên như một nhà lãnh đạo rõ ràng không?

Để chứng minh động cơ của tôi khi đặt câu hỏi này, hãy suy nghĩ lại vài năm. Prototype và jQuery đã đối đầu với những người chơi khác như MooTools đang chiến đấu để sinh tồn. Chuyển nhanh đến ngày hôm nay và sự đồng thuận chung là jQuery là thư viện JavaScript có mục đích chung tốt nhất.

Có điều gì đó tương tự đã xảy ra trong vài năm qua với các ngôn ngữ dựa trên JVM này không? Có một số ngôn ngữ nhất định rơi vào tình trạng hư hỏng và bị bỏ rơi? Từ những gì tôi đã đọc, có vẻ như Scala chắc chắn được chuẩn bị tốt để trở thành yêu thích, nhưng một lần nữa, gần như mọi thứ tôi đã đọc đều đã được vài năm tuổi.


Tôi đã thực hiện thêm một chút nghiên cứu - Tôi có ý tưởng kiểm tra lượng tìm kiếm trong nhiều năm bằng cách sử dụng Google Xu hướng . Có vẻ như Jython và JRuby có mối quan tâm tương đối ít trong khi âm lượng của Groovian đang giảm và âm lượng của Scala không đổi (tệ nhất) hoặc tăng nhẹ (tốt nhất). Đây có phải là một đánh giá chính xác?


Và vâng, tôi đang đề cập đến các ngôn ngữ không phải Java trên JVM như Jython, JRuby, Groovy, Scala, Clojure, v.v.


8
Một điều quan trọng cần nhớ là những người sử dụng JRuby thường sẽ tìm kiếm cho Ruby bất cứ khi nào họ tự hỏi về những thứ liên quan đến cú pháp, thành ngữ, ví dụ, vv Vì vậy, so sánh thẻ hoặc xu hướng là khó vì Scala và Groovy đề cập đến một ngôn ngữ thực hiện trong khi JRuby chỉ đề cập đến một thực hiện.
Deckard

10
Xác định "nhà lãnh đạo" :) Theo nghĩa thuần túy của "# lần được sử dụng", chính Java là nhà lãnh đạo rõ ràng
Heiko Rupp

4
Tôi hy vọng nó vẫn là Java :)

4
Thật vậy, Java là một nhà lãnh đạo rõ ràng trên JVM.
Chiron

4
@jprete: rinogo đã liệt kê các ngôn ngữ, nhưng Mark Trapp đã xóa chúng và thay đổi câu hỏi.
Jonas

Câu trả lời:


12

không ai

Không ai có sự thâm nhập thị trường cần thiết để tuyên bố họ là "người chiến thắng" trong cuộc đua (nếu có) để tìm ngôn ngữ JVM tốt hơn.

Kiểm tra các công việc có sẵn (trên Careerers.stackoverflow.com) làm chỉ số thị trường cho những người có các kỹ năng này.

1 công việc hấp dẫn .
4 công việc scala .
21 công việc C # .
22 công việc ruby .
29 công việc trăn .
34 công việc php .
39 công việc java .
0 cho JRuby, Jython hoặc Grails.

Tìm kiếm trên 2011/04/23, sử dụng mã zip 10001 và một loạt các 150 dặm


Sẽ rất thú vị khi xem những người này được cân như thế nào bằng mức lương khởi điểm (hoặc thậm chí là phạm vi của nó). Nhưng sau đó, một lần nữa, điều này sẽ đưa bạn thẳng vào lãnh thổ ngoài chủ đề.
GregC

3
Làm thế nào về clojure?
thay thế

2
Liệu sự nghiệp có loại thâm nhập thị trường là một mẫu hợp lý? Danh sách chăn cho thấy 549 việc làm (nghe giống như tổng danh sách?).
Steven Evers

1
@SnOrfus: Có lẽ không, đó là lần đầu tiên tôi tiếp tục tìm kiếm vì theo kinh nghiệm của riêng tôi, tất cả các công việc đều có chất lượng tương đối cao và được xác định rõ ràng với các thẻ và trọng tâm phù hợp. Tôi sẽ chạy lại các kết quả này trên một số trang web khác.
Josh K

@Josh K. Đó là một quyết định hợp lý. +1.
Steven Evers

7

Một năm trước đã có một đánh giá về quy mô cộng đồng Stack Overflow và Scala đã dẫn đầu, với Groovy và Clojure rất gần. Bạn có thể sử dụng kết xuất có sẵn miễn phí để thực hiện các truy vấn tương tự.

Ở bất cứ giá nào, tôi không thấy bất kỳ người chiến thắng rõ ràng nào ở vùng đất JVM. Trước hết, có một đám đông lớn thích các ngôn ngữ năng động và sẽ không đi cùng với Scala. Sau đó, có đám đông tĩnh không đi với các ngôn ngữ động như Groovy.

Nhưng tất cả họ đều có những điều sau NHỎ, so với bất kỳ ngôn ngữ lớn nào ngoài kia. Họ thiếu khối lượng quan trọng để đảm bảo thành công lâu dài, đó sẽ là dấu hiệu của một người chiến thắng thực sự.


1
+1 cho liên kết hữu ích - nhưng tôi nói thêm rằng điểm về các ngôn ngữ JVM là chúng không cần khối lượng quan trọng giống như cách các hệ sinh thái ngôn ngữ hoàn toàn độc lập làm - vì chúng có thể khai thác tất cả các thư viện và công cụ Java. Tôi muốn tranh luận Clojure, Scala, JRuby và Groovy đều đã vượt quá khối lượng quan trọng do kết quả của việc này.
mikera

3

Câu hỏi liên quan nhất là Làm thế nào để bạn khuyến khích tổ chức của mình chuyển từ Java sang Scala?

Scala cung cấp một mô hình và cú pháp lập trình khác nhau, trong khi Groovy cung cấp một đường cong học tập thấp cho các nhà phát triển Java. Cả hai đều có vị trí của mình.

Nhận xét liên quan từ cộng đồng: /programming/3644251/what-are-your-experatics-developing-in-scala-lift/3646365#3646365

Đánh giá bởi những bình luận tích cực, tôi muốn nói Scala là một sự đánh cược tốt.

Tôi cũng nghĩ rằng một công cụ trực quan không gây ra nhiều câu hỏi khủng khiếp là một chỉ báo tích cực, vì vậy số lượng câu hỏi trên Stack Overflow không phải là một số liệu tuyệt vời.


3
Cảm giác không làm cho một câu trả lời. Bạn có sự thật và tài liệu tham khảo ?

2
Mark là một người điều hành tuyệt vời!
GregC

Cảm ơn, nhưng bây giờ câu trả lời của bạn không giải quyết được câu hỏi. Câu hỏi là tìm kiếm thông tin cụ thể về tình trạng của các dự án, chứ không phải suy nghĩ của bạn về việc khi nào nên sử dụng cái này hay cái kia. Công thức ban đầu của bạn đã trả lời câu hỏi, nó chỉ cần tài liệu tham khảo để sao lưu nó.

@Mark Trapp: những nỗ lực của bạn rất đáng hoan nghênh. Tôi phải tập trung vào chất hơn một chút.
GregC

3

Câu hỏi này dựa trên giả định hoàn toàn sai, rằng các ngôn ngữ JVM là lựa chọn thay thế cho nhau. Bạn đang vẽ tương tự các bộ công cụ JS, tất cả đều sử dụng cùng một ngôn ngữ, tất cả đều có cùng một đối tượng, tất cả đều có cùng một cách sử dụng. Trong trường hợp các ngôn ngữ JVM, điểm chung duy nhất của tất cả chúng là, chúng được triển khai bằng JVM. Ngoài ra, đó là phổ ngôn ngữ rộng, như bạn có thể nhận được: tĩnh, động, chức năng, khách quan ...

Ví dụ, thật sai lầm khi cho rằng Jython là một thay thế cho Scala hoặc JRuby; nó thay thế nhiều hơn cho CPython, IronPython hoặc PyPy.

Đối với câu trả lời được bình chọn hàng đầu hiện nay , nó cũng đưa ra giả định sai rằng mô tả công việc sẽ nói về chi tiết thực hiện. Trên thực tế, ngay cả khi một công ty sử dụng Jython hoặc JRuby, mô tả công việc vẫn sẽ yêu cầu trải nghiệm Python hoặc Ruby. Jython phù hợp với đặc điểm kỹ thuật ngôn ngữ, do đó Jython là Python , similary cho JRuby là Ruby .


+1. Điểm rất tốt. Không có thứ gọi là "ngôn ngữ dựa trên JVM". Bản thân Java có thể được biên dịch thành JavaScript (GWT) hoặc nhị phân riêng (GCJ). Ngược lại, JavaScript có thể chạy trên JVM (tê giác), mặc dù nó không được liệt kê trong số các ứng cử viên. Toàn bộ quan điểm của các ngôn ngữ lập trình là có một sự trừu tượng hóa có thể quản lý được về cách các chương trình được thực thi.
back2dos

0

Không có nhà lãnh đạo rõ ràng - Scala, Clojure và Groovy dường như rất mạnh ở thời điểm hiện tại (giữa năm 2012).

Một số dữ liệu khảo sát:

Mặc dù vậy, thật khó để đo lường - Tôi nghĩ rằng các bài đăng và chỉ mục công việc như TIOBE về cơ bản là vô dụng đối với việc áp dụng ngôn ngữ mới vì chúng phụ thuộc chủ yếu vào các chỉ số rất chậm (ông chủ tóc nhọn trung bình của bạn sẽ không thuê một nhà phát triển Clojure cho đến khi ít nhất là một Vài năm sau khi tin tặc Clojure hiện tại của bạn tạo ra một sản phẩm tuyệt vời tuyệt vời và cuối cùng bạn đã quyết định rằng bạn cần phải phát triển đội ngũ).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.