back to xharbour

En un comentario al post anterior, Carles pregunta por mi ida y vuelta a xHarbour. Cuando comenté que iba a tomar el camino de C3 hubo quien dijo ‘volverás‘ y eso es lo que ha pasado. Lo que pasa es que el tema es bastante complejo de explicar y ante todo no quisiera que nadie se molestara con esto. El motivo no es ninguna deficiencia de C3 ni nada por el estilo, sino basicamente causada por dos motivos:

  1. El paso a C3 fue para usar toda una jerarquía de clases de mantenimientos montada sobre TDBF. El resultado fue que avancé muy rápido en el desarrollo hasta que tuve un problema serio que no supe solucionar y que no sabía donde estaba, si en la jerarquia de clases, en TDBF o en C3. Digamos que el Puchero se convirtió en una aplicación montada casi completamente sobre librerias de terceros que no yo no llegaba a controlar bien. Era pilotar algo que no sabes a donde te lleva, asi que decidí dar marcha atrás. No aprendo de mis propios post. El problema es que me perdí en código que no era mio, supongo que porque soy bastante torpe programando.
  2. La chistera de Antonio Linares. Lo ha vuelto a hacer. Creo que FiveLinux es la mejor noticia aparecida en el mundillo xBase en los últimos meses. Sinceramente pienso que el avance del software libre va a ser imparable en el terreno educativo en los proximos meses. Extremadura con Linex, Andalucia con Guadalinux, Valencia con Lliurex… y unas declaraciones de ZP la semana detrás de las elecciones que decían algo así como que se debe avanzar en el camino abierto por Extremadura y Andalucia. Si Linux se impone en la educación tiene medio pie dentro de los hogares. Y Antonio ha vuelto a dar el golpe con FiveLinux. Ya tengo bajado Fedora y quiero comenzar a trastear y en cuanto lo controle un poco compraré FiveLinux y a ver que sale de ahí.

Igual estoy equivocado y dentro de dos meses estoy de vuelta a C3, pero lo veo dificil. La pregunta es: ¿ que estoy dispuesto a aprender por las noches en casa ? La respuesta: Linux, Glade, Gtk y FiveLinux.

Por cierto, acabo de desvelar el significado de alanit.

