¿Qué es la programación tabular?

34

El lenguaje de programación Falcon se anuncia a sí mismo como compatible con la programación tabular:

Falcon proporciona seis paradigmas de programación integrados: procesal, orientado a objetos, orientado a prototipos, funcional, tabular y orientado a mensajes. Y no tienes que dominarlos a todos; solo necesita elegir los ingredientes que prefiera y dejar que el código siga su inspiración.

La documentación se amplía un poco sobre cómo funciona el sabor del lenguaje de la programación tabular, pero se centra en las estructuras y la sintaxis propias del lenguaje, y realmente no explica los beneficios del paradigma (excepto, por supuesto, los que son obvios en los ejemplos simplistas) .

Estoy un poco confundido sobre cómo funciona todo internamente, por lo que entiendo que Falcon Tablees una estructura nativa que funciona más o menos como una tabla relacional y podría describirse (en OO vernáculo) como un conjunto de registros nativo con capacidades de consulta relacional . Una descripción horrible, lo sé (culpo a mis raíces OO y años de abusar del tequila).

¿Podría ayudarme a tener una mejor idea de qué se trata la programación tabular y cómo funciona internamente?

Aclaración: estoy no preguntando por tabular modelo de programación .

Yannis
fuente
11
Hay un artículo al respecto: programación orientada a tablas . (tl; dr) Supongo que esta es una mezcla entre matrices de objetos (como en las instancias de clase), bases de datos y hojas de cálculo.
Mouviciel
3
La frase "programación orientada a la mesa" me hizo pensar en Lua. Lua usa tablas como una estructura de datos de primera clase , pero el lenguaje en sí también se puede extender usando Metatables .
Robert Harvey
55
Robert, las tablas de Lua son simplemente otra forma de decir "basado en prototipos", que ya se menciona en la lista.
Jess Telford

Respuestas:

2

La programación tabular es un alias del paradigma de programación orientada a tablas (TOP). Para TOP, el concepto clave es una tabla, mientras que para la programación orientada a objetos (OOP), el concepto clave es un objeto.

En general, el lenguaje TOP, la herramienta, la programación, etc. tratan las tablas y se centran en ellas. Sin embargo, un programador puede utilizar cierto paradigma incluso en lenguajes que no admiten ese paradigma de forma nativa. Por ejemplo, los lenguajes que no tienen palabras clave para definir clases y no admiten la sintaxis para operar en instancias pueden usarse para escribir código orientado a objetos. Por ejemplo, en lenguaje C podemos definir una estructura y poner una referencia a esa estructura en una función para simular esta invocación de puntero y método. Sin embargo, el código OO escrito en C ++ o C # será mucho más intuitivo, compacto, legible, flexible y menos propenso a errores.

El Falcon es un lenguaje que admite TOP de forma nativa en términos de que contiene estructuras de programación integradas para facilitar el manejo de tablas. Aunque decir que Falcon constituye TOP es como decir que C ++ constituye OOP. De hecho, son una herramienta que facilita o incluso impone cierto estilo de programación.

Creo, pero tal vez me equivoque, que deberíamos buscar ideas TOP también en el lugar creado para operar especialmente en las mesas. SQL Server y Analysis Services son un campo donde se realizan operaciones tabulares centradas en datos. En particular, la nueva Programación de modelo tabular utiliza tablas como elementos clave para tratar. Creo que en el futuro se introducirá un soporte API más intuitivo para la programación tabular. Así que me permití hablar sobre TOP en el contexto de la Programación de modelos tabulares como otro aspecto de TOP junto a Falcon.

La programación de modelo tabular se usa en Analysis Services, que pertenece a las tecnologías de SQL Server, por lo que está estrechamente asociada con las bases de datos relacionales y la inteligencia empresarial. El modo tabular es un nuevo enfoque para crear un modelo semántico de inteligencia empresarial como alternativa al modo multidimensional, por lo que debe compararse con este último. Cada solución difiere en cómo se crean, usan e implementan. El modo tabular es más rápido de diseñar, probar e implementar. También es familiar para el público que trabaja con bases de datos relacionales, Excel o Access. Para obtener más detalles y aspectos internos, consulte Comparación de soluciones tabulares y multidimensionales .

Creo que la mejor manera de entender qué es una Programación de modelo tabular es usarla en la práctica. Obtener a través tabular Modelado (Adventure Works Tutorial) y sentirlo.

yee
fuente
1
¿Qué tiene que ver todo esto con Falcon?
Yannis
@ YannisRizos Pensé que la pregunta es ¿Qué es la programación tabular? en términos de cómo entenderlo y le diste a Falcon como ejemplo. Piense en cambiar su pregunta a ¿Cómo entender a Falcon como lenguaje de programación tabular?
YBee
¿Podría por favor ampliar su respuesta para explicar cómo la programación de modelos tabulares tiene algo que ver con la programación tabular? Porque aparte de la similitud en el nombre, parecen ser cosas completamente diferentes.
Yannis