Thật không may, trong khi cộng đồng Java dường như rất nhiệt tình về lập trình đa ngôn ngữ, các nhà cung cấp IDE đã không thực sự cập nhật. Chúng thường do có các plugin cho các dự án Java, Scala, Clojure, Groovy, Ruby, ECMAScript, Python, C++, nhưng trộn nhiều ngôn ngữ trong một dự án thường không được hỗ trợ.
Trong Ruby, ví dụ, khá phổ biến khi sử dụng Swing làm GUI thông qua JRuby. Nhưng nếu bạn muốn sử dụng Matisse, trình xây dựng GUI NetBeans Swing, bạn phải sử dụng một dự án Java, bạn không thể sử dụng Matisse trong một dự án Ruby. Tuy nhiên, nếu bạn sử dụng một dự án Java, thì bạn không thể có một tệp thực thi chính của Ruby, bạn phải có một tệp thực thi chính của Java. Ngoài ra, bạn không nhận được hỗ trợ Rake và những thứ khác mà kiểu dự án Ruby hỗ trợ. (Cách giải quyết xấu xí là để viết một thực thi chính Java mà tạo ra một trường hợp JRubyEngine
bằng tay, tải của Ruby thực thi chính vào nó và chạy nó.)
Eclipse Scala Plugin hỗ trợ một số lượng hạn chế polyglotism, nhưng hoops mà họ phải nhảy qua là rất lớn. Về cơ bản, họ sử dụng bản vá bytecode thời gian chạy để tiêm Scala Aspect vào trong trình cắm thêm Eclipse của công cụ phát triển Java, để có được các phép tái cấu trúc ngôn ngữ chéo kiểu để làm việc. Plugin Groovy thực hiện những điều tương tự, cũng như AspectJ (trên thực tế, ban đầu chúng nảy ra ý tưởng sử dụng khía cạnh dệt để chèn chức năng mới vào JDT). Vì vậy, tất cả các plugin này cho phép lập trình đa ngôn ngữ với chính chúng và Java. Nhưng tiếc là không phải với nhau. (Mặc dù một số người bảo trì đã bày tỏ quan tâm đến việc cộng tác chặt chẽ hơn.)
Nói chung, tôi lo ngại rằng giải pháp duy nhất là các IDE mới.
Nguồn
2009-10-15 22:50:24
Bất kỳ ai biết IntelliJ đứng ở đâu về điều này? – jomohke
Có! Xin vui lòng xem câu trả lời của tôi cho câu hỏi. –