Giải mã các 'lớp' lập trình: Từ How đến Why và xa hơn nữa!
Lê Lân
0
Khám Phá Các Lớp Lập Trình: Từ Declarative Đến Optative Và Beyond
Mở Đầu
Hãy cùng nhau khám phá hành trình từ hai phong cách lập trình cơ bản đến một tầm nhìn hoàn toàn mới, nơi mà ý định và bản thân con người trở thành trung tâm của các cấp độ lập trình.
Lập trình luôn là câu chuyện về cách chúng ta truyền đạt ý định tới máy móc: Có những cách mô tả tập trung vào What (cái gì cần làm), và có cách tập trung vào How (cách thức cụ thể để làm). Bài viết này sẽ dẫn dắt bạn qua các cấp độ khác nhau của lập trình: từ phong cách kinh điển Declarative (mô tả What) và Imperative (mô tả How), đến tầng lớp mới mẻ hơn là Optative (mô tả Why), thậm chí vươn tới Being — nơi ý định được tạo ra tự động qua hàng trăm ngàn dữ liệu phi ngôn từ. Đây chính là hành trình từ câu hỏi “Bạn muốn gì?” đến “Tại sao bạn muốn điều đó?”.
Chúng ta sẽ lần lượt đi qua từng tầng, tìm hiểu cách mỗi tầng tương tác và bổ trợ lẫn nhau, cũng như triển vọng tương lai trong phát triển phần mềm và trí tuệ nhân tạo.
Hai Phong Cách Lập Trình Cơ Bản: Declarative và Imperative
Phân biệt giữa Declarative và Imperative
Tính chất
Declarative
Imperative
Mô tả
Mô tả
What
– bạn muốn gì
Mô tả
How
– bạn làm thế nào
Ví dụ
SQL, Prolog, Terraform
Assembly, C, Machine code
Ưu điểm
Dễ đọc, tập trung vào mục tiêu
Tối ưu hoá hiệu năng, kiểm soát chi tiết
Trong thế giới lập trình, Declarative cho phép bạn mô tả mục tiêu cuối cùng mà không cần lo lắng cách đạt được chính xác, trong khi Imperative kiểm soát bước thực hiện một cách tỉ mỉ.
Ví dụ minh họa
Declarative:SELECT * FROM users WHERE age > 30 — Bạn chỉ nói what cần lấy dữ liệu.
Imperative: Viết từng bước thao tác với bộ nhớ, thanh ghi để lấy cùng một dữ liệu.
Khi What Pha Trộn Cùng How: Tầng Lớp Mở Rộng
Tầng What, How và mối quan hệ thực tế
Lớp
Mô tả
Ví dụ
What
Mục tiêu, kết quả đầu ra
SQL, Terraform
How
Quy trình thực hiện
C, Máy ảo, Assembly
Trong thực tế, các ngôn ngữ của lớp What thường có phần “nhúng” một chút chỉ dẫn về How để chạy trên runtime. Ví dụ, Terraform vừa mô tả kiến trúc hạ tầng (What) vừa kiểm soát thứ tự tạo tài nguyên (How).
Một hệ thống hiệu quả sẽ cân bằng được giữa việc diễn đạt mục tiêu và kiểm soát cách thực hiện.
Đạo Lý Lập Trình: Thêm Tầng Lớp "Why" – Optative Programming
Vấn đề của Why – Ý định
Nếu What là "Bạn muốn gì?" và How là "Bạn làm thế nào?", thì Why chính là “Tại sao bạn muốn điều đó?” — tức là nguyên nhân, ý định đằng sau.
Lớp
Phân tích
Phong cách biểu đạt
Ví dụ
Why
Ý định, mục đích, Outcome
Ngôn ngữ tự nhiên, prompts
“Tăng tỉ lệ chuyển đổi của cửa hàng”
What
Kết quả thực tế mong muốn
Declarative
Thay đổi màu CTA, thay đổi kích thước nút
How
Thao tác cụ thể
Imperative
Câu lệnh máy, thao tác DOM
Trong phần mềm hiện đại, việc diễn đạt Why thường được giao cho AI hoặc hệ thống ra quyết định tự động. Chẳng hạn, bạn đưa một “ý định” như “Tăng tỉ lệ chuyển đổi”, AI sẽ tự phân tích và chuyển hóa thành các hành động cụ thể.
Optative Programming mở rộng lập trình truyền thống bằng cách đưa vào một tầng định nghĩa ý định hoặc mong muốn, tương tác qua ngôn ngữ tự nhiên hoặc prompt AI.
Sơ đồ tổng hợp
Lớp
Nội dung
Biểu thức
Ví dụ cụ thể
Why
Mục đích, ý định
Ngôn ngữ tự nhiên (natural language)
“Tăng traffic web”
What
Kết quả đầu ra
DSL, SQL
Thay đổi giao diện, thêm tính năng
How
Thao tác chi tiết
Lệnh hệ thống, Assembly, C
Chạy đoạn mã
Mở Rộng Tương Lai: Lập Trình “Being” – Tự Động Sinh Ý Định
Lớp Being – Khi “Why” được tạo tự động
Hãy tưởng tượng một lớp cao hơn trong cấu trúc: không phải con người nhập ý định (Why) nữa mà một “siêu đại lý” (super-agent) tự động dự đoán, đề xuất, quyết định hành động dựa trên toàn bộ dữ liệu như clickstream, sinh trắc học,logs hoạt động… Tầng này không cần giao tiếp ngôn ngữ mà chỉ phản ánh trực tiếp người dùng hoặc mục đích kinh doanh.
Lớp
Biểu diễn
Tính chất
Nguồn đầu vào
Being
Không viết thành lời (Unwritten)
Tự động sinh ý định, phi ngôn từ
Dữ liệu tồn tại suốt đời, hành vi phi ngôn ngữ
Điều này đưa lập trình từ giai đoạn machine-centric sang human-centric, ước mơ về phần mềm hoàn toàn tự thích ứng và dự báo trước nhu cầu.
Being layer là tương lai của lập trình tự động hóa, nơi mô hình không cần input theo cách truyền thống mà đánh giá và hành động dựa trên toàn bộ dữ liệu tồn tại.
Kết Luận
Từ việc phân biệt hai phong cách lập trình cơ bản là Declarative và Imperative, chúng ta đã mở rộng đến tầng lớp mới là Optative – nơi ý định được thể hiện bằng ngôn ngữ tự nhiên và AI giúp dịch ra hành động, và xa hơn nữa là tầng Being, nơi ý định được sinh ra tự động từ dữ liệu phi ngôn từ và siêu đại lý.
Bước nhảy này đánh dấu sự chuyển dịch lớn trong cách chúng ta hiểu và phát triển phần mềm: từ chỉ đơn thuần là “kể máy làm gì, làm thế nào,” sang “nắm bắt ý định sâu sắc nhất” và cuối cùng là “một hệ thống thấu hiểu và dự đoán con người ở cấp độ chưa từng có.”
Bạn có đang quan tâm hoặc đầu tư vào các công nghệ xoay quanh Optative Programming hoặc lớp Being? Hãy chia sẻ ý tưởng hoặc những dự án đang theo dõi—những sáng tạo tưởng chừng như phi thực lại có thể định hình tương lai công nghệ!
Tham Khảo
Hudak, P. (1989). Conception, Evolution, and Application of Functional Programming Languages. ACM.