Cobol Là Gì? Tìm Hiểu Về Ngôn Ngữ Lập Trình Cobol

10477

Trái với sự phổ biến trong quá khứ, hiện nay ngôn ngữ lập trình Cobol được khá ít người biết đến. Tuy nhiên, có thể nói Cobol là một ngôn ngữ lập trình mang tính khả dụng và hữu ích cao. Để hiểu rõ Cobol là gì, bạn hãy theo dõi nội dung bên dưới.

1. Cobol là gì?

Cobol (Common Business-Oriented Language) là một ngôn ngữ lập trình máy tính thế hệ thứ ba, chủ yếu tập trung vào giải quyết một vấn đề kinh doanh. Ngôn ngữ này thường được sử dụng trong hệ thống kinh doanh, tài chính và hành chính của các công ty và cả chính phủ. 

Cobol được phát triển bởi Hội nghị Ngôn ngữ Hệ thống Dữ liệu (Conference of Data System Languages – CODASYL). Ban đầu, Cobol là lập trình hướng thủ tục (Procedural), nhưng kể từ năm 2002, nó trở thành lập trình hướng đối tượng (Object-oriented).

Cơ bản bạn đã hiểu được Cobol là gì, ứng dụng trong môi trường nào. Vậy, Cobol có những đặc điểm hay ưu nhược điểm gì mà lại được sử dụng phổ biến trong những môi trường như vậy?

2. Đặc điểm ngôn ngữ lập trình Cobol

Những đặc điểm nổi bật của Cobol có thể kể đến như:

  • Tính đơn giản và tiêu chuẩn hóa: Cobol là một ngôn ngữ chuẩn, dễ học. Nó có thể được biên dịch và thực thi trên nhiều loại máy tính. Bên cạnh đó, Cobol còn hỗ trợ lượng lớn từ vựng cấu trúc và có một phong cách mã hóa logic.
  • Khả năng định hướng kinh doanh: Khả năng xử lý tệp nâng cao của Cobol cho phép nó xử lý lượng dữ liệu khổng lồ. Cobol xử lý hơn 70% giao dịch kinh doanh trên thế giới. Từ những báo cáo đơn giản đến các giao dịch phức tạp, việc sử dụng Cobol đều phù hợp và mang lại hiệu quả.
  • Tính phổ quát: Cobol đã thích nghi với sự thay đổi và hoạt động kinh doanh trên nhiều nền tảng và thiết bị. Ngôn ngữ này cung cấp các công cụ gỡ lỗi và kiểm tra cho hầu hết các nền tảng máy tính.
  • Cấu trúc và khả năng mở rộng: Các cấu trúc điều khiển logic có sẵn trong Cobol giúp bạn dễ dàng đọc, sửa đổi và gỡ lỗi. Cobol cũng có khả năng mở rộng, đáng tin cậy và khả năng di động trên các nền tảng.

Không có một ngôn ngữ lập trình nào hoàn hảo tính đến thời điểm hiện tại. Bên cạnh những ưu điểm vượt trội, Cobol cũng có những hạn chế cần phải xem xét:

  • Vì có Source Code lớn nên khi maintain hay chỉnh sửa đọc code sẽ tiêu tốn khá nhiều thời gian và công sức.
  • Hiện Cobol đang dần bị lãng quên do ít người dùng và dường như không còn được phát triển, cải tiến.

Tại đây có Top việc làm IT hấp dẫn cho Top Developers, apply ngay!

3. Cấu trúc chương trình Cobol

Một chương trình Cobol được tổ chức phân cấp theo thứ bậc. Không nhất thiết phải bao gồm tất cả các thành phần trong một chương trình. Mỗi thành phần sẽ bao gồm một hệ hay nhiều thành phần con khác nhau cùng hoạt động như:

  • Division: là phân vùng chính có khối mã lệnh bao gồm một hay nhiều vùng. Trong đó, vị trí bắt đầu là vị trí sau tên gọi phân vùng và vị trí kết thúc là điểm bắt đầu một phân vùng tiếp theo hoặc kết thúc chương trình.
  • Section: một vùng cũng là một khối mã lệnh (nhưng nhỏ hơn phân vùng) thường bao gồm một hoặc nhiều đoạn khác nhau.
  • Paragraph: là một đoạn lệnh của chương trình chính bao gồm một hoặc nhiều câu lệnh.
  • Sentence, Statement: câu lệnh bao gồm một hoặc nhiều mệnh đề khác nhau và kết thúc bằng dấu chấm. Trong đó, một mệnh đề bao gồm một động từ / lệnh Cobol và một hoặc nhiều operand.

