2010-05-01 36 views
9

Trong hệ thống yêu cầu sử dụng nhiều ngôn ngữ, thực tiễn tốt nhất để đảm bảo kiến ​​trúc lỏng lẻo khi mã đang gọi mã ngôn ngữ khác là gì?Các phương pháp hay nhất về khả năng tương tác ngôn ngữ là gì?

+0

Wiki cộng đồng IMO, vì không có câu trả lời đúng. Câu hỏi hay. –

+0

@mus nah, đó là một câu hỏi không phải là CW. – Earlz

+0

Đó là danh từ, yo. Do đó, "thực hành". –

Trả lời

1

Hmm, đây là một câu hỏi khó, câu trả lời iMHO phụ thuộc vào cách các ngôn ngữ tương tác. Bạn có thể sử dụng một số loại giao diện truyền thông điệp, hàng đợi tin nhắn hoặc thậm chí một số phần mềm trung gian, ví dụ: CORBA hoặc thậm chí là các dịch vụ web. Ví dụ. cho các ngôn ngữ JVM, bạn có thể sử dụng các tính năng tương hợp được cung cấp bởi máy ảo (công cụ tạo kịch bản lệnh). Có lẽ nếu bạn cung cấp thêm chi tiết, chúng tôi hoặc người khác sẽ nhận được một số giải pháp có thể sử dụng.

2

Viết API bằng C. Nhiều ngôn ngữ hiện đại có thể gọi hoặc kết hợp mã C với ít hoặc không gặp rắc rối nào. C++, Vala, Python, D, C#, Nhiều Lisps, VB và Java, chỉ để đặt tên một vài, cho phép sử dụng mã C trong các thư viện được chia sẻ. Theo cách này, miễn là bạn có một giao diện lành mạnh, bạn có thể dễ dàng gọi mã của bạn từ hầu hết mọi ngôn ngữ. C là mẫu số chung thấp nhất của máy tính hiện đại.

+0

Điều đó tương tự như việc sử dụng khả năng tương tác mã byte java cho các ngôn ngữ dựa trên JVM. –

+0

Và CLR cho các ngôn ngữ .NET. –

+0

có lẽ bạn có nghĩa là CIL. http://en.wikipedia.org/wiki/Common_Intermediate_Language –

0

IMO, không có cách nào trả lời câu hỏi này trước khi bạn ít nhất có thể xây dựng trên "hệ thống" được đề cập trong câu hỏi. Ví dụ: "hệ thống", điện thoại di động, máy đơn lẻ, máy ảo như JVM hoặc CLR, một nhóm máy chủ trên mạng LAN hoặc được mở rộng trên internet? Trong các loại khác nhau của "hệ thống", có những giải pháp tối ưu khác nhau, vì vậy bạn có thể xây dựng thêm một chút không?

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