Язык программирования Falcon рекламирует себя как поддерживающий табличное программирование:
Falcon предоставляет шесть интегрированных парадигм программирования: процедурный, объектно-ориентированный, прототипно-ориентированный, функциональный, табличный и ориентированный на сообщения. И вам не нужно осваивать их все; вам просто нужно выбрать ингредиенты, которые вы предпочитаете, и позволить коду следовать вашему вдохновению.
Документация расширяет немного о том , как аромат средства языка табличного программирования работает, но он сосредоточился на собственных структуры и синтаксисе языка, и не объясняет преимущества парадигмы ( за исключением, конечно , тех , которые очевидны из упрощенных примеров) ,
Я немного сбит с толку тем, как все это работает внутренне, из того, что я понимаю, Falcon Table
- это нативная структура, которая работает более или менее как реляционная таблица и может быть описана (в ОО-языке) как нативный набор записей с возможностями реляционных запросов , Ужасное описание, я знаю (обвиняют мои корни OO и годы злоупотребления текилой).
Не могли бы вы помочь мне лучше понять, что такое табличное программирование и как оно работает внутри?
Пояснение: я не спрашиваю о программировании табличной модели .
Ответы:
Табличное программирование является псевдонимом парадигмы таблично-ориентированного программирования (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) и почувствуйте его.
источник