Câu trả lời ngắn gọn: không.
Java không tạo ra một tệp thực thi nhị phân mà chỉ có mã byte như C # (CLI) và đây không phải là một điều tốt cho doanh nghiệp nghiêm túc trong "môi trường mở" vì hai lý do chính:
- xác suất bị mắc kẹt trong việc tham gia ngược là rất cao, đặc biệt là với các ngôn ngữ cũ và thực sự nổi tiếng như Java
- bạn không có toàn quyền kiểm soát các hiệu năng của máy, trong trường hợp Java, JVM đóng vai trò lớn trong việc kiểm soát hoàn toàn.
Tất nhiên mỗi ngôn ngữ đều có thư viện riêng nhưng do số lượng lớn chúng cho mỗi ngôn ngữ nên đây không phải là vấn đề thực sự và tôi không nghĩ đó là mục đích của chủ đề này.
Có thể ở cấp độ chuyên nghiệp, bạn có thể tìm thấy thứ gì đó có thể phá vỡ quy tắc như dev-Kit có thể dịch tất cả các câu lệnh C # thành mã lắp ráp cho một cỗ máy trong thế giới thực, nhưng nếu cách tiếp cận này không nằm trong các thẻ bạn buộc phải sử dụng chỉ xem xét C và C ++ cho sự phát triển của bạn khi bạn định bán sản phẩm của mình trong môi trường mở.
Các thiết bị di động có một chút khác biệt bởi vì chúng là "môi trường khép kín", ngay cả Android cũng bị đóng cửa một cách thận trọng vì thực tế là nguồn ROM thế giới thực thường không có sẵn cho công chúng, Android có thể được coi là mã nguồn mở nhưng 99 % ROM trên thiết bị thực tế không có. Trong trường hợp này, bạn không thể tranh luận quá nhiều, mọi thứ đã được đặt cho bạn và mọi nền tảng đều có ngôn ngữ riêng như mọi người đều biết.
Cuối cùng, nếu bạn định bán sản phẩm này trong môi trường mở, tôi chỉ có thể đề xuất các ngôn ngữ có thể tạo mã được biên dịch và mã nhị phân / lắp ráp, trong môi trường kín, quyết định dễ thực hiện hơn vì những lý do khác nhau.