Hace algún tiempo alguien dijo que para programar con Clipper y FW era imprescindible disponer de un IDE o, lo que es lo mismo, un entorno de trabajo integrado y asistido, con el fin de ahorrar tiempo en el diseño de aplicaciones.
Más tarde apareció Harbour y tras de él FiveWin para Harbour y entonces era necesario crear un IDE para FWH. Con esto y tras varios meses con problemas en FWH que no se solucionaban, hubo quien decidió proyectar la creación de un entorno GUI nuevo y con él un IDE, en otro lugar otras personas comienzan a desarrollar GUIs para Harbour y tambien hay quien deshace todo de un plumazo y decide crearlo todo nuevo, COMPILADOR, GUI e IDE.
¡Que cantidad de tiempo perdido!
¡Que de horas de estudio y de trabajo mal invertidas de gente haciendo lo mismo!
Muchos nos preguntamos por qué esos genios no se ponen de acuerdo entre ellos y realizan un proyecto conjunto del que se beneficie toda la comunidad de programadores Clipper+FiveWin, que son los que al fin y al cavo van a usar esas herramientas.
Yo aventuro a dar una respuesta: todas esas personas tienen la necesidad de demostrarse a si mismos y al resto de los programaodres que son capaces de crear una herramienta de tales características y por supuesto es un reto personal de cada uno, por eso se niegan a colaborar totalmente. Tambien voy a meterme en el delicado tema del lucro, aunque no sea el motivo principal de esas personas, el totalmente normal que persigan lucrarse con su trabajo.
Dentro del tema del lucro mediante herramientas de programación está el saber a quien van dirigidas, si es un público amplio o simplemente, como pasa en este caso, un numero muy justo de usuarios. Particularmente creo que son demasiados a repartirse un pastel muy pequeño y además con el riesgo de dividir la comunidad en varios sectores según la herramienta usada.
Estoy seguro que si se aunasen esfuerzos y se hiciera un proyecto común dirigido por una persona "no genio" los resultados serían espectaculares y el tiempo de desarrollo se reduciría significativamente. Me explico: seria necesario organizar a todos los "genios" del tema de los GUI y los IDE y ponerlos a trabajar en un proyecto común (ya sea con o sin compilador nuevo) y sobre este protecto poner una persona que los dirija, oiga sus sugerencias y organice la evolución del producto, que sea este director el que decida cuando hay que poner la beta en la calle y cuando liberar la versión 1.0 se trate o no de un proyecto comercial. ¿Como se designa al director? Se busca a una persona que tenga conocimientos de que es lo que se va a construir, se reune con los "genios" y que cada uno indique las partes que son necesarias para la construcción de un GUI (para empezar), se diseña la GUI (nucleo, funciones, geranquia de clases, etc) y se crea un calendario de trabajo, y se pone a todo el mundo a trabajar, incluso los que vayan a realizar funciones de acceso al API y no dispongan de nucleo para probar, que vayan escribiendo código. Mas o menos como si fuese un puzle. Depues se ensablan las piezas y se prueba todo en conjunto, se buscan los fallos y vuelta al trabajo. Cuando el director vea los resultados del proyecto de la GUI entonces se empieza a trabajar en el proyecto del IDE.
Ahora el aspecto lucrativo. El lógico pensar que todas las personas intervinientes en el proyecto querran obtener ingresos por su trabajo. Desde mi punto de vista existen dos formas de hacerlo:
a) Buscando un patrocinador/distribuidor que costee los gastos de producción pagando sueldos a los implicados, desde el director hasta el último "genio". Despues el patrocinador sera quien se encarque del tema de la distribución, simepre llegando a un acuerdo con los intervinientes en el proyecto para el tema del pago por copia vendida. Esta es la opción más dificil de conseguir y más difícil de mantener.
b) Organizar el grupo dentro de la comunidad de usuarios, ya sea a traves de Olivares 2000 y/o Puerto Sur o simplemente creando el grupo de trabajo, poniendose a desarrollar y cuando todo este listo buscar la forma de distribuir el producto terminado contratando la distribución con alguna empresa que quiera hacerla (o a traves de una sociedad formada por los integrantes del grupo y que cada fin de ejercicio reparte beneficios despues de pagar gastos e impuestos).
Creo sinceramente que la colaboración y cooperación entre todos los "genios" consegurá mejores resultados en menos tiempo y dando mucho más beneficios que cada uno por separado, pero como es de esperar no faltaran argumentos provinientes de esos "genios" para evitar en todo grado cualquier forma de cooperación con otro "genio" que consideren un rival; lastima.
José Alfonso,
seguramente no te habrás parado a pensar que puede haber otra razón (también de mucha importancia) para que esto sea así: aunque el objetivo sea el mismo (conseguir un IDE), cada cual tiene marcadas unas directrices distintas; a veces completamente distintas.
Si piensas en esto detenidamente podrás llegar a entender por qué algunos pensamos que hace falta un GUI nuevo (y construido desde cero) para ese IDE. Incluso, hay un caso (Bruno) que, por una u otra razón, decidió crear un nuevo compilador.
Luego está el propio nivel de complejidad al que quiera llegar ese IDE. Y me refiero a que sea más o menos completo y que se pueda hacer todo desde el IDE o queden cosas que hacer desde el código. Muchos pensamos que el objetivo a perseguir es tener un IDE como el de Delphi... pero eso quizás sea una utopía. Por supuesto que algunas cosas del IDE de Borland se pueden mejorar, pero al final tenemos que poner un límite, y ese mismo límite determina la forma de hacer tanto el IDE como el GUI.
A la hora de hacer el GUI también hay diferencias sobre cómo hacer muchas cosas, y eso nos vuelve a llevar al problema inicial: cada uno creemos que nuestra idea es la mejor. Por supuesto que todos tenemos razón y a la vez todos nos equivocamos. Creo firmemente que todos tendremos partes que están mejor hechas que las de los demás, pero también tendremos otras partes que alguno de los demás la tendrá mejor resuelta.
En fin, eso es lo que hay. Y te doy la razón en cuanto a que la comunidad xbase corre el riesgo de fragmentarse y reducirse todavía más. Y yo personalmente estoy siendo partícipe de ésto. Pero creo firmemente en que al final no será así, sino que, si hacemos las cosas bien, volveremos a captar a nuevos programadores que se sumarán a nuestra (actualmente) pequeña comunidad. Mucho se ha hablado de ésto, pero es cierto que si no hacemos cosas nuevas que atraigan a la gente nuestro querido xbase se muere, como viene haciéndolo en los últimos años.
Un saludo,
José F. Giménez
Comentado por José F. Giménez a Martes, 30 de Diciembre de 2003A parte de los comentarios de Jose F.Gimenez, la verdad es que el IDE no tiene mucho sentido de prosperar, la cual hay que analizar las causas posibles de su imposibilidad.
1.- El IDE hace un par de años seria logico en su momento, pero ahora nos enfrentamos a quien quiera desarrollar uno tiene que tener en cuenta sobre que tiene que correr, xHarbour, Harbour, C3, Fivewin, Fivewin Harbour, FWC3, Fivewin++, Xailer, Minigui, XWT, etc... osease, el aburrimiento de posibilidades.
2.- Para que un IDE 'triunfe' deberia ser Free Software. Pero claro, la pasta es la pasta y el timepo a dedicarse realmente es de echar muchas horas.
Ahora bien, que entendemos como IDE ?
Un editor de texto + herramientas para compilar desde el mismo editor, algo asi como el Turbo C,
o mas bien algo como el Visual Fivewin ?
Si lo que se pretende crear es un editor + herramientas, para que ? Si ya lo tienes, y mejor que el que puedes hacer tu, me parece que no llegaria a la suela del zapato al UltraEdit,etc..
Si lo que pretendemos es tener un Visual , creo que el mejor que he visto y con diferencia es el de Patrick Fan, simplemente por poder incrustar OCX en tiempo de diseño, ESO ME DEJO ALUCINAO!!!
Pero claro, no esta disponible el codigo fuente de
como se realiza la magia, y se que el primero que hizo eso soy precisamente Jose F.Gimenez, que por desgracia para los programadores de Fivewin se nos a ido por su cuenta, unos de tantos que se van, y creo que 'gurus' como Jose hay muy poquitos.
Pues por hacerse ido, hemos perdido la posibilidad de saber 'COMO' hizo el incrustar un OCX en un dialogo. Yo no creo que ni lo publique como lo realizo, no se va a tirar piedras sobre su propio tejado y lo comprendo, pero si miras con detenimiento te preguntas:
- ¿ Y esto como lo hace si no veo nada de codigo ?
Pues si amigos, a seguir en la ignorancia.
Eso deberia de recaer en Antonio Linares el brindarnos a nosotros a traves de su producto, Fivewin, el poderlo realizar, no por parte de terceros.
Ahora mismo estamos asistiendo a una 'guerra' de unos cuantos por llevarse a su terreno a la gente para amortizar su 'trabajo' en la creacion de compiladores, gui, librerias, RDD, etc...
Si os dais cuenta, llegareis a la conclusion que todo lo que un lenguaje MODERNO lleva ya de serie y que seria de uso obligatorio en el desarrollo de un nuevo compilador, son componentes aparte donde tienes que pasar por caja, eso si, cada cual puede
poner precio a su trabajo, pero a mi, eso me parece una burla a la gente que se dedica a testear el producto 'gratuitamente'.
Pues que le paguen por hacer de betatesters!
Joder, osease, es como tener Fivewin, pero sin clases de controles, y cuando quiera hacer uso de poner un say en pantalla, tenga que comprarlo.
¿ Os imaginais que cualquier compilador del mercado no trajera de serie cosas que ya se consideran basicas, como poder poner un say en pantalla ?
¿ Pues para que narices me sirve entonces el compilador ?
Es como el IDE, si bien no es necesario, ayuda y mucho a la hora de proyectos de media envergadura,
me acuerdo ahora mismo del PE, famoso editor de textos para clipper jajajaja, pero en vez de unirse todos a una, cada cual tira por su lado y asi lo unico que se consigue es mandarlos a todos a tomar pol c*lo y decides seguir como estas, cansado de tantas promesas y gilipolleces.
Yo lo unico que espero es ver a Xailer, y seguro que incorporara el uso de OCX de forma nativa, tal y como hace uso Patrick Fan, donde esta las variables y los method los ves creados de la nada.
Si eso es asi, le metera un golpe FORTISIMO a Fivewin, y conociendo a Jose, seguro que me sorprendera otra vez, como tantas veces hizo cuando estaba con nosotros.
Yo solamente pido que Xailer no te 'encapsule' su funcionamiento interno, porque si no, morira nada mas nacer.
Yo quiero ser dueño , amo y señor de lo que programo , ningun IDE o Visual tiene que tener prioridad sobre mi trabajo o forma de programar.
Por lo poco que he visto, un par de ejemplos, nada mas, me quede muy ilusionado con Xailer.
Pero mi opinion , es que NINGUN IDE triunfara vendido aparte de Fivewin, Xailer, etc...
Jose F.,
Vamos a ver, creo que no has profundizado mucho en el artículo ya que sigues viendo las cosas desde el punto de vista unilaterar de cada "genio".
Vamos a ver, en el artículo hablo de crear un Director de Proyecto totalmente ajeno a Grupo de "genios", me explico, el Director de Proyecto no debe ser nunca uno de los programadores del Grupo de Desarrollo, eso es un error ya que él también tendrá sus propias ideas y querra imponerlas sobre las de los demas.
En el artículo también comento que antes de ponerse a desarrollar nada tienen que reunirse el Grupo de Desarrollo y el Director de Proyecto para trazar un esquema de trabajo a seguir, es el Director de Proyecto quien decide que cosas serán prioritarias, cuales se implementaran y cuales se dejaran para el final o no se incluirán.
El Director de Proyecto, además, debe ser intermediario entre el Grupo de Desarrollo y los Usuarios, recabando información de lo que realmente necesitan para que el desarrollo no caiga en utopías que retrasen la salida del producto inicial.
En las reuniones de trabajo hay que ir definiendo como hacer las cosas, cada programador es un mundo y si es un "genio" es aún peor, así que las normas de redacción de software y de elaboración de controles deben estar consesuadas por todos los intervinientes, pero siempre abierta a cambios durante el desarrollo (sabemos que cualquier desarrollo se encuentra con muchos imprevistos durante su producción).
Uno de los objetivos de un producto de estas caracteristicas es la de atraer a nuevos usuarios, pero no hay que olvidar que los compradores potenciales del producto en los primeros meses de vida serán los actuales usuarios que hay usando otras herramientas similares (en nuestro caso la comunidad xBase de Clipper+FW).
Voy a aprovechar este post para incluir un punto que me dejé atrás al escribir el artículo ayer y es que todos los que os habéis lanzado a la aventura de crear una GUI con IDE y los que empezaron a crear IDEs, no se os ocurrio realizar un sondeo de qué era lo más demandado en ese momento por los usuarios, nadie ha hecho una encuesta de mercado ni ha preguntado "¿qué quereis?".
Creo que no es tarde para poder alcanzar un producto único y de excelente calidad, el trabajo realizado no está perdido ya que ha servido para aprender, así que ahí queda mi propuesta.
Comentado por Jose A. Suárez a Martes, 30 de Diciembre de 2003Rafa,
muchas gracias por los halagos y por la confianza que tienes en mi trabajo. Ya sabes que cuando hago algo me gusta hacerlo bien, y espero que este proyecto también sea así; por mi parte estoy seguro, pero yo no soy el amo de la verdad absoluta, y los demás también tendreis que opinar.
Por cierto, Xailer no es sólo mio, aunque yo sea el coordinador y quien ha hecho algunas de las partes principales. Desde aquí quiero expresar también mi reconocimiento a la labor que han hecho y están haciendo también los demás miembros del equipo. Sin ellos, un proyecto como Xailer hubiera sido completamente inabordable. Eso desde el punto de vista técnico, porque desde el punto de vista comercial tampoco estoy sólo, Ignacio tiene mucho que ver (y también en lo técnico); de hecho, el proyecto lo iniciamos los dos.
Respecto a los OCX... pues sí, yo fuí el primero; o al menos el primero en mostrarlo. Pero entre lo que yo hice y lo de Patrick hay una diferencia técnica fundamental: Patrick utiliza una DLL hecha en Delphi que es quien realmente trata con el OCX, mientras que yo lo hice "a pelo", usando y desarrollando directamente la docena de interfaces COM implicadas en el uso de OCX. Desde el punto de vista del usuario no hay apenas diferencias, salvo claro está, que con lo de Patrick tienes que distrubuir también la DLL, mientras que con lo mio, todo el código está dentro del ejecutable. Si no te gusta usar DLL externas (como a mí) pues te gustará más mi solución, pero si te da igual, las dos te gustarán.
Por otro lado, sabes que lo que yo hice de OCX fue justo antes de la sonada ruptura AL-IO, pero no estaba del todo terminado, así que al empezar a hacer Xailer decidí que no llegaría a publicarlo para FWH sino para Xailer; que además, estará incluido de base.
Y respecto al IDE, pues para mí, un IDE actual no es sólo un gestor de proyectos y un editor de código; para eso ya tenemos unos cuantos muy buenos (yo usaba el MED y me iba muy bien). Para mí, un IDE profesional tiene que incluir también un diseñador de formularios, y es ahí donde surjen todavía más diferencias: en mi opinión, el IDE tiene que estar necesariamente hecho con el mismo GUI para el que va destinado, pero también hay quienes opinan que es posible hacer un IDE "universal", que sirva para cualquier GUI.
Y respecto al tema económico... hombre, como comprenderás, llevo dedicado un año de trabajo a este proyecto, a tiempo completo, y estarás de acuerdo en que ese esfuerzo merece una recompensa.
Y no sólo yo, en total Xailer llevará invertidos muchos miles de horas de esfuerzo entre todo el equipo. Y no es porque me haya vuelto ambicioso o egoista; todos sabeis que yo también he donado trabajos mios completamente free, y no descarto hacerlo también en el futuro, pero una cosa es hacer una clase, un control o una rutina que necesitas en tu trabajo privado y después completarla y publicarla y otra muy distinta es hacer un proyecto como éste. Estoy seguro de que no compartes la forma de rentabilizar este tipo de trabajo; de hecho tu punto de vista es ampliamente conocido y tú mismo lo has expuesto repetidamente. Por supuesto lo respeto, pero permíteme no compartirlo. En otras circunstancias estaría un poco más cerca de tus tesis, pero en este caso, piensa que el mercado es limitado. Es cierto que también buscamos atraer nuevos usuarios, pero no somos MS, y no podemos gastarnos 35 mil millones de pesetas (como con W95) en una campaña publicitaria a nivel mundial que provoque que haya colas en El Corte Inglés para comprarlo ;-)
Y a propósito de ésto, yo no pienso vivir de Xailer; la verdad es que en enero o febrero voy a crear una empresa junto con 1 ó 2 socios más para desarrollar software de gestión (por supuesto utilizando Xailer).
Y por último, no me he ido a ninguna parte, sigo con todos vosotros. Tengo demasiados amigos en este mundillo como para mandarlos a paseo y olvidarme de todos ellos. Yo que ocurre es que ya no utilizo FW. Por eso, y por no estar en el punto de mira, casi nunca aparezco por los foros, pero hay muchos que pueden atestiguar que cuando alguien me ha contactado por email he respondido, incluso sobre cosas de FW.
José Alfonso,
creo que sí he entendido bien tu post, pero sigo pensando lo mismo. Vamos a imaginar que se lleva a cabo lo que propones (que por cierto se ha propuesto varias veces más en el pasado):
Resulta que yo tengo la ABSOLUTA convicción de que un IDE (de la forma que le he contestado a Rafa) es necesario para programar en estos tiempos. Pues resulta que hay gente que cree que no es necesario. En vez de eso, están convencidos que lo necesario es una especie de WorkShop para 32 bits más avanzado y que sea open source y que no dependa de ninguna empresa. E incluso que lo que se necesita es otra cosa (recuerdo un artículo de José Luis Sánchez que tenía un título algo así como "No necesitamos un IDE, necesitamos un Glade").
Como puedes ver, las diferencias empiezan a surgir incluso para determinar qué es lo que necesitamos.
Y la cosa continúa... ¿se necesita un nuevo GUI o hay que hacer un IDE para FW? ¿Qué modelo va a seguir ese nuevo GUI, va a ser OOP puro, OOP mixto, va a soportar comandos? ¿Como va a ser la jerarquía de clases? ¿Va a usar wrappers a las funciones del API (como What32), o utilizará inline C cuando lo necesite? ¿Va a ser sólo para windows o va a ser multiplataforma? ¿Qué compilador(es) va a utilizar? y como éstas, habrá un millar más de preguntas que necesitan ser respondidas antes de empezar.
Yo estoy seguro de que en muchas de esas cuestiones se puede llegar a un consenso, pero hay otras muchas donde las diferencias son insalvables. Y, de verdad, ¿crees que yo dedicaría un año de trabajo mio a un proyecto que no me termine de convencer? La respuesta es no. Y lo mismo se aplica para los demás 'genios' como tú les llamas.
Por supuesto, y como he dicho anteriormente, yo no tengo la verdad y la razón absolutas; nadie las tiene. Pero en mi favor, sí puedo argumentar que tengo una dilatada experiencia como programador, incluido el uso de un IDE visual (Delphi), y conozco perfectamente las ventajas e inconvenientes de una y otra forma de trabajar. Y eso sin olvidar que yo voy a utilizar Xailer para desarrollar mis propias aplicaciones, por lo que los bugs, las carencias o los fallos de diseño seré yo el primero que los vea y los corrija.
Por supuesto que hay otros 'genios' que tienen la misma experiencia y valía, incluso más que yo; pero la primera razón por la que me metí en este proyecto fue el conseguir una herramienta de desarrollo profesional para xbase, con la que yo mismo me encontrara cómodo trabajando, y que me permitiera alcanzar la productividad que necesito.
Un saludo,
José F. Giménez
Comentado por José F. Giménez a Miércoles, 31 de Diciembre de 2003Estimado Jose f.
A lo que me refiero es a un proyecto que recoja las necesidades reales de los usuarios; no estoy diciendo de lo que tú creas que debe ser ni lo que crean otros que debe ser; por supuesto se tienen que oir todas las posturas y de ahí, junto con lo que quieren los usuarios, diseñar el IDE. De ahí la importancia de un director de proyecto que este fuera del grupo de programadores. Y por supuesto, antes de abordar el trabajo que todos esten de acuerdo totalmente, sin ningun tipo de rencilla o resquicio de duda.
En cuanto a lo de rahacer la GUI o mejor hacer un IDE para FW, personalmente creo que es importante hacer una GUI nueva, basada en nuevas tecnologías. Respeto mucho el trabajo de A. Linares, pero creo que es hora que él mismo revise su código si quiere mantener usuarios.
Recuerda que es una idea general de como habría que colaborar no un ataque personal a nadie. Respeto mucho el trabajo de todos los que estáis derarrollando herramientas, pero pienso que se hubiese logrado una herramienta de calidad suprema si se hubesen aunado más esfuerzos. Recuerda aquello de "la unión hace la fuerza".
En cuanto a si open source, gratuito, de pago o cualquier otra cosa, no me entrometo, pero también opino que una herramienta de libre distribución sujeta a un mantenimiento por cuota puede funcionar comercialmente tan bien como la venta de un producto por licencia.
Comentado por Jose A. Suárez a Jueves, 01 de Enero de 2004José Alfonso,
no dudo que esa sería la situación ideal, pero lo que sí dudo (más bien estoy completamente seguro) es que se pueda llevar a la práctica. Quizás, si el objetivo fuera hacer un IDE para FWH sería más fácil; pero si hablamos de hacer una nueva herramienta GUI+IDE, la tarea es imposible.
Míralo de la siguiente forma: el proyecto Harbour perseguía conseguir un compilador de 32 bits que sustituyera a Clipper, y que fuera compatible con él. Pues a pesar de tener un objetivo claro y una referencia muy clara (Clipper), surgieron graves discrepancias, que dieron lugar a otros dos compiladores: C3 y xHarbour (este último derivado de Harbour). Por supuesto que un compilador es algo muy complejo, y que tiene muchos entresijos, pero la referencia es muchísimo más clara que si hablamos de un nuevo GUI+IDE, donde no hay referencias claras anteriores (excepto FW como GUI, pero si hablamos de hacer algo distinto, no vale como referencia).
Por otro lado, en ningún momento me lo he tomado yo (ni creo que nadie se lo tome) como un ataque personal ni me he sentido ofendido en ningún sentido. Yo veo muy bien que plantees este tema, y que des tu opinión, faltaría más. Y yo también he expuesto la mia. Esta es la grandeza de la libertad de expresión.
Un saludo,
José F. Giménez
Comentado por José F. Giménez a Domingo, 04 de Enero de 2004Jose F.,
El planteamiendo de Harbour era (y es) erroneo desde el punto de vista de que no hay un director de proyecto que indique las lineas maestras a segir y que este fuera del grupo de programadores (esto, aunque parezca que no, es importante). De hecho y según mucha gente Harbour y xHarbour aún no es nada (no hay una version 1.00 estable y dispuesta para trabajar sin sorpresas). Pero es un caso distinto y no vale como comparativo ya que yo no estoy hablando de proyectos abiertos y mal organizados.
Por otro lado y según tus observaciones, nunca podría existir nada como Delphi, Visual lo que sea y un monton de herramientas que hay en el mercado, ya que es imposible poner a los "genios" de acuerdo para hacer algo en común.
Respeto tu punto de vista, pero los individualismos sólo crean enfrentamientos y divisiones.
En fin, seguiremos igual, cada cual luchando por lo suyo y reinventando la rueda por no querer colaborar con otros o no dejar que otros colaboren con nosotros.
Comentado por Jose A. Suarez a Lunes, 05 de Enero de 2004