Seguí con entusiasmo el desarrollo de C3 (Clipper Compatible Compiler), desde 2003, por aquella época, incluía un compilador para DOS en modo real (dc3.exe), totalmente compatible con el de Clipper 5.2/5.3, era más moderno, y me daba la impresión de ser más rápido compilando que el original. Además los archivos objeto que se generaban eran idénticos a los del original, por lo que a efectos prácticos eran intercambiables. Finalmente esos objetos se enlazaban con las bibliotecas originales de Clipper usando el enlazador DOS que usáramos con Clipper.

Era un trabajo muy meritorio, pero titánico si consideramos que se llevó a cabo por un solo hombre, Bruno Cantero, el que fuera uno de los desarrolladores principales en Harbour.

En seguida se agregó un compilador para Win32 basado en consola (c3.exe), que tenía la capacidad de generar ejecutables para Win32, basados en las librerías ccc32.lib, que reemplazaba a clipper.lib y extend32.lib que hacía lo propio con extend.lib. En este escenario, se enlazaba con Turbo Linker de Borland que venía incluido en la distribución de C3.

Además se incluían las versiones para Windows de los drivers RDD (Replaceable Database Drivers) NTX (Clipper), DBF/NDX (dBase), CDX (FoxPro), DEL (campos delimitados) y SDF (registros de longitud fija).

Se iría manteniendo activamente, con diferentes revisiones, el lanzamiento de la versión 2.0 en 2005, y sus correspondientes actualizaciones hasta 2007. Sin embargo a partir de ahí, el proyecto entraría en una fase de parada técnica, hasta que 7 años después, se lanzaría la versión 3.0.

Esta versión 3, añade el soporte nativo Win64, esto quiere decir que todas las herramientas se encuentran disponibles para Win32 y Win64, pero que además permiten generar código de 32 y 64 bits según nos convenga. En este caso, el enlazado se efectúa con Microsoft Linker, también incluido en la distribución.

El punto de entrada es el IDE, con una apariencia similar al de Delphi 7 o Lazarus, pero con una funcionalidad bastante reducida. Así, mientras que para el diseño de formularios de manera visual, es más que adecuado, a la hora de editar código, adolece de falta de autocompletado, o mayores facilidades en la navegación por el código y la gestión de proyectos. A cambio, está disponible tanto en castellano como en inglés, con tan solo cambiar una opción.

La instalación del paquete completo es realmente compacta, conformándose con apenas 100 Mb. en disco, que incluyen las versiones x86 y x64. Esta cantidad se ve reducida a menos de 70 Mb. si prescindimos de los ejemplos. En cuanto a memoria necesaria, bastan 64 Mb. libres para poder comenzar a desarrollar, una cifra que poco a poco irá en aumento a medida que aumentemos la complejidad. No obstante, tanto el propio C3 como los programas generados, tiene requisitos de hardware tan asequibles, que lo hacen apto para casi cualquier PC.

La ayuda es bastante escasa, y muy incompleta. Si lo sumamos a las carencias del IDE, vemos que es un gran impedimento para desarrolladores que no estén familiarizados con Clipper Compatible Compiler (C3), o al menos con xBase.

La librería de GUI inspirada en la VCL de Borland, es muy intuitiva, y funciona muy bien. Quizás es porque me la conozco bastante. En cuanto a documentación, la cubre al completo, pero sin demasiado detalles.

El compilador, hace su trabajo a una buena velocidad, así que en este sentido resulta muy productivo. la razón estriba en que a diferencia a otros proyectos, C3 genera directamente el código objeto. Es decir, no genera código por ejemplo C, que luego deba ser compilado.

La siguiente sorpresa agradable, viene cuando vemos lo competitivo que es el tamaño de los ejecutables resultantes. Un ejecutable sencillo con GUI, está entorno a los 700 Kb. para la compilación Win64, y 500 Kb. para la compilación Win32. La cifra baja a menos de 250 Kb. para un programa de consola. Recordemos que Clipper/C3, siempre han generado p-code, por lo que en ese espacio, se incluye el runtime. Si recordáis, en los años 90 con el auge de Clipper, éste destacaba precisamente por todo lo contrario. Cuando un ejecutable en un lenguaje normal, podía ocupar 15 Kb., en Clipper eran 10 veces superior.

Parece que ahora C3 invierte esa linea, con unos tamaños que son todavía muy inferiores a los de Delphi o C++ Builder, tanto si comparamos x86, como x86-64. El rendimiento de las aplicaciones que con él generemos, es aparentemente muy bueno. A nivel de velocidad de carga, y tiempo de respuesta de la interfaz, se ven muy ágiles.

En su página de descargas, tienes una versión de evaluación, que es exactamente igual a la versión comercial, con la salvedad que los ejecutables resultantes, sacan un mensaje indicando que han sido generados con la versión de prueba.

La versión comercial sale por 180€, un precio competitivo para los cada vez menos abundantes profesionales de xBase. Sin embargo, que el IDE, y la ayuda no den una funcionalidad completa, es el principal lastre a la hora de atraer nuevos desarrolladores.