domingo, 29 de noviembre de 2009
Breve introduccion a clipper
• Paradigma:Programación Estructurada - Procedural
• Apareció en:1985
• Diseñado por:Nantucket Corporation
• Desarrollador:Nantucket Corporation
• Última versión:CA Clipper 5.3b (20 de mayo de 1997)
• Tipo de dato:Dinámico
• Influido por:xBase, Fox y C
• Sistema operativo:MS-DOS y Windows
Clipper es el nombre comercial de un producto que era un compilador del lenguaje empleado por la base de datos dBase. Durante un tiempo se utilizó mucho para desarrollar aplicaciones de gestión de pequeño tamaño bajo MsDos, pero hoy en día casi no se emplea, al no existir un "sucesor" claro para Windows (las dos herramientas más utilizadas en su lugar son Delphi y Visual Basic).
Aun así, existe un proyecto para crear un Clipper de libre distribución, llamado Harbour. Hay más información en http://www.harbour-project.org/
Clipper es un manejador de archivos con ciertas características de un manejador de Base de Datos y surge como la necesidad de suplir algunas deficiencias del DBASE, siendo la mas resaltante la de ser un Compilador, motivo éste por el cual se acelera la ejecución de un programa escrito en DBASE. Provee además un conjunto de órdenes y funciones propias que han sido desarrolladas con el paso de los años convirtiéndolo en el Manejador de Archivos más popular.
En cuanto a los requerimientos de Hardware Clipper es poco exigente, sin embargo se recomienda que el equipo tenga Disco Duro y por lo menos un Mega de memoria Ram. Sin embargo no es lo mismo cuando se desarrollan aplicaciones ya que los requerimientos dependen en sí más de la aplicación que de Clipper.
De la misma forma en entorno de Software necesario es mínimo, Sistema operativo DOS, y un config.sys con Buffers no menores a 20 y Files no menores de 40.
Breve Historia
Clipper es un lenguaje de programación procedural e imperativo creado en 1985 por Nantucket Corporation y vendido posteriormente a Computer Associates, la que lo comercializó como CA-Clipper. En un principio Clipper se creó como un compilador para el sistema gestor intérprete de bases de datos dBase III (de hecho las versiones estacionales de Nantucket incluían una etiqueta que lo indicaba así), pero con el tiempo el producto evolucionó y maduró, convirtiéndose en un lenguaje compilado más poderoso que el original, no sólo por sus propias implementaciones sino también por las ampliaciones desarrolladas por terceros en C, Ensamblador y Pascal, de los que fue heredando características. Esto lo convirtió en la herramienta líder de desarrollo de aplicaciones de bases de datos relacionales bajo sistema operativo MS-DOS, sobre todo programas de gestión, contabilidad y facturación (SAGE-SP, líder del mercado español, lo usa para ContaPlus y FacturaPlus), agendas comerciales y programas de tarificación (aproximadamente el 80% de las compañías de seguros de España lo utilizaron en los programas de sus agentes).
Características
A diferencia de otros lenguajes xBase, Clipper nunca contó con un modo intérprete, similar al de dBase. Sus utilidades para manejo de base de datos, tales como la de creación de tablas (DBU), se entregaban con el código fuente escrito en Clipper e incluido, el usuario podía adaptarlas a sus necesidades si quería. Se aportaban también muchas rutinas escritas en C y Ensamblador a las que el usuario podía acudir, incluso ampliar y crear bibliotecas de pre-enlace completas.
Clipper trabaja en modo compilador puro generando un código objeto binario; el paquete proveía también un enlazador (RTLINK o DLINK) que con el módulo objeto y las librerías de pre-enlace generaba un módulo ejecuble directo. Esto último le otorgaba a las aplicaciones Clipper una velocidad que otros manejadores de bases de datos no poseían, y, como desventaja, la necesidad de recompilar y enlazar nuevamente cada vez que se corregía algún error en el código fuente (la depuración era lenta).
Posee características que fueron muy atractivas para su época y su entorno de trabajo (DOS), tales como: manejo propio de memoria virtual (RAM en disco); manejo de memoria extendida, las aplicaciones podían superar la barrera de los 640Kb de RAM impuesta por MS-DOS; rutinas y librerías pueden cargarse sólo cuando son necesarias y se descargan de RAM cuando ya no hacen falta (enlace y overlays dinámicos); la cantidad de registros por tablas estaba sólo limitada a la capacidad del disco; gran robustez en las aplicaciones, particularmente en las diseñadas para cliente-servidor (red LAN), etc.
Si bien no poseía prácticamente funciones de cálculo tales como las trigonométricas, que otros lenguajes como FoxPro si incorporaron; el usuario las podía fácilmente elaborar en C y utilizarlas como cualquier otra función de librería propia del paquete, ventaja que devenía de que el compilador Clipper y muchas de sus librerías estaban casi completamente desarrolladas en C.
Su forma, administración, almacenamiento e intercambio de pantallas era sencillo, efectivo y veloz; lo que otorgaba buen dinamismo a las aplicaciones desarrolladas con Clipper.
El lenguaje en si era poderoso, contando con una gran cantidad de sentencias, funciones, administración de memoria y variables que permitían al programador desarrollos muy flexibles y eficientes; en forma razonablemente rápida. También el paquete incluía un completo "manual en línea navegable", que se cargaba en memoria RAM, a requerimiento del programador, y se accedía por la sola presión de un par de teclas.
En su larga época dorada, ha sido, probablemente, el lenguaje gestor de bases de datos relacionales de "bajo y mediano porte" más utilizado en el mundo. Aun hoy existen muchos desarrolladores Clipper (algunos agrupados comunidades y con foros en Internet), que elaboran aplicaciones, incluso estilo Windows, usando sus propias librerías gráficas escritas en C y Ensamblador.
Sin Compararlo con DBASE podríamos decir qué sus características son:
- Compilador Profesional.
- Un conjunto de órdenes y Funciones que permiten un mejor y más fácil manejo de la programación.
- Permite programación por capas, no existiendo por lo tanto límite para la dimensión de un programa.
- Permite la definición de funciones por parte del usuario.
- Puede conectarse con rutinas externas de otros lenguajes.