Lập trình thủ tục là một cách tiếp cận để lập trình là một trong những khối cơ bản của việc xây dựng các khối cho nhiều thiết kế ngôn ngữ khác (chức năng không phải là một).
Hầu hết các ngôn ngữ rơi vào tập hợp "Lập trình thủ tục" và đó có lẽ là cách tiếp cận thiết kế tự nhiên nhất đối với hầu hết mọi người (nếu bạn nghĩ theo OO, thì tôi sẽ nói bạn thuộc thiểu số).
BASIC là thủ tục.
Như những người khác đã nói, nó là một cơ chế để cấu trúc các chương trình theo cách thức liên tiếp.
- Đầu tiên tôi làm x
- Thứ hai tôi làm y
- Thứ ba tôi làm Z
Nó đòi hỏi một cơ chế để xác định "thủ tục" - các khối mã được đặt tên tương tự như các phương thức OO, có thể chấp nhận 0 cho nhiều tham số và tùy chọn trả về một giá trị (thường được gọi là hàm - có thể dẫn đến sự nhầm lẫn của bạn với các ngôn ngữ chức năng )
Mô hình không cho biết những gì bạn làm sẽ là gì, hoặc cách thức của những điều được thông qua xung quanh.
Nó chỉ đơn giản mô tả rằng chương trình sẽ được cấu trúc như một chuỗi các thủ tục (hoặc hàm) hoạt động theo cách thức liên tiếp. Dữ liệu sau đó được xác định độc lập với các thủ tục.
Điều này khác với lập trình hướng đối tượng, cấu trúc chương trình xung quanh các bộ sưu tập dữ liệu và phương thức (không phải hàm) hoạt động trên dữ liệu đó.
Một cách để nghĩ về nó là về phạm vi dữ liệu.
Trong một phạm vi ngôn ngữ thủ tục là khá đơn giản. Một biến có thể nằm trong phạm vi của một thủ tục nhất định (được khai báo cục bộ), cho đến mức của công cụ gọi thứ hàng đầu (được khai báo trên toàn cầu), với phạm vi lồng nhau giữa.
Trong một ngôn ngữ hướng đối tượng, bạn thêm một bối cảnh phạm vi mới, là bối cảnh của đối tượng hiện đang sử dụng, là trực giao với ở trên.
Một cách khác để nghĩ về thủ tục, khi so sánh với hướng đối tượng là xem xét một ngôn ngữ hướng đối tượng trong đó tất cả các phương thức phải được khai báo là tĩnh. Kết quả là một ngôn ngữ thủ tục trong đó các lớp có thể được sử dụng để nhóm các thủ tục với nhau.