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


34

Язык программирования Falcon рекламирует себя как поддерживающий табличное программирование:

Falcon предоставляет шесть интегрированных парадигм программирования: процедурный, объектно-ориентированный, прототипно-ориентированный, функциональный, табличный и ориентированный на сообщения. И вам не нужно осваивать их все; вам просто нужно выбрать ингредиенты, которые вы предпочитаете, и позволить коду следовать вашему вдохновению.

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

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

Не могли бы вы помочь мне лучше понять, что такое табличное программирование и как оно работает внутри?

Пояснение: я не спрашиваю о программировании табличной модели .


11
Об этом есть статья: Табличное программирование . (tl; dr) Я предполагаю, что это сочетание массивов объектов (как в экземплярах классов), баз данных и электронных таблиц.
— Mouviciel

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

5
Роберт, таблицы Луа - просто еще один способ сказать «основанный на прототипе», который уже упоминается в списке.
— Джесс Телфорд

Ответы:


2

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

В общем, язык TOP, инструмент, программирование и т. Д. Работают с таблицами и фокусируются на них. Однако программист может использовать определенную парадигму даже в языках, которые не поддерживают эту парадигму. Например, языки, которые не имеют ключевых слов для определения классов и не поддерживают синтаксис для работы с экземплярами, могут использоваться для написания объектно-ориентированного кода. Например, в языке C мы можем определить структуру и поместить ссылку на эту структуру в функцию, чтобы смоделировать этот указатель и вызов метода. Однако ОО-код, написанный на C ++ или C #, будет гораздо более интуитивным, компактным, разборчивым, гибким и менее подверженным ошибкам.

Сокол - это язык, который поддерживает TOP в терминах, содержащихся в встроенных структурах программирования, облегчающих работу с таблицами. Хотя сказать, что Falcon представляет собой TOP, все равно, что сказать, что C ++ представляет собой ООП. Фактически, они являются инструментом, который облегчает или даже усиливает определенный стиль программирования.

Я думаю, но, возможно, я ошибаюсь, что мы должны искать ТОП-идеи и в том месте, которое создано для работы, особенно с таблицами. SQL Server и службы Analysis Services - это сфера, в которой выполняются операции, ориентированные на табличные данные. В частности, новое программирование табличной модели использует таблицы в качестве ключевых элементов для работы. Я считаю, что в будущем будет введена более интуитивная поддержка API для табличного программирования. Поэтому я позволю себе говорить о TOP в контексте программирования табличных моделей, как о другом аспекте TOP, кроме Falcon.

Программирование на основе табличных моделей используется в службах Analysis Services, которые принадлежат технологиям SQL Server, поэтому тесно связаны с реляционными базами данных и бизнес-аналитикой. Табличный режим - это новый подход к созданию семантической модели бизнес-аналитики в качестве альтернативы многомерному режиму, поэтому его следует сравнивать с последним. Каждое решение отличается тем, как они создаются, используются и развертываются. Табличный режим быстрее разрабатывать, тестировать и развертывать. Также знакома аудитории, которая работает с реляционными базами данных, Excel или Access. Для получения более подробной информации и внутренних деталей см. Сравнение табличных и многомерных решений .

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


1
Какое отношение это имеет к Соколу?
— Яннис

@YannisRizos Я думал, что вопрос в том, что такое табличное программирование? с точки зрения того, как это понять, и вы привели Сокол в качестве примера. Подумайте об изменении своего вопроса на Как понять Falcon как язык табличного программирования?
— yBee

Не могли бы вы расширить свой ответ, чтобы объяснить, как программирование табличных моделей имеет какое-либо отношение к табличному программированию? Потому что, кроме сходства в названии, они кажутся совершенно разными вещами.
— Яннис
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.