O que é programação tabular?

34

A linguagem de programação Falcon se anuncia como suportando programação tabular:

O Falcon fornece seis paradigmas de programação integrados: processual, orientado a objetos, orientado a protótipo, funcional, tabular e orientado a mensagens. E você não precisa dominar todos eles; você só precisa escolher os ingredientes de sua preferência e deixar o código seguir sua inspiração.

A documentação se expande um pouco sobre como funciona o sabor da programação tabular da linguagem, mas é focada nas próprias estruturas e sintaxe da linguagem e não explica realmente os benefícios do paradigma (exceto, é claro, os que são óbvios nos exemplos simplistas) .

Estou um pouco confuso sobre como tudo funciona internamente, pelo que entendo o Falcon's Tableé uma estrutura nativa que funciona mais ou menos como uma tabela relacional e pode ser descrita (no vernáculo OO) como um conjunto de registros nativo com recursos de consulta relacional . Uma descrição horrível, eu sei (culpo minhas raízes OO e anos de abuso de tequila).

Você poderia me ajudar a ter uma idéia melhor do que é a programação tabular e como ela funciona internamente?

Esclarecimento: Eu estou não perguntando sobre Tabular modelo de programação .

yannis
fonte
11
Há um artigo sobre isso: Programação Orientada a Tabela . (tl; dr) Acho que essa é uma mistura entre matrizes de objetos (como em instâncias de classe), bancos de dados e planilhas.
Mouviciel 19/03/2013
3
A frase "programação orientada a tabela" me fez pensar em Lua. Lua usa tabelas como uma estrutura de dados de primeira classe , mas o próprio idioma também pode ser estendido usando Metatables .
Robert Harvey
5
Robert, as tabelas de Lua são simplesmente outra maneira de dizer "baseado em protótipo", que já é mencionado na lista.
precisa

Respostas:

2

A programação tabular é um alias do paradigma de programação orientada a tabela (TOP). Para TOP, o conceito de chave é uma tabela, e para Programação Orientada a Objetos (OOP), o conceito de chave é um objeto.

Em geral, a linguagem TOP, a ferramenta, a programação etc. lidam com as tabelas e concentram-se nelas. No entanto, um programador pode utilizar certo paradigma, mesmo em linguagens que não suportam nativamente esse paradigma. Por exemplo, idiomas que não possuem palavras-chave para definir classes e não suportam sintaxe para operar em instâncias podem ser usados ​​para escrever código orientado a objetos. Por exemplo, na linguagem C, podemos definir uma estrutura e colocar uma referência a essa estrutura em uma função para simular essa chamada de ponteiro e método. No entanto, o código OO escrito em C ++ ou C # será muito mais intuitivo, compacto, legível, flexível e menos propenso a erros.

O Falcon é uma linguagem que suporta TOP originalmente, em termos que contém estruturas de programação incorporadas para facilitar o tratamento de tabelas. Embora dizer que Falcon constitui TOP é como dizer que C ++ constitui POO. De fato, eles são uma ferramenta que facilita ou mesmo impõe certo estilo de programação.

Eu acho, mas talvez eu esteja errado, que deveríamos buscar também as ideias TOP criadas para operar especificamente nas tabelas. O SQL Server e o Analysis Services são uma arena em que são executadas operações focadas em dados tabulares. Em particular, a nova programação de modelo de tabela usa tabelas como elementos-chave para lidar. Acredito que haverá um suporte mais intuitivo à API para programação tabular no futuro. Então, deixei-me falar sobre o TOP no contexto da Programação de Modelos Tabulares, como um outro aspecto do TOP ao lado do Falcon.

A Programação de Modelo Tabular é usada no Analysis Services, que pertence ao SQL Server Technologies, por isso está intimamente associada a bancos de dados relacionais e inteligência de negócios. O modo tabular é uma nova abordagem para a criação de um modelo semântico de business intelligence como uma alternativa ao modo multidimensional , devendo ser comparado ao último. Cada solução difere na maneira como são criadas, usadas e implantadas. O modo tabular é mais rápido para projetar, testar e implantar. Também é familiar para o público que trabalha com bancos de dados relacionais, Excel ou Access. Para obter mais detalhes e detalhes internos, consulte Comparando soluções tabulares e multidimensionais .

Eu acho que a melhor maneira de entender o que é uma Programação de Modelo Tabular é usá-la na prática. Conheça a Modelagem Tabular (Tutorial do Adventure Works) e sinta-o.

yBee
fonte
1
O que isso tem a ver com o Falcon?
Yannis
@YannisRizos Eu pensei que a pergunta era: o que é programação tabular? em termos de como entender e você deu o Falcon como exemplo. Pense em mudar sua pergunta para Como entender o Falcon como linguagem de programação tabular?
yBee
Você poderia, por favor, expandir sua resposta para explicar como a programação de modelos tabulares tem algo a ver com a programação tabular? Porque, além da semelhança no nome, eles parecem coisas completamente diferentes.
Yannis