Cấu trúc một chương trình Cobol sẽ bao gồm 4 phân vùng (division). Ta có thể lược bỏ một số phân vùng, tuy nhiên phải tuân theo thứ tự như sau:

  • Identification Division: cung cấp thông tin về chương trình cho lập trình viên và trình biên dịch.
  • Environment Division: giúp xác định các tệp đầu vào và đầu ra cho chương trình.
  • Data Division: bao gồm các thông tin khai báo biến dữ liệu
  • Procedure Division: bao gồm các mã lệnh sử dụng dùng để thao tác trên các thành phần dữ liệu đã được khai báo trong Data Division.

Ví dụ Hello World

4. Ví dụ với chương trình “Hello World”

Một ví dụ quen thuộc với tất cả các lập trình viên khi bắt đầu học một ngôn ngữ mới – “Hello World”. Mã chương trình Cobol hiển thị “Hello World” như sau:

000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. HELLO.
000300 ENVIRONMENT DIVISION.
000400 DATA DIVISION.
000500 PROCEDURE DIVISION.
000600
000700 PROGRAM-BEGIN.
000800     DISPLAY "Hello world".
000900
001000 PROGRAM-DONE.
001100     STOP RUN.

Bạn có thể hình dung cụ thể như này:

  • Dòng 000100 và 000200: phân vùng Identification Division dùng để nhận diện những thông tin cơ bản về chương trình, ở đây nó chỉ bao gồm PROGRAM-ID, HELLO.
  • Dòng 000300: vùng Environment Division dùng để nhận diện môi trường khi chương trình được thực thi. Cobol có thể chạy được trên nhiều nền tảng, nhiều loại máy khác nhau, và vùng này thường dùng để điều khiển và kiểm soát sự khác nhau giữa những loại máy đó. Trong ví dụ này, chương trình không chỉ ra yêu cầu của một loại máy cụ thể, do đó vùng Environment Division được bỏ trống.
  • Dòng 000400 là vùng dữ liệu Data Division bao gồm những dữ liệu của chương trình. Chương trình này không có dữ liệu nêu vùng Data Division được bỏ trống.
  • Dòng 000500 đến dòng 001100 là các dòng trong vùng Procedure Division. Vùng Procedure Division bao gồm hai đoạn (paragraph) từ dòng 000700 (PROGRAM-BEGIN) và từ dòng 001000 (PROGRAM-DONE). Thuật ngữ paragraph trong Cobol gần như là một hàm hay chương trình con trong một số ngôn ngữ lập trình khác. Tất các những công việc thực sự của chương trình là thực hiện câu lệnh ở dòng 000800.

Một số lưu ý về cách trình bày Code khi lập trình Cobol

  • Mỗi chương trình Cobol có 80 ký tự mỗi dòng
  • Vùng đánh số dòng (line numbers area) : gồm 6 ký tự (cột) đầu tiên của mỗi dòng trong chương trình được sử dụng để đánh số thứ tự các dòng code của chương trình.
  •  Vùng chỉ thị (indicator area) : nằm ở ký tự thứ 7, mô tả phần tiếp theo bằng dấu ‘- hoặc một nhận xét bằng dấu ‘* hoặc dấu ‘/.
  • Vùng A (Area A) : 4 ký tự tiếp theo (8-11) chứa các phân vùng (Division) và các đoạn (Sections). Thông thường vị trí bắt đầu tốt cho phân vùng này là bắt đầu từ cột thứ 8 thay vì các vị trí khác trong vùng A.
  • Vùng B (Area B): gồm các ký tự có vị trí từ 12 đến 72. Các câu lệnh phải bắt đầu và kết thúc trong vùng B này.
  • Vùng không chỉ định: bao gồm các ký tự từ vị trí 73. Những ký tự này sẽ không được xét trong chương trình.

Trên đây là những kiến thức tổng quan xoay quanh khái niệm Cobol là gì. Cobol không phải là một ngôn ngữ lập trình hợp thời như Python nhưng nó là một ngôn ngữ quan trọng. Hi vọng những thông tin trên sẽ giúp ích cho bạn trong việc đưa ra quyết định có nên học Cobol.

Những bài viết này cũng hay nè:

Đừng bỏ lỡ Top việc làm IT trên TopDev nhé!