Lập trình theo thủ tục là lập trình phản ánh nền tảng của kiến trúc Neumann của máy tính. Tất cả các chương trình được viết bằng ngôn ngữ này là một chuỗi lệnh nhất định thiết lập một thuật toán nhất định để giải một tập hợp các vấn đề cụ thể. Lệnh quan trọng nhất là thao tác gán, được thiết kế để thiết lập và sửa nội dung trong bộ nhớ của máy tính.
Ý tưởng chính của ngôn ngữ này là gì?
Tính năng chính của ngôn ngữ lập trình thủ tục là sử dụng bộ nhớ máy tính để lưu trữ thông tin. Chức năng của chương trình được giảm xuống mức thực hiện liên tục và luân phiên các lệnh khác nhau để chuyển đổi nội dung của bộ nhớ, thay đổi trạng thái ban đầu của nó và mang lại kết quả mong muốn.
Mọi chuyện bắt đầu như thế nào
Lập trình thủ tục bắt đầu với việc tạo ra một ngôn ngữ cấp cao gọi là Fortran. Nó được tạo ra vào đầu những năm 50 tại Hoa Kỳ bởi IBM. Những ấn phẩm đầu tiên về ông chỉ xuất hiện vào năm 1954. Ngôn ngữ lập trình hướng thủ tục Fortran được phát triển để thực hiện các nhiệm vụ khoa học và kỹ thuật. Các đối tượng chính của ngôn ngữ là các biến số, số thực và số nguyên. Tất cả các biểu thức được xây dựng dựa trên bốn phép tính số học chính: lũy thừa, phép toán tỷ lệ, dấu ngoặc đơn, thao tác logic VÀ, NOT, OR.
Các toán tử chính của ngôn ngữ là đầu ra, đầu vào, chuyển tiếp (có điều kiện, không điều kiện), gọi chương trình con, vòng lặp, phép gán. Lập trình thủ tục bằng ngôn ngữ Fortran đã phổ biến nhất trên thế giới trong một thời gian rất dài. Trong quá trình tồn tại của ngôn ngữ này, một cơ sở dữ liệu khổng lồ gồm các thư viện và chương trình khác nhau đã được tích lũy được viết riêng bằng Fortran. Hiện công việc vẫn đang được tiến hành để đưa ra tiêu chuẩn Fortran tiếp theo. Năm 2000, một phiên bản của Fortran F2k đã được phát triển, phiên bản tiêu chuẩn của nó được gọi là HPF. Nó được tạo ra cho các siêu máy tính song song. Nhân tiện, ngôn ngữ PL-1 và BASIC sử dụng nhiều tiêu chuẩn từ Fortran.
Ngôn ngữ cobol
Cobol là một ngôn ngữ lập trình thủ tục. Đây là một ngôn ngữ lập trình nhằm giải quyết nhiều vấn đề về xử lý thông tin. Nó được sử dụng tích cực để giải quyết các vấn đề về quản lý, kế toán và kinh tế. Lập trình thủ tục trong Cobol được phát triển ở Hoa Kỳ vào năm 1958-1960. Bản thân chương trình, được tạo bằng Cobol, có một số kiểu câu bằng tiếng Anh, giống với văn bản bình thường nhất về ngoại hình. Vấn đề là nhómcác toán tử được viết tuần tự được kết hợp thành toàn bộ câu, bản thân các câu được kết hợp thành đoạn văn và đoạn văn được kết hợp thành phần. Lập trình viên tự gán tên hoặc nhãn cho các đoạn văn và các phần được chỉ định để giúp dễ dàng tham khảo một phần mã cụ thể hơn. Tại Liên Xô, một chương trình phiên bản tiếng Nga đã được phát triển và áp dụng rất thành công vào thực tế.
Lập trình hướng thủ tục bằng ngôn ngữ Cobol được thực hiện nhờ các công cụ làm việc mạnh mẽ có thể xử lý các luồng dữ liệu khổng lồ được lưu trữ trên các ổ đĩa ngoài khác nhau. Có rất nhiều ứng dụng được viết bằng ngôn ngữ này đang được sử dụng tích cực ngay cả bây giờ.
Sự thật thú vị: các lập trình viên được trả lương cao nhất ở Mỹ viết chương trình bằng Cobol.
ngôn ngữ Algol
Ngôn ngữ lập trình thủ tục này được tạo ra bởi cả một nhóm chuyên gia vào năm 1960. Đây là kết quả của sự khởi đầu hợp tác ở cấp độ quốc tế. Algol được phát triển để duy trì các thuật toán được xây dựng dưới dạng một chuỗi các thủ tục nhất định được sử dụng để giải quyết các nhiệm vụ. Lúc đầu, ngôn ngữ này được nhìn nhận hơi mơ hồ, nhưng nó đã được công nhận ở cấp độ quốc tế, nó đóng một vai trò rất lớn trong việc phát triển các khái niệm cơ bản về lập trình và giảng dạy một thế hệ lập trình viên mới. Lập trình thủ tục trong ngôn ngữ Algol là người đầu tiên đưa ra các khái niệm như "cấu trúc khối chương trình", "cấp phát bộ nhớ động".
Còn một tính năng nữa của ngôn ngữ -đây là khả năng nhập một số dấu cục bộ trong khối không áp dụng cho phần còn lại của mã chương trình. Có, Algol-60, mặc dù có nguồn gốc quốc tế, không phổ biến bằng Fortran.
Không phải tất cả các máy tính nước ngoài đều có trình dịch từ Algol-60, vì vậy lập trình thủ tục này đã có những thay đổi và ngôn ngữ Algol-68 được cải tiến đã xuất hiện.
Algol-68
Nó đã là một ngôn ngữ lập trình nâng cao đa năng và đa dụng. Tính năng chính của nó là với cùng một chương trình, có thể dịch từ các phiên bản khác nhau của ngôn ngữ mà không tốn bất kỳ chi phí nào trong việc điều chỉnh ngôn ngữ này cho các nhóm lập trình viên khác nhau, những người có thể có phương ngữ miền cụ thể của ngôn ngữ.
Nếu chúng ta đánh giá khả năng của ngôn ngữ này, Algol-68 hiện nay thậm chí còn vượt xa nhiều ngôn ngữ lập trình về khả năng của nó, tuy nhiên, do không có máy tính nào hiệu quả cho ngôn ngữ lập trình thủ tục này, vẫn chưa thể tạo trình biên dịch chất lượng cao và nhanh chóng.
BASIC nổi tiếng đã xuất hiện như thế nào?
Ngôn ngữ lập trình thủ tục cũng bao gồm BASIC nổi tiếng thế giới. Vào giữa những năm sáu mươi, các nhân viên tại Đại học Dartmouth tên là Thomas Kurtz và John Kemeny đã phát triển một ngôn ngữ lập trình độc đáo có thể đảo lộn mọi thứ trên thế giới. Nó bao gồm những từ tiếng Anh đơn giản nhất và ngôn ngữ mới được công nhận là mã phổ quát cho người mới bắt đầu, hay nói cách khác là CƠ BẢN. Năm sinhNgôn ngữ này được cho là có từ năm 1964. BASIC đã trở nên phổ biến trên PC ở chế độ đối thoại tương tác. Tại sao BASIC lại trở nên phổ biến như vậy? Tất cả là do nó dễ dàng nhất có thể để thành thạo, ngoài ra, ngôn ngữ đã giúp giải quyết nhiều công việc khoa học, kinh tế, kỹ thuật, chơi game và thậm chí cả hàng ngày. BASIC có các quy tắc mặc định khác nhau, hiện được coi là một dấu hiệu của việc lập trình không tốt. Sau đó, trên thế giới đã xuất hiện rất nhiều phiên bản của ngôn ngữ này, thường không tương thích với nhau, tuy nhiên, hiểu được một trong hai phiên bản, bạn có thể dễ dàng sử dụng thành thạo phiên bản kia. Phiên bản ban đầu chỉ có trình thông dịch, nhưng bây giờ cũng có trình biên dịch.
Vào đầu những năm sáu mươi, tất cả các ngôn ngữ hiện có lúc bấy giờ đều tập trung vào việc giải quyết các vấn đề khác nhau, nhưng chúng cũng gắn liền với một kiến trúc máy tính cụ thể. Đây được coi là một bất lợi, vì vậy nó đã được quyết định phát triển một ngôn ngữ lập trình phổ quát.
PL / 1
Đây là ngôn ngữ phổ thông đa mục đích đầu tiên được tạo ra ở Hoa Kỳ bởi IBM. Năm tạo 1963-1966. Người ta tin rằng đây là một trong những ngôn ngữ phổ biến nhất, nó được điều chỉnh để giải quyết nhiều vấn đề trong lĩnh vực công nghệ máy tính: lập kế hoạch, nghiên cứu các quá trình tính toán khác nhau, mô hình hóa và giải quyết các vấn đề logic, nghiên cứu các mạch logic, sự phát triển hệ thống cho phần mềm toán học.
Khi PL / 1 được tạo ra, các khái niệm và công cụ khác nhau từ Algol-60, Fortran, Cobol đã được sử dụng trong thực tế. PL / 1 được coi là ngôn ngữ linh hoạt nhất và phong phú nhất, nó cho phéptạo chèn, sửa văn bản chương trình đã hoàn thành ngay cả trong quá trình gỡ lỗi. Ngôn ngữ này phổ biến rộng rãi và các trình dịch từ nó được sử dụng trong nhiều loại máy tính. IBM thậm chí hiện vẫn tiếp tục hỗ trợ ngôn ngữ này.
Pascal
Pascal là một ngôn ngữ thủ tục rất phổ biến, đặc biệt được sử dụng cho máy tính cá nhân. Ngôn ngữ lập trình thủ tục này được tạo ra như một ngôn ngữ giáo dục, những năm tạo ra nó là 1968-1971. Được phát triển bởi Niklaus Wirth tại ETH ở Zurich. Ngôn ngữ lập trình này được đặt theo tên của nhà toán học và triết học vĩ đại người Pháp Blaise Pascal. Nhiệm vụ chính của Wirth là tạo ra một ngôn ngữ dựa trên cú pháp đơn giản nhất, một số ít cấu trúc cơ bản được chuyển đổi thành mã máy bằng trình biên dịch thông thường. Điều đáng chú ý là anh ấy đã thành công.
Mô hình thủ tục của lập trình Pascal dựa trên các nguyên tắc sau:
- Lập trình có cấu trúc. Trong trường hợp này, các chương trình con được sử dụng, cấu trúc dữ liệu độc lập. Lập trình viên quản lý để tạo mã dễ đọc, cấu trúc chương trình dễ hiểu, đơn giản hóa việc kiểm tra và gỡ lỗi.
- Lập trình xây dựng từ trên xuống dưới. Nhiệm vụ được chia thành các nhiệm vụ đơn giản cần giải quyết và trên cơ sở các nhiệm vụ con đã xây dựng, giải pháp cuối cùng của nhiệm vụ chung đang được xây dựng.
Ngôn ngữ C
Lập trình theo thủ tục C do Bell Labs phát triển để triển khai hệ điều hành UNIX, ban đầu không được coi làđa số. Các nhà phát triển đã có kế hoạch thay thế Assembler một cách đơn giản, nhưng mới chỉ xuất hiện một ngôn ngữ C. Nó độc đáo ở chỗ nó có khả năng của các ngôn ngữ lập trình cấp cao và đồng thời nó có phương tiện để truy cập các mối quan hệ chức năng. Ngôn ngữ C không có khái niệm về thủ tục, cú pháp khá đơn giản, không có kiểu gõ dữ liệu nghiêm ngặt, bao gồm khả năng thể hiện một vài hành động cùng một lúc. Ngôn ngữ này ngay lập tức thu hút sự chú ý của các lập trình viên, giúp họ có thêm cơ hội để tạo ra các chương trình thú vị. Đến nay, ngôn ngữ C đã khá phổ biến, nó được các chuyên gia trong lĩnh vực lập trình sử dụng rộng rãi. Giờ đây, nó được triển khai trên nhiều nền tảng máy tính.
Ngôn ngữ thủ tục có gì đặc biệt?
Chỉ có một vài trong số chúng, vì vậy mỗi cái đều đáng nói. Đây là:
- Môđun. Một phần của chương trình được lưu trong một tệp riêng biệt. Mô-đun triển khai một tập hợp các tùy chọn được liên kết với các biến, hằng số hoặc đối tượng nhất định.
- Chức năng. Đây là một đoạn mã hoàn chỉnh, độc lập để giải quyết một vấn đề cụ thể.
- Kiểu dữ liệu. Khái niệm này nói về một mảng thông tin nhất định được xác định cho một loại.
Sự khác biệt giữa lập trình thủ tục và hướng đối tượng
Nhiều lập trình viên biết rằng ngôn ngữ lập trình thủ tục và hướng đối tượng được sử dụng trong thực tế khi tạo phần mềm hoặc ứng dụng web. Sự khác biệt là gì? Mọi thứ đều đơn giản, thủ tục và đối tượng-lập trình định hướng được sử dụng ở khắp mọi nơi trong thực tế, nhưng có một số điểm khác biệt. Trong quá trình làm việc, lập trình viên, đặt cho mình một nhiệm vụ cụ thể, chia nó thành các nhiệm vụ nhỏ, chọn các cấu trúc ngôn ngữ nhất định để thực hiện (vòng lặp, hàm, nhánh, toán tử cấu trúc). Điều này có nghĩa là chuyên gia được hướng dẫn bằng cách lập trình thủ tục.
OOP bao gồm khái niệm "đối tượng", nếu không chúng còn được gọi là các thể hiện của lớp, vì rất nhiều được kế thừa từ lớp. Kế thừa là một trong những nguyên tắc phân biệt của OOP.
Ngôn ngữ thủ tục và chức năng
Lập trình thủ tục và chức năng có giống nhau hay không? Lập trình hàm tập trung vào việc giải quyết các vấn đề trong toán học rời rạc, trong khi lập trình thủ tục là một khái niệm rộng hơn một chút và bao gồm rất nhiều ngôn ngữ lập trình để giải quyết một số loại vấn đề nhất định.
Chọn gì cho mình?
Nhiều ngôn ngữ lập trình thủ tục đã lỗi thời. Vâng, một số trong số chúng vẫn đang được cải thiện, nhưng vẫn đáng chú ý chỉ một phần trong số chúng. Ví dụ như ngôn ngữ C. Thông dụng hiện nay trên thế giới, nhiều nền tảng hiện đại được xây dựng đặc biệt bằng ngôn ngữ C, vì vậy nếu bạn muốn phát triển trong lĩnh vực lập trình thì bạn nên tìm hiểu kỹ hơn về ngôn ngữ C. Tuy nhiên., bạn có thể chọn thứ gì đó khác cho mình, không nhất thiết phải liên quan đến ngôn ngữ lập trình thủ tục.