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


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.