chuẩn để đánh giá ngôn ngữ, được hiểu là cả tiền bạc và thời gian
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình PASCAL
– Do giáo sư Niklaus Wirth thiết kế năm 1970
– Mục đích ban đầu: giảng dạy ý niệm lập trình có cấu trúc – Do tính ưu việt nên PASCAL đã được sử dụng rộng rãi
– Dùng ngôn ngữ sát với ngôn ngữ tự nhiên nên nó thân thiện với người lập trình
– Gọn, dễ nhớ, khả năng truy cập cấp thấp, và các cấu trúc dữ liệu đa dạng
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình PASCAL (tt)
– Hỗ trợ khả năng đưa các chương trình viết bằng ASSEMBLY vào chương trình, khả năng đồ hoạ và hướng đối tượng
– Là ngôn ngữ lập trình có cấu trúc:
Cấu trúc của dữ liệu thể hiện qua phần mô tả, có một số kiểu dữ liệu và các phép toán được định nghĩa sẵn. Từ đó, có thể xây dựng các kiểu dữ liệu phức tạp hơn
Cấu trúc của các toán tử thể hiện ở chỗ bên trong các toán tử thực hiện một động tác, còn có các toán tử thực hiện nhiều động tác
Cấu trúc trong công cụ thủ tục thể hiện thông qua khả năng phân tích chương trình thành các modul độc lập và lời gọi đệ quy
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình PASCAL (tt)
– Không phân biệt chữ hoa và chữ thường → thoải mái hơn trong việc viết các câu lệnh và đặt tên cho các đối tượng
– Việc dịch một chương trình được thực hiện bằng một trình biên dịch
Nếu có lỗi cú pháp thì mã máy sẽ không được sinh ra
Nếu không, sau khi dịch xong sẽ nhận được một phiên bản có khả năng thực thi
– Thích hợp để giảng dạy lập trình và cho những người mới học lập trình
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình C
– Được phát triển từ ngôn ngữ B trên máy UNIX – Đến nay, ANSI ban hành chuẩn về C
– C không phải là ngôn ngữ lập trình có cấu trúc chính thống: không cho phép các khối lồng nhau
– Là ngôn ngữ cấp trung vì nó cho phép thao tác trên các bit, byte, và địa chỉ
– Kết hợp các yếu tố mềm dẻo của ngôn ngữ bậc cao và khả năng điều khiển mạnh của ASSEMBLY
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình C (tt)
– Chương trình viết bằng C là tập hợp các hàm riêng biệt, giúp che giấu mã và dữ liệu
– Hàm được viết bởi những người lập trình khác nhau, không ảnh hưởng đến nhau và có thể được biên dịch riêng biệt trước khi ráp nối thành chương trình
– C thoáng hơn PASCAL, chẳng hạn C không kiểm tra kiểu khi chạy, điều này do người lập trình đảm nhiệm
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình C (tt)
– C có tính tương thích cao
– Chương trình viết bằng C cho một loại máy hoặc hệ điều hành này có thể chuyển dễ dàng sang loại máy hoặc hệ điều hành khác
– Chương trình được viết bằng C thường có được sự tối ưu như chạy với tốc độ cao và tiết kiệm bộ nhớ
– C chỉ thích hợp với những chương trình hệ thống hoặc những chương trình đòi hỏi tốc độ
– Với bài toán lớn và phức tạp, C cũng rất khó kiểm soát chương trình
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình C++
– Được phát triển từ ngôn ngữ C
– Có thể coi C++ là một cải tiến của C – Nó mang đầy đủ các đặc tính của C
– Một chương trình viết bằng C có thể biên dịch được bằng trình biên dịch của C++
– Ở những phiên bản đầu tiên, mã nguồn C++ được dịch sang mã nguồn C, rồi từ mã nguồn C tiếp tục được biên dịch
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình C++ (tt)
– Là ngôn ngữ lập trình hướng đối tượng
– Nó có tính kế thừa, tính đóng gói và tính đa hình
– Nhưng không phải là ngôn ngữ hướng đối tượng hoàn toàn
– Là ngôn ngữ "đa hướng“: C++ vừa hỗ trợ lập trình hướng sự kiện vừa hỗ trợ lập trình hướng đối tượng
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình C++ (tt)
– Kết hợp những ý tưởng hay nhất của lập trình có cấu trúc (phân chia bài toán thành các nhóm nhỏ có quan hệ với nhau) và lập trình hướng đối tượng (mỗi nhóm con đó là một đối tượng chứa các lệnh và dữ liệu riêng của nó)
– Đưa vào các khái niệm hàm ảo, chồng hàm, chồng toán tử cho phép tạo ra các kiểu dữ liệu trừu tượng, hỗ trợ đa thừa kế
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình C++ (tt)
– Mục tiêu của C++ là tiếp cận những ý tưởng của phương pháp luận hướng đối tượng và trừu tượng dữ liệu
– Các đặc tính của C ++ cho phép người lập trình xây dựng những thư viện phần mềm có chất lượng cao phục vụ những đề án lớn
– Thích hợp cho việc xây dựng những chương trình lớn như các hệ soạn thảo, chương trình dịch, các hệ quản trị cơ sở dữ liệu, các hệ truyền thông, ...
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình Java
– Năm 1990, bởi nhóm phát triển của Sun Microsystem
– Có nhiệm vụ viết phần mềm hệ thống để nhúng vào các sản phẩm điện tử
– Khắc phục một số hạn chế của C++ để tạo ra ngôn ngữ lập trình JAVA
– Do được phát triển từ C++ nên JAVA rất giống C++
– JAVA là ngôn ngữ hướng đối tượng hoàn toàn, còn C++ là ngôn ngữ đa hướng (ngôn ngữ lai)
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình Java (tt)
– Là ngôn ngữ hướng đối tượng: các modul (lớp) có thể thay đổi và được xây dựng trước, có thể gọi ra để thực hiện những nhiệm vụ cụ thể
– Đơn giản: JAVA đã được lược bỏ các tính năng khó nhất của C++. Trong JAVA không có các con trỏ, không hỗ trợ chồng toán tử (Overloading), không có tiền xử lý
– Đa luồng: JAVA cho phép xây dựng các trình ứng dụng, trong đó nhiều quá trình có thể xảy ra đồng thời
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình Java (tt)
– Hiểu mạng: JAVA được viết để hoạt động trên mạng và có các thủ tục để có thể quản lý các giao thức TCP/IP, FTP, HTTP
– JAVA cho phép tạo ra các trang Web động, các ứng dụng nhúng
– An toàn: Có những phần hạn chế được cài đặt sẵn, nhằm hạn chế các chương trình JAVA thực hiện việc ghi vào ổ cứng hoặc cho phép vi rút xâm nhập vào từ mạng
– Độc lập với cấu trúc máy: Là thuộc tính đặc sắc nhất của JAVA, các ứng dụng được viết bằng JAVA có thể dùng được trên hầu hết mọi máy tính
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình Visual Basic
– Được phát triển bởi Microsoft
– Cung cấp phương pháp phát triển các ứng dụng trên Windows nhanh và dễ nhất
– Cung cấp môi trường tích hợp, nơi người lập trình có thể sử dụng các công cụ để tạo ra giao diện người sử dụng một cách nhanh chóng
– Dễ dàng tạo ra mã để trả lời lại các tác động từ phía người sử dụng
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình Visual Basic (tt)
– Cung cấp cả kỹ thuật lập trình hướng sự kiện và kỹ thuật lập trình hướng đối tượng
– Môi trường phát triển của Visual Basic có những công cụ soạn thảo và gỡ rối tinh vi
– Cho phép người lập trình gắn mã với giao diện một cách nhanh chóng cho mỗi sự kiện
– Visual Basic hỗ trợ tạo ra một giao diện nhanh nhất nhưng lại hạn chế về tốc độ
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình C#
– C# là một ngôn ngữ rất đơn giản, với khoảng 80 từ khoá và hơn mười kiểu dữ liệu xây dựng sẵn
– C# có tính diễn đạt cao
– C# hỗ trợ lập trình có cấu trúc, hướng đối tượng, hướng thành phần
– Trọng tâm của ngôn ngữ hướng đối tượng là lớp. Lớp định nghĩa kiểu dữ liệu mới, cho phép mở rộng ngôn ngữ theo hướng cần giải quyết
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình C# (tt)
– C# có những từ khoá dành cho việc khai báo lớp, phương thức, thuộc tính (property) mới
– C# hỗ trợ đầy đủ khái niệm quan trọng trong lập trình hướng đối tượng: đóng gói, thừa kế, đa hình
– Định nghĩa lớp trong C# không đòi hỏi tách rời tập tin tiêu đề với tập tin cài đặt như C++
– C# hỗ trợ kiểu sưu liệu mới, cho phép sưu liệu trực tiếp trong tập tin mã nguồn. Khi biên dịch sẽ tạo tập tin sưu liệu theo định dạng XML
1.3 Một số NNLT thông dụng (tt)
Ngôn ngữ lập trình C# (tt)
– C# hỗ trợ khái niệm giao diện (interfaces) tương tự như Java cho phép đa thừa kế
– C# có kiểu cấu trúc (struct), là kiểu hạng nhẹ và bị giới hạn
– Cấu trúc không thể thừa kế lớp hay được thừa kế nhưng có thể thực hiện giao diện
– C# cung cấp những đặc trưng lập trình hướng thành phần như property, sự kiện và dẫn hướng khai báo (được gọi là attribute)
– C# cho phép truy cập trực tiếp bộ nhớ dùng con trỏ như C++, nhưng vùng mã đó được xem là không an toàn