Tôi đang tìm một ngôn ngữ hệ thống cấp cao hơn, nếu có thể, phù hợp để xác minh chính thức, biên dịch thành chuẩn C, sao cho nó có thể chạy trên nền tảng với chi phí thấp (tương đối).Ngôn ngữ hệ thống cấp cao có thể biên dịch thành c?
Hai ngôn ngữ hứa hẹn nhất như tôi đã mắc sai lầm trong vài ngày qua là:
BitC - Trong khi các mục tiêu thiết kế của ngôn ngữ này phù hợp với nhu cầu của tôi (thậm chí nó hỗ trợ các mô hình chức năng), nó ở trạng thái rất không ổn định, tài liệu đã lỗi thời, và nói chung, nó có vẻ như là một cú sút rất dài cho một dự án thực tế.
Lisaac - Nó hỗ trợ thiết kế theo hợp đồng, rất tuyệt và có chi phí hoạt động tương đối thấp. Tuy nhiên trang web đã chết, chưa có bản phát hành mới nào kể từ năm 2008 và dường như ngôn ngữ đã chết.
Tôi cũng muốn lưu ý rằng nó không có nghĩa là hệ thống thời gian thực, do đó, GC hoặc nói chung, không xác định (theo nghĩa thời gian thực), không phải là vấn đề.
Dự án chủ yếu liên quan đến xử lý âm thanh, mặc dù nó phải là nền tảng chéo.
Tôi cho rằng ai đó sẽ chỉ cho tôi câu trả lời rõ ràng - "đồng bằng ol 'C". Trong khi nó thực sự đa nền tảng và rất hiệu quả, số lượng mã có thể sẽ lớn hơn.
EDIT: Tôi nên làm rõ rằng ý tôi là đa nền tảng và kiến trúc chéo. Đó là lý do tại sao tôi chỉ xem xét các ngôn ngữ, được biên dịch thành C ngay từ đầu, nhưng nếu bạn có thể chỉ cho tôi một ví dụ khác, tôi sẽ biết ơn :)
Bạn đã xem C++ chưa? Nó (là | có thể là) một ngôn ngữ hệ thống mức cao. –
Có, nhưng sự phức tạp được giới thiệu bởi C++ là, tôi cảm thấy, không có giá trị thêm rắc rối. Ngoài ra, mọi trình biên dịch trên trái đất này đều hỗ trợ một phần khác của tiêu chuẩn ngôn ngữ và có, ví dụ: ngoại lệ, là một mớ hỗn độn. Tương tự như vậy đối với RTTI và nói chung tất cả các tính năng tạo ra mức C++ cao hơn. –
Nếu bạn thực sự không thích C++, bạn có thể xem D có GC trong số những thứ khác và ít phức tạp hơn C++. Mặc dù nó ít phổ biến hơn nhiều và không có nhiều thư viện nhưng nó có thể tương tác với mã C như C++. Cả hai ngôn ngữ đó không thực sự biên dịch sang C, chúng biên dịch thành mã máy. –