TỔNG QUAN VỀ CÁC NGÔN NGỮ LẬP TRÌNH

Chia sẻ bởi Đoàn Quốc Việt | Ngày 14/10/2018 | 34

Chia sẻ tài liệu: TỔNG QUAN VỀ CÁC NGÔN NGỮ LẬP TRÌNH thuộc Tư liệu tham khảo

Nội dung tài liệu:


Tổng quan về các ngôn ngữ
lập trình

Nguyễn Bá Minh - Nhóm Các Công Cụ Phát Triển
Ngày 18 tháng 09 năm 1998


Công việc nào công cụ đó

Trong lập trình, có một câu đơn giản nhưng bao giờ cũng có giá trị là: nên chọn công cụ cho phù hợp với công việc cần làm. Ví dụ như khi viết các chương trình truy cập đến các cấp thấp của máy tính, bạn nên dùng ASSEMBLER. ở các chương trình đơn giản, nếu lập trình cấu trúc hay hướng đối tượng thì chỉ thêm mất thời gian. Tuy vậy cũng có những chương trình yêu cầu bạn phải lập trình hướng đối tượng ví dụ như tạo hệ cửa sổ giao tiếp đồ hoạ.

Bài viết này sẽ trình bày tổng quan về một số ngôn ngữ lập trình đang phổ biến hiện nay, đó là các ngôn ngữ: PASCAL, C, C++, JAVA, VISUAL BASIC.

Ngôn ngữ lập trình PASCAL

Đây là ngôn ngữ do giáo sư Niklaus Wirth thiết kế vào năm 1970 với mục đích giảng dạy ý niệm lập trình có cấu trúc. Nhưng sau một thời gian do tính ưu việt của nó nên PASCAL đã được sử dụng rộng dãi.

PASCAL là ngôn ngữ lập trình bậc cao. Trước khi PASCAL được phát triển thì việc lập trình được thực hiện trên các ngôn ngữ cấp thấp, các lập trình viên rất khó khăn trong việc xây dựng các chương trình lớn. PASCAL dùng ngôn ngữ sát với ngôn ngữ tự nhiên hơn do đó nó thân thiện với người lập trình hơn. Do vậy nó giảm bớt các công việc nặng nhọc cho người lập trình.

PASCAL kết hợp giữa đặc tính gọn, dễ nhớ, khả năng truy cập cấp thấp, và các cấu trúc giữ liệu đa dạng. PASCAL còn hỗ trợ khả năng đưa các chương trình viết bằng ASSEMBLER vào chương trình của bạn, khả năng đồ hoạ và hướng đối tượng.

PASCAL là ngôn ngữ lập trình có cấu trúc. Tính cấu trúc của PASCAL được thể hiện qua 3 yếu tố: cấu trúc trong dữ liệu, cấu trúc trong các toán tử và cấu trúc trong công cụ thủ tục.

Tính cấu trúc của dữ liệu được thể hiện qua phần mô tả. Cũng như các ngôn ngữ lập trình khác, PASCAL có một số kiểu dữ liệu được định nghĩa sẵn và các phép toán trên các kiểu dữ liệu này. Từ các kiểu dữ liệu đó, người lập trình có thể xây dựng các kiểu dữ liệu phức tạp hơn. Sau đó để khai báo đối tượng thuộc kiểu dữ liệu phức tạp đó ta không cần trình bày lại cấu trúc thiết lập, mà chỉ cần tham chiếu đến kiểu đó.

Tính cấu trúc của các toán tử được 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, song sự quan trọng nhất của PASCAL là toán tử hợp thành. Toán tử hợp thành được xây dựng bắt đầu bằng từ khoá BEGIN, sau đó đến dãy các toán tử thành phần và kết thúc bằng từ khoá END.

Tính 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 thủ tục.

PASCAL không phải là ngôn ngữ khó học hơn ngôn ngữ dành cho những người mới bắt đầu làm quen với lập trình (BASIC) nhưng nó lại tỏ ra có những đặc tính cấu trúc hoá tốt hơn và không có những cú pháp mang lỗi.

PASCAL không phân biệt chữ hoa và chữ thường, do vậy người lập trình có thể 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 của mình.

Việc dịch một chương trình viết bằng PASCAL được thực hiện bằng một trình biên dịch. Khi chương trình chứa một lỗi cú pháp nào đó thì mã máy sẽ không được sinh ra. Còn nếu không có lỗi thì sau khi dịch xong sẽ nhận được một bản mã đối tượng.

Với những chương trình lớn thì dùng ngôn ngữ lập trình có cấu trúc để quản lý sẽ là rất khó khăn, vì vậy để đáp ứng nhu cầu của người lập trình những phiên bản của PASCAL về sau này đã có hỗ trợ lập trình hướng đối tượng.

Do mục đích ban đầu của PASCAL và các đặc điểm của nó, PASCAL rất thích hợp dùng để giảng dạy trong các nhà trường và cho những người mới bắt đầu học lập trình. Còn đối với những bài toán ứng dụng trong thực tế thì PASCAL ít được sử dụng.

