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.
Tổng Quan Về Các Ngôn Ngữ Lập Trình - Tổng quan 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 công cụ Trong lập trình, có câu đơn giản nhng 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 viết chơng trình truy cập đến cấp thấp máy tính, bạn nên dùng ASSEMBLER chơng trình đơn giản, lập trình cấu trúc hay hớng đối tợng thêm thời gian Tuy có 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 trình bày tổng quan số ngôn ngữ lập trình phổ biến nay, ngôn ngữ: PASCAL, C, C++, JAVA, VISUAL BASIC I Ngôn ngữ lập trình PASCAL Đây ngôn ngữ 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 Nhng sau thời gian tính u việt nên PASCAL đợc sử dụng rộng dãi PASCAL ngôn ngữ lập trình bậc cao Trớc PASCAL đợc phát triển việc lập trình đợc thực ngôn ngữ cấp thấp, lập trình viên khó khăn việc xây dựng chơng trình lớn PASCAL dùng ngôn ngữ sát với ngôn ngữ tự nhiên thân thiện với ngời lập trình Do giảm bớt công việc nặng nhọc cho ngời lập trình PASCAL kết hợp đặc tính gọn, dễ nhớ, khả truy cập cấp thấp, cấu trúc giữ liệu đa dạng PASCAL hỗ trợ khả đa chơng trình viết ASSEMBLER vào chơng trình bạn, khả đồ hoạ hớng đối tợng PASCAL ngôn ngữ lập trình có cấu trúc Tính cấu trúc PASCAL đợc thể qua yếu tố: cấu trúc liệu, cấu trúc toán tử cấu trúc công cụ thủ tục -Nguyễn Bá Minh - Nhóm Các Công Cụ Phát Triển Tổng Quan Về Các Ngôn Ngữ Lập Trình - Tính cấu trúc liệu đợc thể qua phần mô tả Cũng nh ngôn ngữ lập trình khác, PASCAL có số kiểu liệu đợc định nghĩa sẵn phép toán kiểu liệu Từ kiểu liệu đó, ngời lập trình xây dựng kiểu liệu phức tạp Sau để khai báo đối tợng thuộc kiểu 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à cần tham chiếu đến kiểu Tính cấu trúc toán tử đợc thể chỗ bên toán tử thực động tác, có toán tử thực nhiều động tác, song quan trọng PASCAL toán tử hợp thành Toán tử hợp thành đợc xây dựng khoá BEGIN, sau đến dãy toán tử thành phần kết thúc từ khoá END Tính cấu trúc công cụ thủ tục thể thông qua khả phân tích chơng trình thành modul độc lập lời gọi đệ quy thủ tục PASCAL ngôn ngữ khó học ngôn ngữ dành cho ngời bắt đầu làm quen với lập trình (BASIC) nhng lại tỏ có đặc tính cấu trúc hoá tốt cú pháp mang lỗi PASCAL không phân biệt chữ hoa chữ thờng, ngời lập trình thoải mái việc viết câu lệnh đặt tên cho đối tợng Việc dịch chơng trình viết PASCAL đợc thực trình biên dịch Khi chơng trình chứa lỗi cú pháp mã máy không đợc sinh Còn lỗi sau dịch xong nhận đợc mã đối tợng Với chơng trình lớn dùng ngôn ngữ lập trình có cấu trúc để quản lý khó khăn, để đáp ứng nhu cầu ngời lập trình phiên PASCAL sau có hỗ trợ lập trình hớng đối tợng Do mục đích ban đầu PASCAL đặc điểm nó, PASCAL thích hợp dùng để giảng dạy nhà trờng cho ngời bắt đầu học lập trình Còn toán ứng dụng thực tế PASCAL đợc sử dụng II Ngôn ngữ lập trình C -Nguyễn Bá Minh - Nhóm Các Công Cụ Phát Triển Tổng Quan Về Các Ngôn Ngữ Lập Trình Ngôn ngữ C đợc phát triển từ ngôn ngữ B máy UNIX Đến ANSI ban hành chuẩn C Cũng giống nh PASCAL, C ngôn ngữ lập trình có cấu trúc Nhng nói chặt chẽ mặt kỹ thuật C ngôn ngữ lập trình có câud trúc cống C không cho phép khối lồng (chẳng hạn bạn khai báo hàm hàm khác) C ngôn ngữ cấp trung cho phép thao tác bit, byte, địa C kết hợp yếu tố mềm dẻo ngôn ngữ bậc cao khả điều khiển mạnh ASSEMBLER Do vậy, C tỏ thích hợp với lập trình hệ thống Chơng trình viết C tập hợp hàm riêng biệt, giúp cho việc che giấu mã giữ liệu trở nên dễ dàng Hàm đợc viết ngời lập trình khác không ảnh hởng đến đợc biên dịch riêng biệt trớc ráp nối thành chơng trình So với PASCAL C thoáng hơn, chẳng hạn C không kiểm tra kiểu chay, điều ngời lập trình đảm nhiệm C tỏ gắn bó so với ngôn ngữ bậc cao, nhng C lại thực tế so với ngôn ngữ khác Một đặc điểm bật C C có tính tơng thích cao Chơng trình viết C cho loại máy hệ điều hành chuyển dễ dàng sang loại máy hệ điều hành khác Hiện hầu hết loại máy tính có trình biên dịch C Một chơng trình đợc viết C có tối u, chạy với tốc độ cao tiết kiệm nhớ Tuy vậy, C thích hợp với chơng trình hệ thống chơng trình đòi hỏi tốc độ Còn toán lớ phức tạp nh PASCAL, C khó kiểm soát chơng trình III Ngôn ngữ C++ Ngôn ngữ C++ đợc phát triển từ ngôn ngữ C Có thể coi C++ cải tiến C Nó mang đầy đủ đặc tính C Một chơng trình viết C biên dịch đợc trình biên dịch C++ phiên đầu tiên, thực chất mã nguồn C++ đợc dịch sang mã nguồn C, từ mã nguồn C tiếp tục đợc biên dịch tiếp -Nguyễn Bá Minh - Nhóm Các Công Cụ Phát Triển Tổng Quan Về Các Ngôn Ngữ Lập Trình - C++ ngôn ngữ lập trình hớng đối tợng, có đầy đủ tính chất ngôn ngữ lập trình hớng đối tợng: tính kế thừa, tính đóng kín tính đa dạng Nhng C++ ngôn ngữ hớng đối tợng hoàn toàn mà ngôn ngữ đa hớng Vì C++ hỗ trợ lập trình hớng hành động lập trình hớng đối tợng C++ kết hợp ý tởng hay lập trình có cấu trúc với việc phân chia toán thành nhóm nhỏ có quan hệ với nhau, nhóm đối t ợng chứa lệnh liệu riêng C++ đa vào khái niệm hàm ảo, tải hàm, tải toán tử cho phép tạo kiểu liệu trừu tợng, hỗ trợ thừa kế bội Mục tiêu C++ tiếp cận ý tởng phơng pháp luận hớng đối tợng trừu tợng liệu Các đặc tính C ++ cho phép ngời lập trình xây dựng th viện phần mềm có chất lợng cao phục vụ đề án lớn C++ ngôn ngữ thích hợp cho việc xây dựng chơng trình lớn nh hệ soạn thảo, chơng trình dịch, hệ quản trị sở liệu, hệ truyền thông, IV Ngôn ngữ lập trình JAVA JAVA đợc tạo trớc năm 1990 nhóm nhà phát triển Sun Microsystem có nhiệm vụ phải viết phầm mềm hệ thống để nhúng vào sản phẩm điện tử khách hàng Họ khắc phục số hạn chế C++ để tạo ngôn ngữ lập trình JAVA Do đợc phát triển từ C++ nên JAVA giống C++ Nhng JAVA ngôn ngữ hớng đối tợng hoàn toàn, C++ ngôn ngữ đa hớng JAVA ngôn ngữ lập trình mạnh hội tụ đợc yếu tố sau: JAVA 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ó modul thay đổi đợc xác định trớc mà ngời lập trình gọi để thực nhiệm vụ cụ thể Trong JAVA modul gọi lớp (class) chúng đợc lu trữ th viện -Nguyễn Bá Minh - Nhóm Các Công Cụ Phát Triển Tổng Quan Về Các Ngôn Ngữ Lập Trình lớp tạo nên sở công cụ phát triển JAVA (Java Development Kit) Trong JAVA tất hàm biến phải thành phần lớp Đơn giản (simple): Mặc dù dựa sở C++ nhng JAVA đợc lợc bỏ tính khó C++ làm cho ngôn ngữ dễ dùng Do việc đào tạo lập trình viên JAVA ngắn JAVA trở nên thân thiện với ngời sử dụng Trong JAVA trỏ, không hỗ trợ toán tử Overloading, tiền xử lý Tất đối tợng chơng trình JAVA đợc tạo heap toán tử new - chúng không đợc tạo stack JAVA ngôn ngữ gom rác (garbage - collected language), không cần đếm new với delete - nguồn nhớ chung để thất thoát chơng trình C++ Trong thực tế toán tử delete JAVA Đa luồng (multithread): Có nghĩa JAVA cho phép xây dựng trình ứng dụng, đó, nhiều trình xảy đồng thời Tính đa luồng cho phép nhà lập trình biên soạn phần mềm đáp ứng tốt hơn, tơng tác thực theo thời gian thực Có thể nói JAVA ngôn ngữ lập trình cho Web: V Hiểu mạng: JAVA đợc viết để hoạt động mạng có thủ tục để quản lý giao thức TCP/IP, FTP, HTTP Nói cách khác JAVA đợc xây dựng để hoàn toàn tơng thích Internet JAVA cho phép tạo trang Web động, ứng dụng nhúng An toàn: Đặc tính an toàn ngôn ngữ lập trình bắt nguồn từ việc có phần hạn chế đợc cài đặt sẵn nhằm đề phòng chơng trình JAVA thực chức nh ghi vào ổ cứng cho phép vi rút xâm nhập vào từ mạng JAVA độc lập với cấu trúc máy: Đây thuộc tính đặc sắc JAVA Có nghĩa JAVA không phụ thuộc vào hệ máy, ứng dụng JAVA dùng đợc hầu nh máy tính VISUAL BASIC -Nguyễn Bá Minh - Nhóm Các Công Cụ Phát Triển Tổng Quan Về Các Ngôn Ngữ Lập Trình VISUAL BASIC môi trờng lập trình đợc phát triển Microsoft nhằm cung cấp cho ngời lập trình phơng pháp phát triển ứng dụng Windows nhanh dễ VISUAL BASIC cung cấp cho ngời lập trình môi trờng tích hợp, nơi mà ngời lập trình sử dụng công cụ để tạo giao diện ngời sử dụng cách nhanh chóng dễ dàng tạo mã để trả lời lại tác động từ phái ngời sử dụng VISUAL BASIC cung cấp cho ngời lập trình kỹ thuật lập trình hớng kiện kỹ thuật lập trình hớng đối tợng Môi trờng phát triển VISUAL BASIC có công cụ soạn thảo gỡ rối tinh vi, cho phép ngời lập trình gắn mã với giao diện cách nhanh chóng cho kiện VISUAL BASIC cung cấp cho bạn giao diện nhanh nhng bù lại bạn phải phải trả giá tốc độ Do yêu cầu toán cần đến tốc độ bạn nên dùng C++ Tài liệu tham khảo Extending Turbo C Professional (Al Stevens) Programming with class (Samuel N Kamin/ Edward M.Reingold) The Official Visual Basic Programmers Journal Guide to Visual Basic 4.0 (QUE) Mcrosoft Visual Basic Programming System for Windows Version 4.0 (Microsoft Corporation) Turbo Pascal 6.0 (CMT) Kỹ thuật lập trình Pascal nâng cao (Phạm văn ất) Kỹ thuật lập trình C sở nâng cao (Phạm văn ất) C++ kỹ thuật ứng dụng (Scott Robert Land - dịch) Lập trình C++ (Dơng Tử Cờng) Lập trìng C++ nh ? (Hoàng Ngọc Giao) Lập trình hớng đối tợng C++ (Trần Văn Lăng) Tạp chí Điện Tử & Tin Học số 12/1996 (The VietNam Journal Of Electronics An Informatics) -Nguyễn Bá Minh - Nhóm Các Công Cụ Phát Triển Tổng Quan Về Các Ngôn Ngữ Lập Trình Trên Web site CSE -Nguyễn Bá Minh - Nhóm Các Công Cụ Phát Triển