Khác biệt giữa bản sửa đổi của “D (ngôn ngữ lập trình)”

Nội dung được xóa Nội dung được thêm vào
sửa lỗi chú thích: 2 <ref name="short"> giống nhau, đánh tắt (/) 1 thẻ
Không có tóm lược sửa đổi
Thẻ: Sửa đổi di động Sửa đổi từ trang di động
Dòng 1:
'''D''' là một ngôn ngữ lập trình hệ thống [[Lập trình hướng đối tượng|hướng đối tượng]], [[Lập trình mệnh lệnh|dùng câu lệnh]], [[Mẫu hình lập trình|đa mẫu hình]] do [[Walter Bright]] của [[Digital Mars]] tạo ra và phát hành năm 2001. Quá trình thiết kế và phát triển ngôn ngữ này trong năm 2007 được [[Andrei Alexandrescu]] tham gia đóng góp. Mặc dù nó có nguồn gốc như là một bản phát triển kỹ thuật của [[C++]], D là một ngôn ngữ riêng biệt, đã thiết kế lại một số tính năng cốt lõi của C++ trong khi cũng lấy cảm hứng từ các ngôn ngữ khác, đáng chú ý là các ngôn ngữ [[Java (ngôn ngữ lập trình)|Java]], [[Python (ngôn ngữ lập trình)|Python]], [[Ruby (ngôn ngữ lập trình)|Ruby]], [[C thăng|C#]], và [[Eiffel (programming language)|Eiffel]].
 
Mục tiêu thiết kế của D cố gắng kết hợp hiệu suất và sự an toàn của các ngôn ngữ biên dịch với sức mạnh biểu đạt của các ngôn ngữ năng động hiện đại. Mã D sau khi dịch thường nhanh như mã C++ tương đương, trong khi ngắn hơn<ref name='short'>{{chú thích web |title=Expressions |url=http://dlang.org/expression.html#Lambda |publisher=Digital Mars |accessdate=ngày 27 tháng 12 năm 2012}}</ref> và an toàn hơn về mặt bộ nhớ.<ref>{{chú thích sách |last=Bright |first=Walter |title=D programming Language Specification |publisher=Digital Mars (via Amazon) |edition=e-book |location=7227}} Memory Safety has an entire chapter, with recipes. It's a major theme of the language. Failures to reach this standard are defects.</ref>
 
Các tính năng định kiểu biến, [[Thu gom rác (khoa học máy tính)|quản lý bộ nhớ tự động]] và [[cú pháp đặc biệt]] cho các kiểu thường dùng cho phép [[phát triển phần mềm]] nhanh hơn, trong khi việc kiểm tra giới hạn, thiết kế theo các tính năng của hợp đồng và hệ thống kiểu nhận thức tương tranh đồng thời giúp giảm sự xuất hiện của [[Lỗi phần mềm|các lỗi phần mềm]].<ref>{{cite video |url=https://www.youtube.com/watch?v=RlVpPstLPEc |title=Three Cool Things About D |date=ngày 2 tháng 8 năm 2010 |people=Andrei Alexandrescu}}</ref>
 
== Tính năng ==
D được thiết kế với các bài học kinh nghiệm từ việc sử dụng C++ thực tế hơn là từ một quan điểm hoàn toàn lý thuyết. Mặc dù nó sử dụng nhiều khái niệm C và C++ nhưng nó cũng loại bỏ một số, và như vậy mã nguồn của nó không tương thích với mã nguồn C và C++. Tuy nhiên D đã bị hạn chế trong thiết kế của nó bởi quy tắc rằng bất kỳ mã nào là hợp pháp trong cả C và D sẽ hoạt động theo cùng một cách. D đã đạt được một số tính năng trước khi C++ đã làm, ví dụ [[bao đóng]], các hàm ẩn danh, và biên dịch thực thi hàm thời gian. D thêm vào chức năng của C++ bằng cách thực hiện thiết kế theo hợp đồng, [[kiểm thử đơn vị]], lập modul thực, [[Thu gom rác (khoa học máy tính)|thu gom rác]], [[Mảng (tin học)|mảng hạng nhất]], mảng kết hợp, mảng động, mảng cắt, hàm lồng nhau, tính toán biểu thức khi nó được gọi, và một cú pháp [[Lập trình tổng quát|tổng quát]] được thiết kế lại. D giữ lại tính năng của C++ để thực hiện các lệnh [[ngôn ngữ lập trình bậc thấp]] và thêm [[hợp ngữ]] trong dòng lệnh. Tính kế thừa đa mức của C++ được thay thế bằng kế thừa đơn kiểu Java với các giao diện và các mixin. Mặt khác, cú pháp khai báo, khai báo và biểu thức của D gần giống với C++.