Ngôn ngữ lập trình C

Ngôn ngữ 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ũng giống như PASCAL, C là ngôn ngữ lập trình có cấu trúc. Nhưng nói chặt chẽ về mặt kỹ thuật thì C không phải là ngôn ngữ lập trình có câud trúc chính cống vì trong C không cho phép các khối lồng nhau (chẳng hạn bạn không thể khai báo hàm này trong hàm khác).

C là ngôn ngữ cấp trung vì nó cho phép thao tác trên các bit, byte, và địa chỉ. C 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 ASSEMBLER. Do vậy, C tỏ ra thích hợp với lập trình hệ thống.

Chương trình viết bằng C là tập hợp các hàm riêng biệt, giúp cho việc che giấu mã và giữ liệu trở nên dễ dàng. 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.

So với PASCAL thì C thoáng hơn, chẳng hạn C không kiểm tra kiểu khi chay, điều này do người lập trình đảm nhiệm.

C tỏ ra ít gắn bó hơn so với các ngôn ngữ bậc cao, nhưng C lại thực tế hơn so với các ngôn ngữ khác.

Một đặc điểm nổi bật của C là 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. Hiện nay hầu hết các loại máy tính đều có trình biên dịch C.

Một chương trình được viết bằng C sẽ có tối ưu, chạy với tốc độ cao và tiết kiệm bộ nhớ.

Tuy vậy, 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 độ. Còn nếu bài toán lớn và phức tạp thì cũng như PASCAL, C cũng rất khó kiểm soát chương trình.

Ngôn ngữ C++

Ngôn ngữ 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, thực chất mã nguồn C++ đầu tiên được dịch sang mã nguồn C, rồi từ mã nguồn C tiếp tục được biên dịch tiếp.

C++ là ngôn ngữ lập trình hướng đối tượng, do vậy nó có đầy đủ các tính chất của một ngôn ngữ lập trình hướng đối tượng: tính kế thừa, tính đóng kín và tính đa dạng.

Nhưng C++ không phải là ngôn ngữ hướng đối tượng hoàn toàn mà là ngôn ngữ “đa hướng”. Vì C++ hỗ trợ cả lập trình hướng hành động và lập trình hướng đối tượng.

C++ kết hợp những ý tưởng hay nhất của lập trình có cấu trúc với việc phân chia một bài toán thành các nhóm nhỏ có quan hệ với nhau, 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ó.

C++ đưa vào các khái niệm hàm ảo, quá tải hàm, quá tải toán tử cho phép tạo ra các kiểu dữ liệu trừu tượng, hỗ trợ thừa kế bội.

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.

C++ là ngôn ngữ 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, ...

Ngôn ngữ lập trình JAVA

JAVA được tạo ra trước năm 1990 bởi nhóm các nhà phát triển của Sun Microsystem có nhiệm vụ phải viết phầm mềm hệ thống để nhúng vào các sản phẩm điện tử của khách hàng. Họ đã 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++. Nhưng JAVA là ngôn ngữ hướng đối tượng hoàn toàn, còn C++ là ngôn ngữ đa hướng.

JAVA là ngôn ngữ lập trình mạnh vì nó hội tụ được các yếu tố sau:
JAVA là ngôn ngữ hướng đối tượng (object oriented programming): Các ngôn ngữ lập trình hướng đối tượng có các modul có thể thay đổi và được xác định trước mà người lập trình có thể gọi ra để thực hiện những nhiệm vụ cụ thể. Trong JAVA các modul này gọi là các lớp (class) và chúng được lưu trữ trong thư viện lớp tạo nên cơ sở của bộ công cụ phát triển JAVA (Java Development Kit). Trong JAVA tất cả các hàm và biến đều phải là thành phần của một lớp.
Đơn giản (simple): Mặc dù dựa trên cơ sở của C++ nhưng JAVA đã được lược bỏ các tính năng khó nhất của C++ làm cho ngôn ngữ này dễ dùng hơn. Do vậy việc đào tạo một lập trình viên JAVA ngắn hơn và JAVA trở nên thân thiện với người sử dụng hơn. Trong JAVA không có các con trỏ, không hỗ trợ toán tử Overloading, không có tiền xử lý. Tất cả mọi đối tượng trong một chương trình JAVA đều được tạo trên heap bằng toán tử new - chúng không bao giờ được tạo trên stack. JAVA cũng là ngôn ngữ gom rác (garbage - collected language), vì vậy nó không cần đếm từng new với delete - một nguồn bộ nhớ chung để thất thoát trong các chương trình của C++. Trong thực tế không có toán tử delete trong JAVA.
Đa luồng (multithread): Có nghĩa là 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. Tính đa luồng cho phép các nhà lập trình có thể biên soạn các phần mềm đáp ứng tốt hơn, tương tác hơn và thực hiện theo thời gian thực.

Có thể nói JAVA là
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Đoàn Quốc Việt
Dung lượng: 44,00KB| Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)