Що таке табличне програмування?


34

Мова програмування Falcon рекламує себе як підтримує табличне програмування:

Falcon пропонує шість інтегрованих парадигм програмування: процедурна, об'єктно-орієнтована, прототипово орієнтована, функціональна, таблична та повідомлення. І вам не доведеться опановувати їх усіма; вам просто потрібно вибрати інгредієнти, які ви віддаєте перевагу, і нехай код слідує за вашим натхненням.

Документація розширює трохи про те , як аромат кошти мови табличного програмування працює, але він зосередився на власних структури і синтаксисі мови, і не пояснює переваги парадигми ( за винятком, звичайно , тих , які очевидні з спрощених прикладів) .

Я трохи розгублений у тому, як вся справа працює внутрішньо, з того, що я розумію, Falcon Table- це рідна структура, яка більш-менш працює як реляційна таблиця і могла бути описана (в OO просторічно) як рідний набір записів із можливостями реляційного запиту. . Я знаю жахливий опис (звинувачую моє коріння в ООС і роки зловживання текілою).

Чи можете ви допомогти мені краще зрозуміти, що таке табличне програмування і як воно працює всередині?

Уточнення: я не запитую про програмування табличної моделі .


11
Про це є стаття: Табличне орієнтоване програмування . (tl; dr) Я думаю, що це поєднання між масивами об'єктів (як в екземплярах класу), базами даних та електронними таблицями.
— mouviciel

3
Фраза «Таблично-орієнтоване програмування» змусила мене думати про Луа. Lua використовує таблиці як першокласну структуру даних , але саму мову можна також розширити за допомогою Metatables .
— Роберт Харві

5
Таблиці Роберта, Луа - це просто інший спосіб сказати "заснований на прототипі", про який вже згадується в списку.
— Джесс Телфорд

Відповіді:


2

Табличне програмування - псевдонім парадигми програмування, орієнтованого на таблицю (TOP). Для ТОП ключовим поняттям є таблиця, як для об'єктно-орієнтованого програмування (OOP), ключовим поняттям є об'єкт.

Взагалі мова ТОП, інструмент, програмування тощо займаються таблицями та зосереджуються на них. Однак програміст може використовувати певну парадигму навіть у мовах, які не підтримують цю парадигму. Наприклад, мови, які не мають ключових слів для визначення класів і не підтримують синтаксис для роботи над екземплярами, можуть використовуватися для запису об'єктно-орієнтованого коду. Наприклад, на мові C ми можемо визначити структуру і поставити посилання на цю структуру у функцію, щоб імітувати цей виклик вказівника та методу. Однак код OO, написаний на C ++ або C #, буде набагато більш інтуїтивним, компактним, розбірливим, гнучким і менш схильним до помилок.

Falcon - це мова, яка підтримує TOP nativly, оскільки вона містить вбудовані структури програмування для полегшення роботи з таблицями. Хоча сказати, що Falcon становить TOP, це як сказати, що C ++ є OOP. Насправді, вони є інструментом, який полегшує або навіть застосовує певний стиль програмування.

Я думаю, але, можливо, я помиляюся, що ми повинні шукати ТОП ідей також на місці, яке створене для роботи особливо на таблицях. Служби SQL Server та служби аналізу - це арена, на якій виконуються операції, орієнтовані на табличні дані. Зокрема, нове табличне моделювання моделей використовує таблиці як ключові елементи для вирішення. Я вірю, що в майбутньому буде впроваджена більш інтуїтивна підтримка API для табличного програмування. Тож я дозволяю собі говорити про ТОП у контексті табличного моделювання програмою, як ще один аспект ТОП, крім Falcon.

Табличне моделювання програмування використовується в службах аналізу, що належить до технологій SQL Server, тому тісно пов'язане з реляційними базами даних та бізнес-розвідками. Табличний режим - це новий підхід для створення семантичної моделі бізнес-аналітики як альтернативи багатовимірному режиму, тому його слід порівнювати з останнім. Кожне рішення відрізняється тим, як вони створюються, використовуються та розгортаються. Табличний режим швидше розробляти, тестувати та розгортати. Також знайомий аудиторіям, які працюють з реляційними базами даних, Excel або Access. Детальніше та внутрішні відомості див. У порівнянні табличних та багатовимірних рішень .

Я думаю, що найкращий спосіб зрозуміти, що таке табличне модельне програмування - це використовувати його на практиці. Пройдіться табличним моделюванням (Adventure Works Tutorial) і відчуйте це.


1
Яке відношення має до Falcon?
— янніс

@YannisRizos Я думав, що питання Що таке табличне програмування? з точки зору того, як це зрозуміти, і ти наводив Falcon як приклад. Подумайте про те, щоб змінити своє питання на Як зрозуміти Falcon як табличну мову програмування?
— yBee

Скажіть, будь ласка, свою відповідь, щоб пояснити, як програмування табличної моделі має щось спільне з табличним програмуванням? Оскільки, крім подібності в імені, вони здаються абсолютно різними речами.
— янніс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.