Cos'è la programmazione tabulare?


34

Il linguaggio di programmazione Falcon si pubblicizza come supporto alla programmazione tabellare:

Falcon offre sei paradigmi di programmazione integrati: procedurali, orientati agli oggetti, orientati ai prototipi, funzionali, tabulari e orientati ai messaggi. E non devi dominarli tutti; devi solo scegliere gli ingredienti che preferisci e lasciare che il codice segua la tua ispirazione.

La documentazione si espande un po 'su come funziona il sapore della programmazione tabellare del linguaggio, ma è focalizzata sulle strutture e sulla sintassi del linguaggio stesso e non spiega realmente i vantaggi del paradigma (tranne ovviamente quelli che sono ovvi dagli esempi semplicistici) .

Sono un po 'confuso su come tutto funzioni internamente, da quello che capisco Falcon Tableè una struttura nativa che funziona più o meno come una tabella relazionale e potrebbe essere descritta (in vernacolo OO) come un set di record nativo con funzionalità di query relazionale . Una descrizione orribile, lo so (incolpo le mie radici OO e anni di maltrattamenti di tequila).

Potresti aiutarmi a farmi un'idea migliore di cosa sia la programmazione tabellare e come funziona internamente?

Precisazione: io non chiedendo tabulare modello di programmazione .


11
C'è un articolo a riguardo: Programmazione orientata alla tabella . (tl; dr) Immagino che questo sia un mix tra matrici di oggetti (come nelle istanze di classe), database e fogli di calcolo.
mouviciel,

3
La frase "Programmazione orientata al tavolo" mi ha fatto pensare a Lua. Lua utilizza le tabelle come una struttura di dati di prima classe , ma il linguaggio stesso può essere esteso anche tramite Metatables .
Robert Harvey,

5
Robert, le tabelle di Lua sono semplicemente un altro modo di dire "basato sui prototipi", che è già menzionato nell'elenco.
Jess Telford,

Risposte:


2

La programmazione tabulare è un alias del paradigma di programmazione orientata alle tabelle (TOP). Per TOP il concetto chiave è una tabella, come per la programmazione orientata agli oggetti (OOP), il concetto chiave è un oggetto.

In generale, il linguaggio TOP, gli strumenti, la programmazione ecc. Si occupano delle tabelle e si concentrano su di esse. Tuttavia, un programmatore può utilizzare determinati paradigmi anche in lingue che non supportano nativamente quel paradigma. Ad esempio, le lingue che non dispongono di parole chiave per la definizione delle classi e che non supportano la sintassi per operare su istanze possono essere utilizzate per scrivere codice orientato agli oggetti. Ad esempio, nel linguaggio C possiamo definire una struttura e inserire un riferimento a quella struttura in una funzione al fine di simulare questo puntatore e invocare il metodo. Tuttavia, il codice OO scritto in C ++ o C # sarà molto più intuitivo, compatto, leggibile, flessibile e meno soggetto a bug.

Falcon è un linguaggio che supporta TOP in modo nativo in quanto contiene strutture di programmazione integrate per facilitare la gestione delle tabelle. Anche se dire che Falcon costituisce TOP è come dire che C ++ costituisce OOP. In realtà, sono uno strumento che facilita o addirittura impone un certo stile di programmazione.

Penso, ma forse mi sbaglio, che dovremmo cercare idee TOP anche sul posto che è stato creato per operare soprattutto sui tavoli. SQL Server e Analysis Services sono un'arena in cui vengono eseguite operazioni incentrate sui dati tabulari. In particolare il nuovo modello di programmazione tabulare utilizza le tabelle come elementi chiave da affrontare. Credo che in futuro verrà introdotto un supporto API più intuitivo per la programmazione tabulare. Quindi mi sono permesso di parlare di TOP nel contesto della programmazione del modello tabulare proprio come un altro aspetto di TOP accanto a Falcon.

La programmazione del modello tabulare viene utilizzata in Analysis Services che appartiene alle tecnologie di SQL Server, pertanto è strettamente associata ai database relazionali e alla business intelligence. La modalità tabulare è un nuovo approccio per la creazione di un modello semantico di business intelligence come alternativa alla modalità multidimensionale, quindi dovrebbe essere confrontato con quest'ultimo. Ogni soluzione differisce nel modo in cui vengono creati, utilizzati e distribuiti. La modalità tabulare è più veloce da progettare, testare e distribuire. Conosce anche il pubblico che lavora con database relazionali, Excel o Access. Per maggiori dettagli e interni fare riferimento a Confronto tra soluzioni tabulari e multidimensionali .

Penso che il modo migliore per capire cosa sia una programmazione di modello tabulare sia usarlo nella pratica. Passa attraverso la modellazione tabulare (tutorial di Adventure Works) e sentilo.


1
Cosa c'entra questo con Falcon?
yannis,

@YannisRizos Ho pensato che la domanda è: cos'è la programmazione tabulare? in termini di come capirlo e hai dato Falcon come esempio. Pensi di cambiare la tua domanda in Come capire Falcon come linguaggio di programmazione tabulare?
yBee

Potresti ampliare la tua risposta per spiegare come la programmazione di modelli tabulari abbia qualcosa a che fare con la programmazione tabulare? Perché a parte la somiglianza nel nome, sembrano essere cose completamente diverse.
yannis,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.