Tôi tình cờ gặp phải 'ngôn ngữ lập trình' danh sách này và thấy rằng các ngôn ngữ phổ biến như Python không được chuẩn hóa? Tại sao vậy, và 'Chuẩn hóa' có nghĩa là gì?Python không phải là ngôn ngữ chuẩn?
Trả lời
"chuẩn hóa" có nghĩa là ngôn ngữ có một tiêu chuẩn đã được phê duyệt chính thức, thường được viết bởi ISO hoặc ANSI hoặc ECMA. Nhiều ngôn ngữ nguồn mở hiện đại, như Python, Perl và Ruby, không được chuẩn hóa chính thức bởi cơ thể bên ngoài và thay vào đó có tiêu chuẩn de-facto: bất kể việc triển khai làm việc ban đầu nào.
Lợi ích của việc chuẩn hóa ngôn ngữ là a) bạn biết ngôn ngữ sẽ không thay đổi ngẫu nhiên, b) nếu bạn muốn viết trình biên dịch/thông dịch viên của riêng mình cho ngôn ngữ, bạn có một tài liệu rất rõ ràng cho bạn biết mọi hành vi nên làm gì, thay vì phải tự kiểm tra hành vi đó trong quá trình thực hiện ban đầu. Do đó, các ngôn ngữ chuẩn hóa thay đổi chậm và thường có nhiều triển khai chính.
Ngôn ngữ không thực sự phải được chuẩn hóa để hữu ích. Hầu hết các ngôn ngữ không chuẩn sẽ không tạo ra những thay đổi ngược lại không có lý do gì (và nếu có, chúng mất mười năm để quyết định cách * ho * Perl6 * cough *), và các ngôn ngữ không chuẩn có thể thêm các tính năng thử nghiệm mới nhanh hơn nhiều (và dễ hiểu hơn) so với các ngôn ngữ tiêu chuẩn hóa.
Một vài ngôn ngữ chuẩn:
- C
- C++
- Common Lisp
- Scheme
- JavaScript (ECMAScript)
- C#
- của Ruby
ngôn ngữ Nonstandardized:
- Perl
- Python
- PHP
- Objective-C
Một danh sách đầy đủ là trên Wikipedia.
Phương tiện được chuẩn hóa tồn tại đặc điểm kỹ thuật cho ngôn ngữ ("chuẩn"). Java, ví dụ, có một đặc điểm kỹ thuật. Perl 5 không (mã nguồn là "chuẩn") nhưng Perl 6 sẽ.
Có "tiêu chuẩn" và có "tiêu chuẩn".
Hầu hết mọi người chủ yếu có nghĩa là một tiêu chuẩn được thông qua bởi một tổ chức tiêu chuẩn viết: ISO, ECMA, EIA, vv Luật sư gọi các tiêu chuẩn De Jure này. Có sức mạnh của pháp luật.
Hơn nữa, có "Tiêu chuẩn thực tế".
Một số người, cũng đã làm hỏng từ bằng cách thêm "Tiêu chuẩn ngành" hoặc "vendorname tiêu chuẩn".Đây chỉ là tiếng ồn tiếp thị vô nghĩa.
Tiêu chuẩn De Facto là tiêu chuẩn được thực hành (vì mọi người thực hiện và đồng ý họ đang thực hiện theo cách đó) nhưng nó là không phải được một số tổ chức tiêu chuẩn hỗ trợ.
Python có tiêu chuẩn De Facto, không phải là tiêu chuẩn De Jure.
- 1. Ngôn ngữ PHP có phải là C?
- 2. LL (2) ngôn ngữ không phải là LL (1)
- 3. JavaScript có phải là ngôn ngữ ứng dụng không?
- 4. "như thể" trong tiêu chuẩn ngôn ngữ
- 5. ngôn ngữ từ phải sang trái trong Python
- 6. Ngôn ngữ keo là gì?
- 7. C Bộ sưu tập tiêu chuẩn ngôn ngữ ở đâu?
- 8. Haskell FlexibleCó phải là phần mở rộng ổn định cho ngôn ngữ không?
- 9. Ngôn ngữ: onConfigurationChanged không được gọi là
- 10. Ngôn ngữ ISO là gì?
- 11. ngôn ngữ nào có được IEEE 754 phải không?
- 12. Ngôn ngữ templating là gì?
- 13. Ngôn ngữ M là gì?
- 14. u_char có phải là tiêu chuẩn không?
- 15. Đa ngôn ngữ Ngôn ngữ
- 16. Tại sao ngôn ngữ Python không có phương thức writeln()?
- 17. Tôi phải sử dụng ngôn ngữ nào cho plugin Pidgin?
- 18. Làm cách nào để triển khai ngôn ngữ có cùng ngôn ngữ nhanh hơn ngôn ngữ?
- 19. Android: chọn giữa hai ngôn ngữ không có "ngôn ngữ"
- 20. Ngôn ngữ cơ sở của python
- 21. Sử dụng ngôn ngữ Java trong Scala than phiền: đối tượng không phải là giá trị
- 22. Cây biểu thức có phải là tính năng ngôn ngữ cốt lõi của C# không?
- 23. Sự kiện OnKeyUp trong trình duyệt Android cho các ngôn ngữ không phải là latin
- 24. XSLT có phải là ngôn ngữ lập trình chức năng không?
- 25. Smalltalk có phải là ngôn ngữ phát triển khả thi cho Mac OS X không?
- 26. Có một đặc tả ngôn ngữ Python không?
- 27. Là một ngôn ngữ, Python có bị giới hạn do không có câu lệnh kết thúc?
- 28. Tôi có thể tìm ngữ pháp BNF hoặc YACC chuẩn cho ngôn ngữ C++ ở đâu?
- 29. dịch một ngôn ngữ này sang ngôn ngữ khác?
- 30. Làm cách nào để xác định xem ngôn ngữ có phải là ngữ cảnh miễn phí hay không?
Câu trả lời hay nhất, lý do duy nhất của tôi là nếu tiêu chuẩn chỉ mơ hồ một chút về một tính năng nhất định, bạn có thể đảm bảo rằng phiên bản Microsoft sẽ sử dụng giải thích tối nghĩa và bất thường nhất định. hợp lý. –
Ruby bây giờ là một ngôn ngữ chuẩn hóa theo tiêu chuẩn ISO/IEC 30170 – harsha