2010-08-27 5 views
16

Scala là một ngôn ngữ lập trình đặc biệt ở chỗ nó nhắm vào cả JVM và CLR. Nhưng những lợi ích là gì? Có đáng xem nó như là một sự thay thế khả thi đối với ngôn ngữ F #?Lợi ích của việc sử dụng Scala trong .Net là gì?

+1

Câu hỏi liên quan: http://stackoverflow.com/questions/168428/f-and-scala-comparison –

+3

Cuối cùng tôi đã xem, Scala thậm chí không làm việc trên CLR trong nhiều năm cho phép một mình được sử dụng. –

Trả lời

13

Hầu hết các lần truy cập tìm kiếm trên web tôi thấy từ "Scala .NET" là từ năm 2008 hoặc đầu 2009. Scala là một ngôn ngữ thú vị, nhưng tôi thừa nhận ấn tượng thông báo là không phải là "thay thế khả thi" cho ứng dụng .NET công nghiệp.

Tôi thấy mọi người nói về việc viết các ứng dụng di động trên CLR và JVM, và đó là một ý tưởng hay về mặt lý thuyết, nhưng trong thực tế, tôi không thấy bất kỳ bằng chứng nào cho thấy bất kỳ ai đã làm điều này cho thực tế. (Nếu mọi người biết ví dụ, vui lòng đăng chúng.)

+5

+1 chỉ để sử dụng từ 'for reals' trong một câu.: P –

+1

Đối với srslys (15 ký tự) – Juliet

3

Lợi ích so với những gì?

Lợi ích so với ngôn ngữ khác, chỉ nhắm mục tiêu một trong những nền tảng lớn? Vâng, bạn có thể chạy trên cả hai nền tảng; truy cập các thư viện từ cả hai nền tảng mà không cần chuyển đổi ngôn ngữ;

Lợi ích của việc chạy trên .Net thay vì JVM? Vâng, nếu bạn làm việc trong một môi trường nặng Net. Điều này có thể được nhiều hơn một yêu cầu sau đó một lợi ích.

Lợi ích so với F #? Tôi không biết F #, nhưng khi bạn sống trong một thế giới trung tâm .Net, tôi đoán biết làm thế nào để F # sẽ dễ dàng hơn sau đó cho Scala trên CLR. Vì vậy, giả sử hai ngôn ngữ là hơi so sánh tôi thích F #

9

Tôi thực sự yêu thích Scala nhưng ở trạng thái hiện tại của việc triển khai .NET của nó: A Big NO. Nó chưa được cập nhật trong một thời gian. Phiên bản JVM thực sự là rất nhiều phía trước. Tôi không thấy cổng .NET của Scala đủ lớn để phù hợp với đối tác JVM của nó trong một tương lai gần.

Bạn sẽ thích hợp hơn với F #.

2

Theo như tôi biết, không ai thực sự sử dụng Scala.NET. Nếu mọi người muốn chạy mã Scala trên .NET, tùy chọn tốt nhất là IKVM. Và Scala hoạt động tốt trên IKVM, từ tất cả các báo cáo.

Vẫn còn hoạt động trên Scala.NET và có vẻ như nó sẽ khả thi (với hỗ trợ Visual Studio đầy đủ) "cuối cùng". This là tài nguyên thông tin nhất, Miguel Garcia hiện đang được LAMP tuyển dụng và tôi cho rằng được tài trợ bởi một khoản trợ cấp của Microsoft để cải thiện Scala.NET cho trạng thái sẵn sàng sản xuất. Nhưng điều này có thể được xác định sai ... ít nhất, có công việc từ tháng 8 năm 2010, vì vậy nó không chết.

Do ngăn xếp ngăn chặn "thông minh" ngăn chặn spam, tôi chỉ có thể đăng một liên kết. Vì vậy, bạn sẽ phải google cho "IKVM", và "IKVM scala" để tìm hiểu về những người. Liên kết tôi đưa vào là khó tìm nhất.

12

Scala on .NET là nỗ lực không ngừng được dẫn dắt bởi Miguel Garcia. Trạng thái mới nhất là chúng ta gần như có thể bootstrap trên .NET. Tôi không có nghi ngờ rằng một cái gì đó vững chắc sẽ đi ra khỏi điều này nhưng vẫn còn quá sớm để thực hiện các cam kết khi.

Dài hạn, tôi không thấy Scala là đối thủ cạnh tranh với F # hoặc C#. Sẽ rất khó để cạnh tranh trên một nền tảng bình đẳng với các ngôn ngữ được hỗ trợ bởi Microsoft. Mặt khác, tôi thấy một số điểm hấp dẫn của Scala cho các cửa hàng muốn chạy trên .NET cũng như trên JVM.

+0

Vấn đề với cạnh tranh với F # là gì? Hoặc để cụm từ nó một cách khác nhau: bao xa là từ bootstraping đến một ngôn ngữ làm việc? –

+1

@Martin - Scala có phải là một ngôn ngữ .NET lớp đầu tiên trên CLR, nơi tôi có thể dễ dàng sử dụng khung công tác .NET đầy đủ hay nó thực sự là Scala và các lớp Java sử dụng IKVM.NET để chạy trên đầu trang CLR? Nó chỉ là một giải pháp tương thích để chạy các ứng dụng JVM trên CLR khi cần thiết hoặc nó có ý định là một ngôn ngữ thực sự cho các nhà phát triển .NET? – Justin