16 comentarios en «back to xharbour»

  1. Jose Luis,

    Simplemente intentaba abrir un poco el debate sobre los compiladores actuales y la experiencia personal de cada uno. Veo en toda la comunidad como un afan y espectativa de usar nuevas herramientas q por un lado se intenta entender, pero por otro me interesa el porque. Me explico.

    1.- Me gustaria conocer la experiencia de diferentes usuarios con xHarbour y q expusieran el porque se han decidido por este y no por Harbour. Siempre leo «…xHarbour tiene mas extensiones…». Quien usa estas extensiones ? Q aportan en funcionalidad ?. Yo uso Harbour porq de alguna manera mi ligado con FWH, me ofrece mas seguridad el hecho de q al menos los de Fivetech chequean las librerias con versiones de Harbour q ellos supervisan. Estoy de acuerdo, de q con xHarbour tambien se puede utilizar, pero realmente es lo q intento provocar en la gente. Por q ? Q me lo expliquen y me convenzan.

    2.- Tu expusiste q pasaste de xH a C3. Q te movio a este cambio ? La insatisfaccion del compilador ? La necesidad de un IDE ? Y antes de este cambio q te motivo el paso de H a xH ?

    3.- Sin animo de ofender a nadie, evidentemente, tenemos q exponer nuestros puntos de vista libremente y de buen rollo. Hay muchos productos nuevos en una fase beta q estan siendo testeados y aun tienen q madurar. El ejemplo de Xailer. Convencido estoy de que sera uno de los grandes. Hay quien lo compara ya con Delphi y q no tiene q envidiarle practicamente nada. Todo y q es funcional aun falta esta fase de madurez q necesita todo tipo software. FiveLinux es otro ejemplo, seguro q tendra una funcionalidad casi identica a su hermano FWH y esto es un gran handicap para los q somos Fivewineros pero aun es el inicio. Porq esta ansia al cambio a unas herramientas q no estan consolidadas ?

    Jose Luis, enhorabuena por tu espacio para q podamos entre todos exponer y guiar en este tipos de temas, q creo q son tan interesantes como los foros técnicos y q te ayudan a ver mas alla.

    Salutacions.
    C.

  2. Carles:
    El motivo de usar xH no son las extensiones, sino la percepción de que es el más avanzado de todos los lenguajes que se están desarrollando. Para mi, cuentan con un equipos sólido y añaden cosas interesantes que le da vida. Por ejemplo hace poco Ron dijo que estaban trabajando en un libro de programación en xH. ¿ Hay algo asi imaginable en otro lenguaje ? Sobre las extensiones en si, yo he usado mucho la i18n como ya he contado varias veces. De hecho Colossus es ahora mismo multilingüe en castellano e inglés.

    El cambio primero de xH a C3 fue por usar una jerarquia de clases por un acuerdo con otra persona. Al final esto no cuajó y de ahí mi vuelta a xH.

    Saludos,

  3. Alanit… si mi Valenciano/Catalán alcanza, te diria que quiere decir «En la noche» pero mas directamente seria «A la noche» (por esa regla de 3 todos tus programas los has desarrollado por la noche :-).

    Volviendo al tema que nos atañe, aqui van mis 5 centimos de dolar (2 centimos de Euro), pero no quiero que nadie se ofenda ni se sienta mal, es simplmente la opinion de un pringao que tiene algo de tiempo en el mundo de la programacion, asi que no la tomen muy en cuenta.

    Linux, o Windows…. Linux esta bien para servidores, a nivel escritorio… ¿que tan lejos estamos de que TODOS o por lo menos la mitad de los ordenadores de sobremesa o portatiles corran Linux ? supongo que no muy lejos, pero eso no va a pasar mañana. El problema que yo veo con Linux son las distribuciones y las interfaces graficas, que si Fedora, que si Mandrake, que si Suse y aunque todas son el mismo nucleo, las extensiones son las que hacen cambiar de una a otra. Otro punto son las GUIS, Gnome o KDE la moneda esta en el aire, y pienso que la unica forma de programar de una manera segura bajo Linux es usando «C», se de muy buena fuente que incluso el Kylix (Delphi para Linux) tiene problema en ejecutar las aplicaciones dependiendo en que distro de Linux la montes, definitvamente no puedes llegar con un cliente y decirlo que tire a la basura su distro de Linux porque tu programa solo funciona en GuadaLinux o en Fedora o en RedHat.

    Me interesaria mucho hecharle un vistazo a FiveLinux, aunque tengo poco tiempo ahora, el tema de Xailer me tiene muy ocupado.

    De antemano tengo por seguro que muchas de las cosas que utilizo y que dependen del API de Windows como Sockets, impresoras, seleccion de colores, etc no van a funcionar igual bajo Linux, tendre que ver cuales son los cambios a realizar en el codigo actual de FiveWin o bien comenzar todo el desarrollo nuevamente desde cero, comenzando desde montarme un PC con Linux.

    Harbour o xHarbour o C3, yo utilizo xHB, las extensiones las uso bien poco, lo que mas uso es WITH OBJECT y a tope el OLE que viene incluido. Harbour lo utilice en sus primeras versiones con FWH, pero despues de leer hace unos dias en la lista de Harbour que la version de Abril 5 tiene cambios que hacen que FiveWin no funcione bajo HB, eso me da mucho que pensar, la cosa no viene ahora de volver a compilar el codigo fuente para volver a construir la libreria, los cambios son mucho mas de fondo; supongo que los FTDN de Antonio no tendran problema, pero el resto de los usuarios de FWH si, sobre todo los de la 2.3, por cierto, este cambio solo afecta a HB, no a xHB, aunque tambien supongo que Antonio estara por la labor de hacer algo al respecto antes de que toda la gente decida cambiarse a xHb.

    Por el lado de C3, creo que le falta algo de tiempo de maduracion, mas que de maduracion, de prueba, beta testing, con los (x)HB llevamos casi 2 años de beta y somos un monton de tios, con C3 llevamos menos de 8 meses, no podemos pedir que el producto madure si no se reportan errores, y menos si solo lo utilizan unos pocos, no dudo ni tantito de la capacidad de Bruno, porque bien que ha demostrado que es un programador de ….pm y que esta al nivel de un Antonio Linares, sin embargo el poco apoyo que C3 ha recibido por parte de la comunidad quiza no sea demasiado motivante para que el producto madure al corto plazo. No dudo ni tantito que Bruno saque un producto estable que se cargue a todas la GUIS que conocemos actualmente, porque tiene la capacidad de hacerlo, pero tendria que hacerlo en un corto plazo, que no pase de mediados de este año, porque la competencia se va a poner muy interesante.

    Son mis reflexiones, espero sus comentarios.

  4. Sin ningún ánimo de polemizar,

    René dice que no ve los escritorios personales con Linux.

    También yo, ahora, estoy escribiendo este texto sobre un terminal windows. Sin embargo no tengo el mismo punto de vista. Las últimas revisiones de linux, independientemente de las distribuciones, han hecho mucho por los escritorios personales en terminales en terminales.

    La distribución Knopix, por ejemplo, que operará desde un CD, reconociendo discos, puede ser un buen ejemplo: reconocimiento de todo el sistema, acceso a comunicaciones muy facil de configurar, OpenOffice trabajando, … (y no sé si lleva un emulador Wine).

    Se ha llegado a extremos peligrosos: Microsoft no es un estandard, como parece sustentar mucha gente; Microsoft es algo, que pesa mucho y quiere pesar mucho más, pero solo es algo.

    Y pongo el caso de los lenguajes de red y los intentos de «desestabilización» con la imposición/interpretación por sobre de las propuestas del W3C: si no que alguien intente igualar los códigos JScript i Javascript…

    Por lo demás, me parece que comparto bastante las sensaciones de Jose Luís respecto a C3. Pero C3 tiene algo que Five no tiene, y es la orientación al objeto como algo primordial. Y Five debería potenciar esa orientación.

    Es lo que veo, y lo que creo.

  5. Jose Luis,

    ·..Ron dijo q estaban trabajando en un libro de programacion en xH..»
    Realmente no se lo q es, y me gustaria q me lo explicaras, pero por lo demas intentaré contestar.

    Recuerdo tu post de finales del 2003 con el tema del i18n, al q respondi dandote mi opinion sobre este punto, por lo demas no veo argumentos q me convenzan a cambiar a xH.

    Amigo Rene,

    «…es simplmente la opinion de un pringao que tiene algo de tiempo en el mundo de la programacion, asi que no la tomen muy en cuenta…»

    Sabes q si escribimos nuestros comentarios aqui es porq nos gusta conocer las opiniones de los demas ‘pringaos’ y evidentemente al menos yo las tomo en cuenta, ni q sean mejicanos :))

    Estoy muy de acuerdo contigo en el sentido de q Linux aun hay muchos temas abiertos, pendientes de ver las tendencias y evoluciones q nos van llegando poco a poco. Tu mismo cuentas tus noticias acerca de Kylix, y evidentemente si realizas aplicaciones en este entorno, este es un punto a tener en cuenta con un cliente. No he probado aun FiveLinux, pero sera interesante ver todos estos temas como se van solucionando. Ojo, no digo q Linux sea malo, todo lo contrario, pero lo estoy mirando desde nuestra prespectiva como desarrolladores de aplicaciones.

    El tema de H o xH. -> OLE lo uso via lib y van muy finas. WITH OBJECT la verdad no se ni para q sirve (me gustaria saberlo). Las nuevas versiones de H q necesitan un patch de FW/H ya veremos como lo solucionan los de Fivetech q ahora por narices se abran de mojar.

    C3 al igual que Xailer y con todo mi respeto, son herramientas nuevas y q seguramente tendran q pasar esta primera fase de maduracion. Despues ya veremos. Como he dicho en mas de una ocasion, me merece todo el respeto la gente q esta detras de estas herramientas y estoy convencido q Xailer (ya he estado probando una beta) será un pasote de entorno, pero de momento no me puedo arriesgar. Todo y q hoy en dia soy FWHanero, no quiero volver a repetir el error q pasé con la maduracion de esta libreria, q con los ‘años’ se ha ido estabilizando (es mi modesta opinion). Ahora tengo una seguridad q me ha costado muchos años obtener, por culpa de los numeros bugs q ha tenido. C3 no lo conozco pero por lo q leo, veo mucha falta de todo… users, reportes de bugs, …

    Hola Miquel,

    No se q quieres decir con q C3 tien entorno orientado a Objeto cosa q Five… no. Me gustaria q me lo explicaras.

    En este punto, mis primeras conclusiones.

    1- Una libreria de programacion en entorno Win, q ‘seguramente’ tenga una muy parecida similitud con su homóloga en Linux !!!. Solo este punto ya me merece un respeto muy grande para tu vision a corto plazo de herramientas a usar, y productos q en teoria facilmente los puedas tener en las 2 plataformas. -> ‘Lo conseguiremos con Fivexxx?’

    2.- Compilador. De momento vuestras diferentes opiniones no me convencen o me dan suficientes motivos para cambiar de H a xH.

    3.- Nuevas herramientas en el horno a punto de salir, pero… ‘dejemos salirlas con tiempo, q se enfrien un poco para no quemarno y las probaremos. Si vas rapido te puedes quemar :-)’

    Nota: Lo he comentado en el anterior post. Como Rene, Jose Luis, … expresamos nuestros pensamientos, preocupaciones, ideas,… sin animo de ofender a nadie e intentando q entre todos podamos aprender y conocer aun mas las distintas posibilidades q tenemos y conocemos.

    Son las 16.45. Envio de ultimo mensaje por esta semana. Yo ya termino hasta el Lunes ;-). Buen fin de semana a todos.

    Espero mas ‘pensamientos…’

    Salutacions.
    C.

  6. Carles,

    Yo he dicho «la orientación al objeto como algo primordial», cualidad que atribuyo a C3 y no en la misma media a Fivewin: si quiero, con Fivewin crear código como este:
    MyWnd := TWindow():new( ….)

    en vez de
    define window …

    no té dire que no sea otra manera de relacionarse con objetos. Pero si quiero escribir de la primera forma, tengo que volver a los ficheros .ch, releer y casi prescindir de cualquier información en NG o HLP. No es así en C3.

    Por otra parte: Clipper 5.2 tenía unos cuantos objetos. Nos acostumbramos a trabajar con esa mezcla. Pero eso no quiere decir que deba persistir. Y que quieres que te diga, es cosa de gustos, a mi cada vez me gusta mas ver los dos puntitos que separan el nombre de un objeto de la acción que quiero que se realize o de la variable que quiero tratar.

    Salut

  7. Miquel,

    No se como lo hace C3, pero realmente los q llevamos años con FW/H, trabajamos como tu dices, «con los 2 puntitos» (bien expresado queriendo hacer referencia a la prog de objetos). Entonces cual es la diferencia?. Quizas hay una ayuda on-line en C3 q no esta en FW (yo no lo se)q te ayuda en la prog , y te facilita mas este trabajo pero creo q la programacion en si viene a ser practicamente la misma, no ?.

    Ademas, yo defino una ventana usando el prepro -> define window…, pero a partir de aqui cualquier manipulacion la realizo orientada a objeto. Entonces pienso q es una buena opcion usar cuando te interese el prepro para la gestion de una clase.

    Siau.
    C.

  8. Lo del libro es algo que apareció en las news hace algún tiempo y ahora ha vuelto a salir. A mi me parece muy interesante que alguien se plantee escribir un libro de programación en lo que sea: xHarbour, Harbour o C3. Creo que el último libro publicado sobre xBase debe tener años.

    De todos modos, a mi lo que me intriga es lo de los cambios de Harbour. Estuve leyendo la lista de correo de desarrolladores de Harbour y no entendí muy bien el motivo del cambio del HB_ITEM ese dichoso, o acaso no lo explicaron.

  9. Bueno, aqui van mis 6 centimos de pesos argentinos, como para llegar a los 2 cent de dolar. 🙂

    A mediados del 2001 hice mis primero aportes en el proyecto Harbour, luego de la separación y pasado un tiempo en donde las ideas y sugerencias de Ron Pinkas comenzaron a plasmarse en código y a mostrar que se podía hacer un compilador más rápido, terminé dedicandome casi exclusivamente a desarrollar en xHarbour.

    Les puedo decir que soy fanatico en obtener el máximo de performance posible, asi que uso todas las extensiones posibles, además de hacer mis propios PCODE y optimizaciones.

    Carles:
    «Quien usa estas extensiones ?» Yo y mucho.
    «Qué aportan?», mejoras de performance que dependeran de cuanto sean usadas el cuanto ganaras de velocidad.

    Yo uso xHarbour con FWH.
    Cuando tengo recompilo el xHarbour, tambíen recompilo FWH, TSBrowse y TSButton.
    Igualmente si se lo pides, Linares te da la libreria compilada para xHarbour, que al igual que en Harbour estan compiladas para la última version oficial del compilador.

    Volviendo al tema de las optimizaciones y extensiones de xHarbour, tema que me apasiona.
    Algunas cosas parecen triviales y de menor importancia, pero tengan seguro que si estan, es porque la ganancia obtenida es importante.

    Ej:
    ADEL() tiene un 3er parametro que evita realiza automaticamente un ASIZE.
    AINS() tiene un 3er y 4to parametro que te permite agregar el dato en la linea insertada y hacer el ASIZE previo automaticamente.
    STR tiene un 4to parametro para hacer un ALLTRIM automatico.
    FOR EACH para recorrer arrays completos.
    WITH OBJECT para mejorar la performance en uso intensivo y seguido de un objeto.
    El comando IN que permite buscar en una cadena de caracteres o en un array un dato determinado.
    SWITCH-CASE para hacer selecciones de forma más rápida que usando DO CASE.
    Funciones HB_ISxxx() para evitar el uso del VALTYPE(x)==»».

    En bajo nivel las modificaciones son muchisimas, mejor manejo de los strings, manejo de hash en forma nativa, manejo de Arrays Asociativos, que podriamos compararlos con las colecciones de datos de Visual.

    Y no puedo dejar de hablar del multithread.
    Es algo que me facina cada día más.
    Lo estoy usando mucho, por ahora con conexiones via TCP/IP entre aplicaciones xHarbour, entre xHarbour puro y FWH, etc.
    La brecha entre xHarbour y otros lenguajes de programación más «populares», es cada vez más chica.

    Porque un lenguaje nunca es viejo si las herramientas y sus usuarios evolucionan y se actualizan.

    El tema de la evolución y actualización es un tema polémico.
    De palabra, la mayoría esta de acuerdo en que hay que evolucionar. Pero cuando estan las herramientas son pocos los que la usan.

    Que hay que leer mucho? si, sin duda.
    Que hay poco en nuestro idioma? tambien.
    Que hay poco tiempo para dedicarle a la investigación? es verdad.

    Pero si no nos tomamos a nuestro trabajo como una profesion, no pidamos luego peras al olmo.

    Cuando fué la última vez que hiciste un curso?
    Cuál fué el último libro sobre computación que compraste?
    Si usas FW y te cuesta hacer pantallas atractivas (como yo, que ni para vestirme combino bien los colores, menos para hacer una pantalla de Windows), pensaste alguna vez en perfeccionarte o al menos enterarte de formas de mejorar la interfaz de tu programa?
    Estas empezando a usar MySQL? bien. Sabes que si las consultas no se construyen adecuadamente la performance puede ser peor que usar Dbfs?
    En lo que va del año y algunos cuantos meses para atras, solo recuerdo haber visto una solo mensaje de alguien buscando un control que permita reproducir HTML, y nadie contestó.
    El lenguaje base del Harbour y el xHarbour es el C. Cuántos hicieron aunque sea el intento de aprender C.
    Yo puedo decirles que no sabía programar en C antes de mediados del 2001, y no es que ahora sepa mucho más. Pero lo que sé me sirve para entender el xHarbour, para hacer mis propias modificaciones y hacer algunas rutinas menores.

    Los médicos se la pasan comprando revistas, libros y haciendo viajes a conferencias y cursos de actualización. Por qué lo hacen? Porque la medicina cambia constantemente y si no lo hicieran se quedarían en poco tiempo sin trabajo.

    De la misma forma con nosotros los programadores.
    Si no nos perfeccionamos y si no reinvertimos parte del tiempo en investigación, aprendizaje y pruebas, no podemos quejarnos despues porque eligieron ese programita hecho en VB en lugar del nuestro, solo porque tenía una ventanita abajo de todo que les mostraba las cotizaciones actualizadas de la bolsa.

    Si alguien lo quiere tomar como polémica, que lo tome así.
    Otros quizas les sirva para tomarse un examen y replantear algunos pasos a seguir.
    Y otros encuentren que hay gente que busca perfeccionarse y se sientan animados a continuar desarrollando en este lenguaje.

  10. Hi Walter,

    Todo este debate ha empezado en dos post anteriores a este: El Puchero 4.0. En el preguntaba a Jose Luis porque este ir y venir a diferentes herramientas, que experiencias han tenido, porque salir de Harbour e ir a xHarbour, C3, Xailers,… buscando una opinion en base a la experiencia de cada uno. Es quizas en estos posts donde uno aprende ‘a base de centimos’, por lo q encuentro positivos estos debates. Como tu, me gusta perfeccionar y soy bastante fanatico en la perfeccion, pero no me gustaria interpretar mal este concepto. Como bien sabeis actualmente estoy en H + FWH, y busco dentro de este entorno el total conocimiento y posibilidades q me puede ofrecer este entorno, pero… quiero tambien saber q se esta cociendo al lado, desde C3, Xailer, xH, ….

    Cuando yo pregunto x q xH y no H, simplemente busco esta informacion q me ayude a ver mas alla, y me haga quizas y solo quizas algun dia dar el cambio, por q todos sabeis q no puedes estar hoy aqui, mañana en H, la semana q viene en C3, …, es algo q uno tiene q estar seguro, al menos yo por mi tipo de trabajo, buscando las maximas garantias y beneficios en el trabajo. Creo q estas dos palabras son para mi muy importantes en mi entorno laboral.

    Por otro lado, tu expresas diferentes tipos de extensiones, como Adel, Ains,… q quizas lo q yo estoy acostumbrado a codificar en 2 lineas, tu lo pondras en una, pero tampoco me da un motivo suficiente como para dar el cambio (en linea general) y en todo esto quizas los q se tenga de valorar es el rendimiento de un sistema a otro -> ‘Realmente yo notare mucha diferencia de velocidad, en mis aplicaciones?’ A veces, hay los tipicos test de miles de iteraciones q al final es tan poca la diferencia q no se justifica este cambio . Si me da motivo quizas, por otra parte temas como el multithread, el activex,…

    Normalmente, uno habla con ‘fanaticos’ de este mundillo y ves q cada uno defiende muy aferrime su herramienta, casi como a un hijo, pero en el fondo no se trata de discutir si una es mejor q otra, sino de ver como trabajan en si.

    Por ejemplo, algunos de vosotros conoceis la manera en q trabaja Xailer, su filosofia de trabajo con las clases, sus clausulas en el manejo de ellas, su estructura, …Lo poco q he visto me parece fantastico, otro punto de vista en manera de trabajar, pero al mismo tiempo soy consciente de q son productos nuevos, y junto a otros como xH, sujetos a muchas modificaciones en sus primeras fases. Tambier pienso q ni q pueda crear mis propios PCODE como tu dices, no soy partidario de ello, todo y q son opciones interesantes.

    En tus herramientas habituales, tu sabes q tienes un limite a nivel funcionalidad, q tarde o temprano lo traspasas con tus ‘sistemas alternativos’ y no pasa nada. Me explico, por ejempo yo se q no puedo usar los OCX. Casualmente he tenido que usar uno para acceder a un sistema dentro de mi empresa. Pues finalmente me he tenido q crear mi dll con delphi y acceder a ella desde FWH -> resultado prefecto y no pasa nada !!! Quiero decir q es interesante buscar este equilibrio y no buscar el todo por si acaso …

    Este en estos diferentes entornos, implica de una manera u otra evolucionar en los conocimientos y posibilidades q uno pueda tener, sin dejar a un lado el porq de todo. Imaginate q te sale el año q viene un grupo q empieza el zHarbour con mas extensiones, optimizaciones, … -> Te vas a cambiar x q es lo ultimo ? o simplemente diras -> ‘Para mi tipo de trabajo q es de lo que vivo, con lo que tengo ya es suficiente y soy completamente autonomo’. Todo ello pasando por una de tus frases importantes a tener en cuenta: «… el tema de la evolucion y actualizacion es un tema polémico…».

    Los medicos viven muy bien y no creo q su esfuerzo en actualizarse supere el tuyo 🙂 Ahora si, las grandes compañias farmaceuticas les pagan unos viajes cojonudos. 😉

    Maestro en SAP, C, xH, H, FW/H, ADS, SQL (MySql o FireBird en mi caso), tipos de analisis, codificacion, sistemas, sin contar otros entornos q a veces uno usa como p.e. delphi)… ufff Si es q no paramos !!!

    Respetando todas vuestras opiniones -> mis 3 centimos de euro !

    Salutacions i bon cap de setmana.
    C.

  11. Carles:

    Esta discusión se esta poniendo buena. :-))
    Cuanto más escribamos, mejores conclusiones vamos a poder sacar para nosotros y para cualquier otro que lea estos posts.

    Quiero, que a pesar de estar en el equipo de desarrollo de xHarbour, y que muchas veces me sale un poco la defensa como a un hijo, espero poder ser los más imparcial posible y dar mi opinion desde mi punto de vista de uso del xHarbour.

    A mi me gusta hablar mucho del PCODE, porque es al fin y al cabo lo que el corazón de todos ejecutables hechos con Clipper, C3, Harbour y xHarbour, terminan ejecutando.

    Mi opinión es que cuanto más conocemos de como trabaja internamente el núcleo del ejecutable, y cuanto más conocemos de que código genera tal o cual rutina, expresión o comando, vamos a tener mejores herramientas para decidir usar un comando u otro.

    Probablemente sea despreciable el usar la función ADEL solo o ADEL y ASIZE si se usa una sola vez en todo el programa, pero si tu rutina es crítica, seguramente vas a obtener una mejor performance en usar la versión optimizada.

    No lo dije antes, porque el texto se estaba haciendo muy largo, pero yo he optimizado todas las principales clases de FWH con xHarbour y aqui es donde se nota la diferencia.
    Porque cuando trabajas con rutinas que son llamadas muchas veces y optimizas aunque sea muy poco, la suma de esos pocos es lo que termina haciendo la diferencia de performance.

    Es veradad que tenemos ciertas limitaciones, y coincido contigo en que algunas veces tenemos que recurrir a hacer DLLs externas.
    Es verdad y lo he hecho y no estoy en desacuerdo con hacerlo.
    Hoy tenemos que trabajar de la manera más óptima y rápida posible y muchas veces eso implica reutilizar código o DLLs que ya sabemos que funcionan, para que vamos a reinventar la rueda?
    Pero si tengo la posibilidad de usarlo desde dentro de mi lenguaje y no tengo que recurrir a cosas externas, también estoy de esa parte.

    «…Imaginate q te sale el año q viene un grupo q empieza el zHarbour con mas extensiones, optimizaciones, … -> Te vas a cambiar x q es lo ultimo ?»
    No me voy a cambiar porque es lo último, en todo caso lo evaluaré y si es compatible con lo que tengo actualmente y si me dá mejores prestaciones que las actuales, seguro que me pasaré.
    Pero si es lo último y tengo que tirar a la basura todo mi código, probablemente lo piense bastante.

    Volviendo al tema de crear uno sus propios PCODE y otras optimizaciones.
    Puede parecer algo inalcanzable, yo tambien lo creía así hasta que me puse a leer del tema y luego de algunos prueba y error le encontré la vuelta.
    Si alguien está interesado, aunque más no sea a conocer un poco más, que lo haga saber.
    Y este tema no es más dificil que programar en C, solo es diferente.

    A que quiero llegar con esto?
    Hace poco hubo mucha queja respecto de la baja del foro en español en las news de xHarbour.
    Pero aunque no estoy de acuerdo con la desición, me apena que existan tan pocos desarrolladores de habla hispana.

    Un articulo sobre PCODE.
    http://www.puertosur.org/modules.php?name=Sections&op=viewarticle&artid=8

    Manual de Bison.
    http://www.linux.org.ar/LuCAS/Manuales-LuCAS/BISON/bison-es-1.27.pdf

    Manual de Flex.
    http://www.linux.org.ar/LuCAS/Manuales-LuCAS/FLEX/flex-es-2.5.pdf

  12. W,

    “Cuanto más escribamos, mejores conclusiones vamos a poder sacar para nosotros y para cualquier otro que lea estos posts.” -> De eso se trata.

    “A mi me gusta hablar mucho del PCODE,..” -> algo he notado … 🙂

    “Probablemente sea despreciable el usar la función ADEL solo o ADEL y ASIZE si se usa una sola vez en todo el programa, pero si tu rutina es crítica, seguramente vas a obtener una mejor performance en usar la versión optimizada.”

    Este punto es muy interesante, no por el uso de estas funciones en si, sino por el concepto en general. En aquel caso puntual, q necesito una optimizacion drástica, ¿ q tendré q evaluar ? reoptimizar la funcion, realizar un nuevo analisis funcional en la propia aplicación? las dos son soluciones q si bien la primera se trata de una optimizacion del kernel en si, deriva a posibles bugs y falta d estabilizacion, descontrolado muchas veces. Me expreso: Tengo cuatro patas:

    1.- Un compilador (x)Harbour
    2.- Un compilador BCC
    3.- Una libreria para windows FWH
    4.- El programa q uno realiza.

    Con FW yo he tenido la fatal experiencia de ver crecer al ‘bicho’. Un producto q funcionaba, pero tenia muchos bugs. Con el tiempo se ha ido estabilizando gracias en parte a la contribucion de muchos usuarios, pero a la vez esta contribucion originaba mas bugs, x q muchas funciones afectaban a otras, o cambiaban el comportamiento de clases, y x q? por falta de coordinación en general. Si tu preguntabas a los responsables de FW/H a veces te contestaban: a mi el ejemplo me funciona, q version utilizas tu?. Culquier version diferente a la ‘oficial’, con diferentes parcheados, modificaciones, … al final uno se volvia loco. Con el tiempo, se ha ido estabilizando pero -> ‘años… de procesion’.
    Ahora añade a esta historia, q paralelamente se haga lo mismo con un compilador como (x)H, el cual constantemente se va mejorando (cierto), pero a su vez tiene muchos cambios q afectan al programador final, ademas sin contar p.e., con distribuciones de Fivetech x un lado, OZS x otro, la q hay en el CVS, la q venden unos, la q tocan los otros….
    Imaginate x un momento q la BCC tambien se fuera tocando x aqui y x alla. Quizas algun programa q tengo q funcione perfectamente, si lo compilara de nuevo -> crash ¡!
    Creo q lo mejor es tener una base solida de trabajo: En mi caso Borland C++ 5, mas Harbour distribuido x Fivetech y FWH. A partir de aqui yo tengo mi set de librerias, creadas, testeadas y de uso habitual. Con este marco, y volviendo a tu comentario sobre momentos criticos de un programa en q necesitas un ajuste fino, ¿Q tocamos? yo soy partidario del programa en si.

    “Hoy tenemos que trabajar de la manera más óptima y rápida posible…” -> En mi caso es asi, y necesito unas herramientas ademas, fiables para conseguirlo

    “…y muchas veces eso implica reutilizar código o DLLs…” -> Bueno, pero parece q sea una mancha negra en el expediente del programa, y creo q no es asi. Si x cualquier motivo tienes q recurrir a otras estrategias q se adpatan bien a tu trabajo sin ‘romper’ tu entorno x q no?. El caso de los OCX, q muchos dicen q si Patick Fun usa la ‘tactica’ de usar una dll externa hecha con Delphy, para acceder a estos controles. Me parece genial y una manera elegante de solucionar un problema q uno tiene hasta ahora. ¿Q te gustaria poderlo hacer desde tu propio lenguaje? claro q si, pero a falta de pan buenas son tortas. Todos sabemos q hay ciertos usuarios q tienen soluciones a estos problemas, pero por diferentes motivos no lo quieren compartir y en algunos caso vender. Es mas, muchos tenemos ciertos ‘logros’ q a veces recelamos de compartirlo, y quien este libre de culpa, q tire la primera piedra. Esto merece otro debate a parte.

    “…Si alguien está interesado, aunque más no sea a conocer un poco más, que lo haga saber…” -> Bueno, por esto se ha liado todo este post, por una ansia de conocer por parte de otros las ventajas de un entorno y de otro, NO decir q es mejor o peor.

    Walter, tu estas en una pata de la mesa como parte de (x)H, mi vision es desde la otra pata. Todo y q de momento hay mesas de 3 patas de momento jugamos con 4.

    Finalmente, a mi particularmente, me gustaria conocer de xH todo lo q me pueda aportar, mas a nivel funcional q técnico, asi como la estabilidad del producto, a donde se quiere llegar, q rendimiento me da, rdd’s, …

    “… pero yo he optimizado todas las principales clases de FWH con xHarbour y aqui es donde se nota la diferencia…” -> Este punto tambien me interesa mucho y me gustaria intercambiar este tipo optimizaciones, contigo y con todos los que quieran. ¿Seria complicado montar un grupo de usuarios para afinar, perfeccionar y ajustar finalmente FW/H ?

    Un saludo a todos.
    C

    p.d. ( Real Madrid 2 – Barça 1 ) -> 😉

  13. Carles:

    Entiendo perfectamente tu punto de vista, y aunque yo utilizo xHarbour, simpre mantengo una distancia de los últimos cambios. Veo las reacciones, los posibles nuevos cambios a los cambios, arreglos a los arreglos, etc.
    Luego de varios días e incluso semanas paso los cambios a un directorio de pruebas, luego de un tiempo de pruebas recien pasa a la versión operativa.
    Excepto que sea un arreglo a un bug conocido o potencialmente peligroso.

    Hace un tiempo comenté que uno de los problemas que veo en los proyectos de Harbour y xHarbour, es la falta de proyecto.
    Se sabe más o menos lo que se quiere lograr, pero no como. No digo que sea una cosa sencilla, pero solo de mirar los proyectos Open Source que triunfan, son proyectos que tienen una dirección,
    son proyectos que definen qué se quiere tener para una versión X y todo lo demás queda afuera de ese desarrollo.
    Todo extra o sugerencia pasa a consideración para la próxima o incluso para una versión más posterior aún.

    Respecto de lo funcional que puede ofrecer xHarbour, creo que lo mejor es leer el archivo xdiff.txt que se encuentra en el raiz del proyecto.

    Respecto del último punto, sería un tema para hablar en privado, hace muy poco hubo una discusión en las news de FW sobre el tema de las clases de FW y los derechos de propiedad intelectual.

    Mi nuevo interes en lo referente a optimización es con C.
    Cómo contruir sentencias optimizables y como usar sentencias que utilicen mejor las instrucciones del procesador y su arquitectura.

    Para finalizar, sería interesante poder discutir acerca de «cómo optimizar nuestro código al escribirlo»

    Saludos

  14. Walter:
    Creo que el tema de la optimización es algo superinteresante. A mi me encantaría leer algo de esto y eres de los pocos capaz de escribirlo. Puedes escribir un artículo explicando las bases de la optimización, sin entrar en detalle de código pero si indicando las clases afectadas.
    Lo que se planteó hace poco era publicar clases enteras modificadas y esto creo que es totalmente distinto. Si quieres escribir esto con mucho gusto te lo publico aqui.
    Saludos,

  15. Saludos a todos.

    He sido programador de Clipper hasta la version 5.3(x), he buscado un lenguaje lo suficientemente bueno (Vbasic, Vfox) pero no he podido,, quizas porque estaba acostumbrado a trabajar con clipper. Ha probado Harbour , pero aun le falta (desafortunadamente el tiempo y el conocimiento son escasos para colaborar) estoy buscando otras alternativas de compiladores escuche de un C3 y un xharbour. Que ventajas o desventajas tienen. No uso FW.

    Gracias
    Un saludo desde Colombia

Los comentarios están cerrados.