2009-07-17 35 views
5

Boo có vẻ như một ngôn ngữ rất hay. Có tương thích 100% C# không? Tôi có nghĩa là: tôi có thể sử dụng bất kỳ C# DLL/lớp? Tôi có thể sử dụng khung công tác XNA không?Có phải tương thích 100% C# không?

+0

Nếu nó chạy trên đầu .NET. –

+0

Yup, tôi nghĩ rằng tôi có một thực hiện hữu ích của XNA làm việc với F #. – RCIX

Trả lời

6

Theo như tôi biết, Boo có triển khai trên đầu .NET CLR - ngụ ý rằng nó có thể vừa tiêu thụ vừa được mã C# tiêu thụ. Cú pháp có thể không phải lúc nào cũng đẹp khi tiêu thụ Boo từ C# - nhưng ngược lại nên khá thanh lịch, với cú pháp của Boo.

Ngoài ra, tất cả các lớp trong .NET BCL sẽ khả dụng cho bạn trong Boo.

+0

Nếu tôi nhớ đúng, không phải là Boo lập trình trong C#? – Isaiah

1

Nó sẽ không khác với việc sử dụng VB.NET với C#. Hiện tại chỉ khác nhau lớn giữa hai (chức năng) là Boo không có con trỏ ... nhưng có nhiều cách để xử lý điều đó.

PS: Boo LÀ một ngôn ngữ tuyệt vời.

1

IIRC, bất kỳ ngôn ngữ nào được biên dịch sang IL (Ngôn ngữ trung gian, phiên bản .NET bytecode của .NET) có thể hoạt động với bất kỳ ngôn ngữ nào khác hoạt động tương tự. Vì vậy, bạn có thể kết hợp C#, F #, ASP.NET, VB.NET, và nếu Boo làm như vậy, bạn sẽ có thể sử dụng với C# là tốt.

+2

Không chính xác. Có thể tạo các cấu trúc bằng một số ngôn ngữ nhất định mà các ngôn ngữ khác không thể sử dụng. Ví dụ: http://codebetter.com/blogs/matthew.podwysocki/archive/2008/09/10/object-oriented-f-extension-everything.aspx –

2

Có Boo dễ dàng tiêu thụ bởi C# và ngược lại. Hầu hết các tính năng tốt nhất của Boo không chuyển sang C#, chẳng hạn như macro cú pháp, vì lý do rõ ràng, nhưng bạn có thể tạo Macro trong C# và tiêu thụ chúng trong Boo. Ngoài ra Boo có tính năng tốt đẹp của việc có thể tạo Modules, đó là một cái gì đó bạn không thể làm trong C#.

Cả hai đều có thể tạo các phương pháp mở rộng. Boo có gõ 'vịt' trong khi C# bây giờ có từ khóa "động". Trong khi cả hai chức năng tương đương, bạn có thể cuối cùng nhìn thấy hai hợp nhất cuối cùng.

Hiện tại, Boo có vấn đề về generics, nhưng tính năng này sẽ được hỗ trợ hoàn toàn khi tất cả đều được giải quyết. Tôi nghi ngờ sẽ có một số công việc phụ được thực hiện để hỗ trợ các tính năng Co/Contra-variance mới trong .NET 4.

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