Lập trình bảng là gì?


34

Các ngôn ngữ lập trình Falcon quảng cáo chính nó như là hỗ trợ lập trình bảng:

Falcon cung cấp sáu mô hình lập trình tích hợp: thủ tục, hướng đối tượng, hướng nguyên mẫu, chức năng, bảng và hướng thông điệp. Và bạn không cần phải thành thạo tất cả chúng; bạn chỉ cần chọn các thành phần bạn thích, và để mã theo cảm hứng của bạn.

Các tài liệu mở rộng một chút về cách hương vị của ngôn ngữ lập trình bảng hoạt động, nhưng nó tập trung vào cấu trúc và cú pháp riêng của ngôn ngữ, và không thực sự giải thích những lợi ích của mô hình (tất nhiên trừ những người được rõ ràng từ các ví dụ đơn giản) .

Tôi hơi bối rối về cách toàn bộ hoạt động bên trong, từ những gì tôi hiểu Falcon Tablelà một cấu trúc nguyên gốc hoạt động ít nhiều như một bảng quan hệ và có thể được mô tả (theo ngôn ngữ OO) như một Bản ghi gốc có khả năng truy vấn quan hệ . Một mô tả khủng khiếp, tôi biết (đổ lỗi cho nguồn gốc OO của tôi và nhiều năm lạm dụng rượu tequila).

Bạn có thể giúp tôi hiểu rõ hơn về lập trình bảng là gì và cách thức hoạt động bên trong không?

Làm rõ: Tôi không hỏi về Lập trình mô hình dạng bảng .


11
Có một bài viết về nó: Lập trình định hướng bảng . (tl; dr) Tôi đoán đây là sự pha trộn giữa các mảng đối tượng (như trong các thể hiện của lớp), cơ sở dữ liệu và bảng tính.
mouviciel

3
Cụm từ "Lập trình hướng bảng" làm tôi nghĩ đến Lua. Lua sử dụng các bảng như một cấu trúc dữ liệu hạng nhất , nhưng bản thân ngôn ngữ cũng có thể được mở rộng bằng Metatables .
Robert Harvey

5
Các bảng của Robert, Lua chỉ đơn giản là một cách khác để nói "dựa trên nguyên mẫu", đã được đề cập trong danh sách.
Jess Telford

Câu trả lời:


2

Lập trình dạng bảng là một bí danh của mô hình lập trình hướng bảng (TOP). Đối với TOP, khái niệm khóa là một bảng như đối với Lập trình hướng đối tượng (OOP), khái niệm khóa là một đối tượng.

Trong ngôn ngữ TOP nói chung, công cụ, lập trình, vv xử lý các bảng và tập trung vào chúng. Tuy nhiên, một lập trình viên có thể sử dụng mô hình nhất định ngay cả trong các ngôn ngữ không hỗ trợ mô hình đó một cách tự nhiên. Đối với các ngôn ngữ thể hiện không có từ khóa để xác định các lớp và không hỗ trợ cú pháp để vận hành trên các thể hiện có thể được sử dụng để viết mã hướng đối tượng. Ví dụ trong ngôn ngữ C chúng ta có thể định nghĩa một struct và đặt một tham chiếu đến struct đó vào một chức năng để mô phỏng này con trỏ và gọi phương thức. Tuy nhiên, mã OO được viết bằng C ++ hoặc C # sẽ trực quan hơn, nhỏ gọn, dễ đọc, linh hoạt và ít bị lỗi hơn.

Falcon là một ngôn ngữ hỗ trợ TOP một cách tự nhiên theo nghĩa nó chứa các cấu trúc lập trình được xây dựng để tạo thuận lợi cho việc xử lý các bảng. Nói rõ ràng rằng Falcon cấu thành TOP giống như nói rằng C ++ tạo thành OOP. Trong thực tế, chúng là một công cụ, tạo điều kiện hoặc thậm chí thực thi phong cách lập trình nhất định.

Tôi nghĩ, nhưng có lẽ tôi đã sai, rằng chúng ta cũng nên tìm kiếm những ý tưởng HÀNG ĐẦU tại chỗ được tạo ra để vận hành đặc biệt trên các bảng. SQL Server và Dịch vụ phân tích là một lĩnh vực nơi các hoạt động tập trung dữ liệu dạng bảng được thực hiện. Cụ thể, lập trình mô hình dạng bảng mới sử dụng các bảng làm thành phần chính để xử lý. Tôi tin rằng sẽ có giới thiệu hỗ trợ API trực quan hơn cho lập trình dạng bảng trong tương lai. Vì vậy, tôi đã để bản thân mình nói về TOP trong bối cảnh Lập trình mô hình dạng bảng giống như một khía cạnh khác của TOP bên cạnh Falcon.

Lập trình mô hình dạng bảng được sử dụng trong Dịch vụ phân tích thuộc về SQL Server Technologies, do đó, được liên kết chặt chẽ với cơ sở dữ liệu quan hệ và trí tuệ kinh doanh. Chế độ dạng bảng là một cách tiếp cận mới để tạo ra một mô hình ngữ nghĩa kinh doanh thông minh thay thế cho chế độ đa chiều, do đó, nó nên được so sánh với mô hình sau. Mỗi giải pháp khác nhau về cách chúng được tạo, sử dụng và triển khai. Chế độ dạng bảng nhanh hơn để thiết kế, kiểm tra và triển khai. Cũng quen thuộc với những khán giả làm việc với cơ sở dữ liệu quan hệ, Excel hoặc Access. Để biết thêm chi tiết và nội bộ, hãy tham khảo So sánh các giải pháp dạng bảng và đa chiều .

Tôi nghĩ rằng cách tốt nhất để hiểu lập trình mô hình dạng bảng là gì để sử dụng nó trong thực tế. Nhận qua Tabular Modelling (Adventure Works Tutorial) và cảm nhận nó.


1
Những điều này có liên quan gì đến Falcon?
yannis

@YannisRizos Tôi nghĩ rằng câu hỏi là lập trình dạng bảng là gì? về cách hiểu nó và bạn đã cho Falcon làm ví dụ. Hãy suy nghĩ về việc thay đổi câu hỏi của bạn thành Làm thế nào để hiểu Falcon là ngôn ngữ lập trình dạng bảng?
yBee

Bạn có thể vui lòng mở rộng câu trả lời của mình để giải thích cách lập trình mô hình dạng bảng có liên quan gì đến lập trình dạng bảng không? Bởi vì khác với sự giống nhau về tên, chúng dường như là những thứ hoàn toàn khác nhau.
yannis
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.