Harbour y su versión extendida, xHarbour, son algunas de las soluciones aparecidas para llevar Clipper a 32 bits, estos dos proyectos son Open Source y se pueden encontrar en SourceForge, pero ¿podemos considerar a Harbour y xHarbour compiladores en el estricto sentido de lo que es un compilador?
Me plantee las siguientes cuestiones:
¿Puede [x]Harbour generar por sí solo un OBJ para ser enlazado?
La respuesta es NO.
[x]Harbour es un generador de PCODE que ha de ser compilado y enlazado con un compilador de C, el mismo compilador de C que se haya usado para compilar [x]Harbour. Es decir, depende de un compilador de C.
¿Existe una version 1.0 de [x]Harbour hoy que sea estable e indique el punto de partida a seguir en porteriores versiones sin que cambien a cada momento algo interno que estropee lo que ya hay hecho?
La respuesta es NO.
Si al menos existiese un programa de desarrollo, un punto de partida y un camino a seguir con [x]Harbour se podría esperar una versión 1.0 con confianza, pero actualmente antes de que la ultima versión esté medio introducida aparecen cambios y nuevas ideas (sobre todo en xHarbour) que detienen el proyecto.
¿En qué medida [x]Harbour puede ser considerado útil?
[x]Harbour resulta útil hoy por hoy a un puñado de programadores nostálgicos de Clipper que después de pasar por la imposición visual de Windows nos vemos en la tesitura de ir a los 32 bits como sea, nos gusta la forma de programar de Clipper y tenemos proyectos de mayor o menor envergadura que nos costaría mucho tiempo y trabajo llevar a otra herramienta de desarrollo y, queramos o no, nos aferramos a lo que sea con tal de no tener que mover una linea de código de lo que ya hay hecho y funcionando en 16 bits.
Conclusiones:
De estas cuestiones y autorespuestas extraigo la siguiete conclusión:
Si bien Harbour y xHarbour pueden solucionar en gran parte el problema de la migración a 32 bits de desarrollos realizados con Clipper, no pueden ser considerados compiladores reales, si no más bien proyectos Open Source generadores de PCODE que precisan de un compilador C para crear un ejecutable.
Y de esta conclusión puedo decir que Harbour, xHarbour y el resto de herramientas de desarrollo que existen o que existirán en el futuro para dichos generadores de PCODE no serán usados por nuevos programadores, es decir que desde donde se encuentran no pueden realizar captación de nuevos usuarios por que no existe, fuera del grupo que formamos los que quedamos de Clipper, ningún tipo de reclamo que los atraiga; es más el hecho de que Harbour y xHarbour no sean compiladores reales hace que de los pocos que se acercan a ellos la gran mayoría salga huyendo (amén de la falta de un IDE que parece ser que es la solución para todo).
En su día, en un post tuyo, yo plantee cosas similares.
Sinceramente, por mucho que nos guste (a mi me continua gustando) Clipper y su lenguaje, no le veo futuro.
Coincido al 100% con tus conclusiones. Puede que xBase perdure en el tiempo, pero lo normal es que decrezca el número de programadores que lo utilizan a favor de otros lenguajes/plataformas.
Qué razón tienes, José Alfonso, sobre todo en el último párrafo, en lo de que no atrae a programadores ajenos al xBase...
Precisamente creo que esa es una de las mejores ventajas de C3. Bruno dejó claro en la reunión de Olivares 2000 de Madrid que no quería depender de herramientas externas. Y eso sí que atrae a nuevos programadores que no tengan por qué proceder de Clipper.
Comentado por Jaime Irurzun a Lunes, 12 de Enero de 2004Segun mis conclusiones :
1 .- ¿ Es que tan primordial es que te genere un .obj ? Para mi modo de ver, ES PRECISAMENTE ESO lo que me gusta, donde puedo meter codigo C en el mismo prg que estoy construyendo.
Ahora bien, se podria tambien hacer que dicho compilador genere OBJ , PERO, sin quitar lo que haya hecho.
2.- Pues en esta estoy completamente de acuerdo contigo.
3.- Hombre , para hacer experimentos e ir avanzando en mejorarla hasta que todo cuadre, para cosas serias, mejor me quedo con clipper de momento, aunque cada vez queda menos tiempo para las aplicaciones 16 bits.
Jose, te veo preocupado con el tema del compilar tu codigo por un compilador de C, pero no deberias de tenerlo, pues si no te metes a escribir modulos en C para harbour, JAMAS tendras una linea de error del compilador de C, es por ello que no se porque narizes se desprestigia a Harbour por el simple hecho de que te genere un .C
Yo añadiria que la gente no se mete en 32 bits, PORQUE NO HAY SOPORTE PARA RDDs nativos desde el primer dia, y hasta que esto no este listo, cualquier GUI, etc,.., sobre harbour triunfara, no se , me da la sensacion que el compilador puede ser la ostia y las GUIs la madre que la pario, pero sin un triste RDD nativo, no vamos a ningun lado.
Yo no se para que mierda hicieron el RDD ADS antes que los nativos, eso fue una equivocacion y el tiempo a demostrado que eso fue un error muy gordo, ya que hecho y hecha a mucha gente para atras.
Saludos.
Jose Alfonso:
Muy interesante el tema de discusion y da para muchas opiniones, he aqui las mias:
¿Puede [x]Harbour generar por sí solo un OBJ para ser enlazado? La respuesta es NO
Estas un poco mal informado, la version comercial de xHarbour SI genera OBJ reales directamente desde su utileria XBuild.
xHarbour.com ha licenciado el compilador de C Pelles C y lo ha incluido dentro del XBuild (por incluido entiendase, es parte del EXE de XBuild) junto con el compilador de xHarbour (que tambien esta incluido en el XBuild), de tal forma que ya no tienes que compilar "a la clipper" es decir desde una ventana de DOS ni liarte con archivos .MAK para la parte del C, es mas, ni siquiera necesitas un compilador de C, todo se hace desde el Xbuild, de manera visual.
ESTABILIDAD es una palabra muy relativa, hoy por hoy C3 por ejemplo es estable, porque las cosas que hace las hace y bien, otra cosa es que este completo o que tenga una funcionalidad completa. Personalmente ya he pasado por 3 versiones de xHarbour con FWH y con otras GUIS y no he tenido problema en brincar de version en version mis programas, salvo claro, la consabida recompilacion del codigo fuente cada vez que cambia el PCODE, que no me lleva mas de 20 minutos realizar.
Donde si tienes muchisima razon en el tema de la obsolecencia del lenguaje XBase, hoy en dia un lenguaje "moderno" no puede tomarse en serio si no cuenta con un buen modelo de POO, al final parece que todos los fabricantes de lenguajes de programacion se han dado cuenta de que los tiros van por el tema de los objetos, hasta el mismo Microsoft con su famoso VB, ahora dice que la version .NET "ya es 100% orientada a objetos". Clipper carece de los objetos nativamente, y si no fuera por productos como Objects o en su momento Class(y) o HighClass, Clipper seguiria obsoleto.
Los lenguajes modernos son "visuales", eso no es cierto, un buen lenguaje de programacion no es el que permite programar mas rapido, sino el que te permite programar mejor. Me explico:
Muchos programadores confunden el lenguaje de programacion con la "herramienta de pintar ventanas" como le llamo yo, deafortunadamente los programadores de hoy, si no ven una herramienta de pintado de ventanas no saben ni que hacer. Durante el tiempo que he estdo con el tema del FW, muchos viejos clipperos que pasaron por un "visual algo" y luego regresaron a Clipper+FW lo primero de lo que se quejan es que el IDE de FW no funciona, no ven otra cosa mas alla, quieren que FW fucnione como lo hacen los lenguajes viuales y eso no puede ser asi, FW depende de Clipper y clipper no es visual.
En cuanto a ganar adeptos nuevos..... pues lo veo muy dificil como bien comentas tu, otros lenguajes les tienen enganchados, definitivamente somos una especie en peligro de extinción, el problema es que aun hay un monton de aplicaciones Xbase aun rodando por ahi.
Saludos
Rene.
Disculpen mi ignorancia , pero tal vez seria util.
Se que para programar en cualquier lenguaje es necesario antes hacer un diagrama de flujo, para luego traducirlo
se me ocurre que se podria lograr algo asi como el avance que se tuvo del DOS al Windows en sistemas operativos, pero en lenguaje de programacion (un lenguaje windows) que permita a base de graficos, en este caso diagramas de flujo, con simbolos que representen las terminales de hardware :
programar con el mouse y talvez activar comandos y preprogramas con solo pulsar una tecla, etc, y que nos librara de muchos calculos repetitivos, piensen en un programa programador con el que pudeiramos crear un juego profesional en una sola pc y en horas.
Y que se puedan adjuntar programas al que estamos programando con solo arrastrar de una carpeta a otra y que se haga compatible automaticamente con solo cambiar parametros elementales que te pide la PC , o tomar graficos, videos mpeg ¡o 3ds! Para colocarle programas en puntos asignados del mismo todo intuitivamente y en tiempo real
asi pudieramos programarnos nuestro SO, Office, Photoshop etc etc gratis. (no dibulguen mucho, manos a la obra)
El Harbour es una brillante solución porque ha logrado aprovechar el potencial de C que nadie le pone pegas, con la forma de programación en clipper que sigue siendo una herramienta de desarrollo, todo enrriquesido con la programación orientada a objeto y sus técnicas, que más quieren, esto es un milagro, chapo..
Comentado por Eugenio a Viernes, 13 de Agosto de 2004Yo creo y sin lugar a dudas y un lenguaje que es XBase y heredero directo de CLIPPER es CA-VISUAL OBJECTS cumple con todas las espectativas que estan mencionando. Es muy potente es XBase y tan potente como un Pascal o C y totalmente OOP y de compilador nativo.
Saludos
Comentado por Julio Medina a Lunes, 01 de Agosto de 2005