Qu'est-ce que la programmation tabulaire?

34

Le langage de programmation Falcon s’annonce comme supportant la programmation tabulaire:

Falcon propose six paradigmes de programmation intégrés: procédurale, orientée objet, orientée prototype, fonctionnelle, tabulaire et orientée message. Et vous n'êtes pas obligé de les maîtriser tous; il vous suffit de choisir les ingrédients que vous préférez et de laisser le code suivre votre inspiration.

La documentation développe un peu le fonctionnement de la programmation tabulaire du langage, mais elle se concentre sur les structures et la syntaxe propres au langage et n'explique pas vraiment les avantages du paradigme (à l'exception bien sûr de ceux qui ressortent des exemples simplistes). .

Je suis un peu confus quant à la manière dont tout cela fonctionne en interne. D'après ce que je comprends, Falcon Tableest une structure native qui fonctionne plus ou moins comme une table relationnelle et qui pourrait être décrite (en langage OO) comme un jeu d'enregistrements natif avec des capacités de requête relationnelle. . Une description horrible, je sais (blâmer mes racines OO et des années d'abus de tequila).

Pourriez-vous m'aider à avoir une meilleure idée de ce qu'est la programmation tabulaire et de son fonctionnement en interne?

Précision: je ne parle pas de la programmation par modèle tabulaire .

Yannis
la source
11
Il y a un article à ce sujet: Programmation orientée table . (tl; dr) J'imagine qu'il s'agit d'un mélange entre des tableaux d'objets (comme dans les instances de classe), des bases de données et des feuilles de calcul.
mouviciel
3
L'expression "Programmation orientée table" m'a fait penser à Lua. Lua utilise des tables en tant que structure de données de première classe , mais le langage lui-même peut également être étendu à l'aide de Metatables .
Robert Harvey
5
Robert, les tables de Lua sont simplement une autre façon de dire "à base de prototype", ce qui est déjà mentionné dans la liste.
Jess Telford

Réponses:

2

La programmation tabulaire est un alias du paradigme de programmation orientée table (TOP). Pour TOP, le concept clé est un tableau, tandis que pour la programmation orientée objet (OOP), le concept clé est un objet.

En général, le langage TOP, les outils, la programmation, etc. traitent des tableaux et se concentrent sur eux. Cependant, un programmeur peut utiliser certains paradigmes même dans des langues qui ne les prennent pas en charge de manière native. Par exemple, les langages qui n'ont pas de mots-clés pour la définition de classes et qui ne prennent pas en charge la syntaxe pour opérer sur des instances peuvent être utilisés pour écrire du code orienté objet. Par exemple, en langage C, nous pouvons définir une structure et placer une référence à cette structure dans une fonction afin de simuler cet appel de pointeur et de méthode. Cependant, le code OO écrit en C ++ ou C # sera beaucoup plus intuitif, compact, lisible, flexible et moins sujet aux bogues.

Falcon est un langage qui prend en charge TOP nativly dans les termes qu’il contient dans des structures de programmation intégrées pour faciliter le traitement des tables. Dire que Falcon constitue TOP, c’est comme dire que C ++ constitue un POO. En fait, il s’agit d’un outil qui facilite voire applique certains styles de programmation.

Je pense, mais je me trompe peut-être, que nous devrions également rechercher les idées TOP qui ont été créées pour fonctionner spécialement sur les tables. SQL Server et Analysis Services constituent un domaine dans lequel des opérations sous forme de tableau sont effectuées. En particulier, la nouvelle programmation de modèles tabulaires utilise les tableaux comme éléments clés à traiter. Je pense qu’il y aura un support plus intuitif des API pour la programmation tabulaire dans le futur. Je me suis donc laissé parler de TOP dans le contexte de la programmation modèle tabulaire, comme d'un autre aspect de TOP à côté de Falcon.

La programmation de modèles tabulaires est utilisée dans Analysis Services, qui appartient à SQL Server Technologies . Elle est donc étroitement associée aux bases de données relationnelles et à la veille stratégique. Le mode tabulaire est une nouvelle approche permettant de créer un modèle sémantique d’intelligence d’affaires en tant qu’alternative au mode multidimensionnel . Il convient donc de le comparer. Chaque solution diffère dans la façon dont elles sont créées, utilisées et déployées. Le mode tabulaire est plus rapide à concevoir, à tester et à déployer. Est également familier aux publics qui travaillent avec des bases de données relationnelles, Excel ou Access. Pour plus de détails et d'interne, voir Comparaison de solutions tabulaires et multidimensionnelles .

Je pense que la meilleure façon de comprendre ce qu'est une programmation par modèle tabulaire est de l'utiliser dans la pratique. Passez au travers de la modélisation tabulaire (tutoriel Adventure Works) et ressentez-le.

Y Abeille
la source
1
Qu'est-ce que tout cela a à voir avec Falcon?
Yannis
@YannisRizos Je pensais que la question était: qu'est-ce que la programmation tabulaire? en termes de compréhension et vous avez donné l'exemple de Falcon. Pensez à changer votre question en Comment comprendre Falcon en tant que langage de programmation tabulaire?
Abeille
Pourriez-vous développer votre réponse pour expliquer en quoi la programmation par modèle tabulaire a quelque chose à voir avec la programmation tabulaire? Parce que mis à part la similitude de nom, ils semblent être des choses complètement différentes.
Yannis