Was ist Tabellenprogrammierung?

34

Die Programmiersprache Falcon wirbt als unterstützende Tabellenprogrammierung:

Falcon bietet sechs integrierte Programmierparadigmen: prozedural, objektorientiert, prototyporientiert, funktional, tabellarisch und nachrichtenorientiert. Und Sie müssen nicht alle beherrschen; Sie müssen nur die Zutaten auswählen, die Sie bevorzugen, und den Code Ihrer Inspiration folgen lassen.

Die Dokumentation geht ein wenig auf die Funktionsweise der tabellarischen Programmierung in der Sprache ein, konzentriert sich jedoch auf die eigenen Strukturen und die Syntax der Sprache und erläutert die Vorteile des Paradigmas nicht wirklich (außer natürlich die, die aus den simplen Beispielen hervorgehen). .

Ich bin ein bisschen verwirrt darüber, wie das Ganze intern funktioniert. Nach meinem Verständnis ist Falcon Tableeine native Struktur, die mehr oder weniger als relationale Tabelle funktioniert und (in der OO-Sprache) als native Datensatzgruppe mit relationalen Abfragemöglichkeiten beschrieben werden kann . Eine schreckliche Beschreibung, die ich kenne (beschuldige meine OO-Wurzeln und jahrelangen Missbrauch von Tequila).

Können Sie mir helfen, eine bessere Vorstellung davon zu bekommen, worum es bei der tabellarischen Programmierung geht und wie sie intern funktioniert?

Klarstellung: Ich frage nicht nach Tabellenmodellprogrammierung .

yannis
quelle
11
Es gibt einen Artikel darüber: Tabellenorientierte Programmierung . (tl; dr) Ich denke, dies ist eine Mischung aus Arrays von Objekten (wie in Klasseninstanzen), Datenbanken und Tabellenkalkulationen.
Mouviciel
3
Der Satz "Tabellenorientierte Programmierung" ließ mich an Lua denken. Lua verwendet Tabellen als erstklassige Datenstruktur , die Sprache selbst kann jedoch auch mithilfe von Metatables erweitert werden .
Robert Harvey
5
Robert, Luas Tabellen sind einfach eine andere Art, "Prototyp-basiert" zu sagen, die bereits in der Liste erwähnt ist.
Jess Telford

Antworten:

2

Die tabellarische Programmierung ist ein Alias ​​des Paradigmas der tabellenorientierten Programmierung (TOP). Für TOP ist das Schlüsselkonzept eine Tabelle, während für Object Oriented Programming (OOP) das Schlüsselkonzept ein Objekt ist.

Im Allgemeinen behandeln TOP-Sprache, Tool, Programmierung usw. Tabellen und konzentrieren sich darauf. Ein Programmierer kann jedoch ein bestimmtes Paradigma auch in Sprachen verwenden, die dieses Paradigma von Haus aus nicht unterstützen. Beispielsweise können Sprachen zum Schreiben von objektorientiertem Code verwendet werden, die keine Schlüsselwörter zum Definieren von Klassen haben und keine Syntax für das Bearbeiten von Instanzen unterstützen. Beispielsweise können wir in der Sprache C eine Struktur definieren und eine Referenz auf diese Struktur in eine Funktion einfügen, um diesen Zeiger- und Methodenaufruf zu simulieren . In C ++ oder C # geschriebener OO-Code ist jedoch viel intuitiver, kompakter, lesbarer, flexibler und weniger fehleranfällig.

Der Falcon ist eine Sprache, die TOP nativ unterstützt und eingebaute Programmierstrukturen enthält, um den Umgang mit Tabellen zu erleichtern. Zu sagen, dass Falcon TOP ist, ist wie zu sagen, dass C ++ OOP ist. Tatsächlich handelt es sich um ein Tool, das einen bestimmten Programmierstil erleichtert oder sogar erzwingt.

Ich denke, aber vielleicht irre ich mich, dass wir TOP-Ideen auch an Ort und Stelle suchen sollten, die speziell für das Bedienen von Tischen geschaffen wurden. SQL Server und Analysis Services sind ein Bereich, in dem Operationen ausgeführt werden, die sich auf tabellarische Daten konzentrieren. Insbesondere in der neuen tabellarischen Modellprogrammierung werden Tabellen als Schlüsselelemente verwendet. Ich glaube, dass es in Zukunft eine intuitivere API-Unterstützung für die tabellarische Programmierung geben wird. Deshalb habe ich mich über TOP im Kontext der tabellarischen Modellprogrammierung als einen weiteren Aspekt von TOP neben Falcon unterhalten lassen.

Die tabellarische Modellprogrammierung wird in Analysis Services verwendet, das zu SQL Server Technologies gehört und daher eng mit relationalen Datenbanken und Business Intelligence verknüpft ist. Der tabellarische Modus ist ein neuer Ansatz zur Erstellung eines semantischen Business-Intelligence-Modells als Alternative zum mehrdimensionalen Modus. Daher sollte letzteres verglichen werden. Jede Lösung unterscheidet sich darin, wie sie erstellt, verwendet und bereitgestellt wird. Der Tabellenmodus ist schneller beim Entwerfen, Testen und Bereitstellen. Ist auch für Benutzergruppen bekannt, die mit relationalen Datenbanken, Excel oder Access arbeiten. Weitere Informationen und Interna finden Sie unter Vergleichen von tabellarischen und mehrdimensionalen Lösungen .

Ich denke, der beste Weg, um zu verstehen, was eine tabellarische Modellprogrammierung ist, besteht darin, sie in der Praxis anzuwenden. Gehen Sie durch die tabellarische Modellierung (Adventure Works Tutorial) und fühlen Sie es.

yBee
quelle
1
Was hat das alles mit Falcon zu tun?
Yannis
@YannisRizos Ich dachte, die Frage ist Was ist tabellarische Programmierung? in Bezug darauf, wie man es versteht, und Sie gaben Falcon als Beispiel. Überlegen Sie, ob Sie Ihre Frage in " Wie verstehe ich Falcon als tabellarische Programmiersprache?"
yBee
Könnten Sie bitte Ihre Antwort erweitern, um zu erklären, wie Tabellenmodellprogrammierung etwas mit Tabellenprogrammierung zu tun hat? Denn abgesehen von der Ähnlichkeit im Namen scheinen sie ganz andere Dinge zu sein.
Yannis