Ngôn_ngữ_lập_trình_bậc_cao

Trong khoa học máy tính, một ngôn ngữ lập trình bậc cao (tiếng Anh: high-level programming language) là một ngôn ngữ lập trình có sự trừu tượng hóa mạnh mẽ khỏi các chi tiết của máy tính. So với các ngôn ngữ lập trình bậc thấp (low-level programming language), nó có thể sử dụng các yếu tố ngôn ngữ tự nhiên, dễ sử dụng hơn, hoặc có thể tự động (hoặc thậm chí che giấu hoàn toàn) các khu vực quan trọng của các hệ thống điện toán (ví dụ, quản lí bộ nhớ (memory management)), làm quá trình phát triển chương trình đơn giản hơn và tương đối dễ hiểu hơn so với một ngôn ngữ bậc thấp. Lượng trừu tượng hóa được cung cấp định nghĩa một ngôn ngữ lập trình có bậc cao tới mức nào.[1]Vào thập niên 1960, các ngôn ngữ lập trình bậc cao sử dụng một compiler (trình biên dịch) thường được gọi là autocode (mã tự động).[2]Ví dụ của autocode là COBOLFortran.[3]Ngôn ngữ lập trình cấp cao đầu tiên được thiết kế cho máy tính là Plankalkül, được tạo ra bởi Konrad Zuse . [4] Tuy nhiên, nó đã không được thực hiện trong thời đại của ông, và những đóng góp ban đầu của ông phần lớn bị cô lập với những phát triển khác do Thế chiến thứ hai, ngoài ảnh hưởng của ngôn ngữ đối với ngôn ngữ " Superplan " của Heinz Rutishauser và ở một mức độ nào đó của Algol . Ngôn ngữ cấp cao đầu tiên trên diện rộng đáng kể là Fortran, một sự phát triển máy độc lập trước đó của IBM Autocode hệ thống. Algol, được xác định vào năm 1958 và 1960 bởi các ủy ban gồm các nhà khoa học máy tính châu Âu và Mỹ, đã giới thiệu phép đệ quy cũng như các hàm lồng nhau dưới phạm vi từ vựng . Nó cũng là ngôn ngữ đầu tiên có sự phân biệt rõ ràng giữa giá trịtên-các tham sốngữ nghĩa tương ứng của chúng. [5] Algol cũng giới thiệu một số khái niệm lập trình có cấu trúc, chẳng hạn như cấu trúc while-doif-then-elsecú pháp của nó là cấu trúc đầu tiên được mô tả bằng ký hiệu chính thức - " Backus – Naur form " (BNF). Trong cùng khoảng thời gian đó, Cobol đã giới thiệu các bản ghi (còn gọi là cấu trúc) và Lisp lần đầu tiên giới thiệu một trừu tượng lambda tổng quát đầy đủ trong một ngôn ngữ lập trình.

Tài liệu tham khảo

WikiPedia: Ngôn_ngữ_lập_trình_bậc_cao ftp://lispnyc.org/meeting-assets/2007-02-13_pinku/... http://www.adtmag.com/joop/article.aspx?id=4597 http://c2.com/cgi/wiki?HighLevelLanguage http://www.clip.dia.fi.upm.es/papers/carro06:strea... http://doi.ieeecomputersociety.org/10.1109/85.5860... //www.worldcat.org/oclc/635507601 https://web.archive.org/web/20070826224349/http://... https://web.archive.org/web/20090111091710/http://... https://web.archive.org/web/20150217154926/http://...