No hace falta que me cuentes las bondades del Pascal. Aun mantengo código antiguo hecho en Delphi-5. (poco, pero ahí está aguantando)
El C++ para mí es farragoso y, aunque ha hecho lo que ha podido, tiene muchos defectos de C. Pero la realidad es tozuda. El 50% de todo lo que hay por ahí ofrece una API en C o C++ (y el otro 49% en java). ¿Una nueva versión de Postgres? Enlazas el DLL directamente, en pascal has de escribir la conversión o esperar a que alguien lo haga. Y eso se aplica a mil cosas SQLite, OpenGL, QT, GTK...
Hay otros lenguajes con el mismo problema, el mismo Java, el Python, pero estos ofrecen un "extra" sobre C++: son multiplataforma. ¿Qué ofrece el Pascal sobre C++? Para mí mucho en claridad y bugs, pero la percepción general no es esa. "Puedo vivir con los problemas actuales de C++".
Respecto al Lazarus, lo sigo desde que era el proyecto Megido, y es impresionante, sin embargo hay cosas que lo hacen problemático para producción. 1) Seguir a Delphi intentando replicar el VCL es un error estratégico. 2) El debuger es incapaz de depurar la mayoría de las "property". No puedes poner el cursor encima de "StringList.text" y que te muestre el valor, y estoy acostumbrado a eso.
Y lo malo de estas dos pegas es que una es de visión estratégica, y no parecen coincidir conmigo. Y la segunda es un bug/petición que lleva tiempo inmemorial y parece que no saben como hacerlo.
Creo que lo he dicho alguna vez que el Pascal fue mi primer amor. Y nada me gustaría más que Lazarus y freepascal fueran mucho más populares. Pero me temo que nunca pasará de ser un lenguaje nicho.
Respecto a la percepción, la realidad es tozuda, pero la valoración que haces de la realidad es muy maleable. Cuanto más lejos estés de la realidad más problemas, pero hay amplísimo margen. "Así ha sido siempre y así será"
Ah, el Delphi, si tengo un corazón como programador, Delphi está en él.
Casi todos las empresas que conozco en las que se usaba Delphi se han pasado a C#.
He intentado resucitarlo con Lazarus unas cuantas veces, pero Lazarus no tiene la madurez necesaria, quizás está bien para proyectos pequeños, lo que he encontrado desesperante son los comportamientos "inesperados" en los componentes y lo frágil que es el debugger.
C y C++ son unas bestias que te dan exactamente lo que les pides (que desafortunadamente no es lo que se quiere), son cuchillos afilados que sólo se pueden sujetar por el mango, eso sí hacen buenos cortes.
Hoy en día C++ es, junto con Python, el pan mío de cada día. Y el mayor problema con él es la expresión "C/C++" porque son lenguajes muy diferentes. El 80% de los "C/C++ programmers" que me encuentro no tienen ni idea de C++, son programadores de C que se han metido a hacer cosas en C++ sin ningún tipo de formación en el lenguaje, y lo peor es que se creen expertos.
Una anécdota, hace unos años trabajé en una empresa llena de estos programadores de C escribiendo código en C++ porque lo habían conseguido un contrato, el resto es una historia de miedo, pero no es lo que voy a contar. El "Leading Developer" de esa empresa, el experto en el lenguaje, que era también responsable de contratar, se presentó, años más tarde, a una plaza de lo mismo en otra empresa a la que por casualidad yo le llevaba las entrevistas técnicas, en el test de C++ sacó un 15% (75% era el mínimo para considerar un candidato).
Lo que sí tiene en común ambos, C y C++ (por su herencia de C) es que con ellos un buen diseño y arquitectura es esencial, no perdonan. Y los programadores tienen que saber lo que se hace.
Personalmente lo que más me jode de C++ es la reutilización de palabras clave, y el uso tan críptico que hace de los signos de puntuación en su sintaxis, hace enseñarlo, y aprenderlo, un drama. Por ejemplo, recuerdo lo difícil que me es explicar la herencia "virtual" debido a que es lo mismo que declara a un método virtual, podían haber usado dos palabras distintas, cohone.
En corto, C++ no es C, y ambos necesitan formación previa.
Re:Soy un visionario
(Puntos:2)( http://barrapunto.com/ | Última bitácora: Viernes, 29 Diciembre de 2017, 18:26h )
No hace falta que me cuentes las bondades del Pascal. Aun mantengo código antiguo hecho en Delphi-5. (poco, pero ahí está aguantando)
El C++ para mí es farragoso y, aunque ha hecho lo que ha podido, tiene muchos defectos de C. Pero la realidad es tozuda. El 50% de todo lo que hay por ahí ofrece una API en C o C++ (y el otro 49% en java). ¿Una nueva versión de Postgres? Enlazas el DLL directamente, en pascal has de escribir la conversión o esperar a que alguien lo haga. Y eso se aplica a mil cosas SQLite, OpenGL, QT, GTK...
Hay otros lenguajes con el mismo problema, el mismo Java, el Python, pero estos ofrecen un "extra" sobre C++: son multiplataforma. ¿Qué ofrece el Pascal sobre C++? Para mí mucho en claridad y bugs, pero la percepción general no es esa. "Puedo vivir con los problemas actuales de C++".
Respecto al Lazarus, lo sigo desde que era el proyecto Megido, y es impresionante, sin embargo hay cosas que lo hacen problemático para producción. 1) Seguir a Delphi intentando replicar el VCL es un error estratégico. 2) El debuger es incapaz de depurar la mayoría de las "property". No puedes poner el cursor encima de "StringList.text" y que te muestre el valor, y estoy acostumbrado a eso.
Y lo malo de estas dos pegas es que una es de visión estratégica, y no parecen coincidir conmigo. Y la segunda es un bug/petición que lleva tiempo inmemorial y parece que no saben como hacerlo.
Creo que lo he dicho alguna vez que el Pascal fue mi primer amor. Y nada me gustaría más que Lazarus y freepascal fueran mucho más populares. Pero me temo que nunca pasará de ser un lenguaje nicho.
Respecto a la percepción, la realidad es tozuda, pero la valoración que haces de la realidad es muy maleable. Cuanto más lejos estés de la realidad más problemas, pero hay amplísimo margen. "Así ha sido siempre y así será"
Re:Soy un visionario
(Puntos:2)( http://kernel.org/ | Última bitácora: Viernes, 31 Julio de 2015, 11:54h )
Casi todos las empresas que conozco en las que se usaba Delphi se han pasado a C#.
He intentado resucitarlo con Lazarus unas cuantas veces, pero Lazarus no tiene la madurez necesaria, quizás está bien para proyectos pequeños, lo que he encontrado desesperante son los comportamientos "inesperados" en los componentes y lo frágil que es el debugger.
C y C++ son unas bestias que te dan exactamente lo que les pides (que desafortunadamente no es lo que se quiere), son cuchillos afilados que sólo se pueden sujetar por el mango, eso sí hacen buenos cortes.
Hoy en día C++ es, junto con Python, el pan mío de cada día. Y el mayor problema con él es la expresión "C/C++" porque son lenguajes muy diferentes. El 80% de los "C/C++ programmers" que me encuentro no tienen ni idea de C++, son programadores de C que se han metido a hacer cosas en C++ sin ningún tipo de formación en el lenguaje, y lo peor es que se creen expertos.
Una anécdota, hace unos años trabajé en una empresa llena de estos programadores de C escribiendo código en C++ porque lo habían conseguido un contrato, el resto es una historia de miedo, pero no es lo que voy a contar. El "Leading Developer" de esa empresa, el experto en el lenguaje, que era también responsable de contratar, se presentó, años más tarde, a una plaza de lo mismo en otra empresa a la que por casualidad yo le llevaba las entrevistas técnicas, en el test de C++ sacó un 15% (75% era el mínimo para considerar un candidato).
Lo que sí tiene en común ambos, C y C++ (por su herencia de C) es que con ellos un buen diseño y arquitectura es esencial, no perdonan. Y los programadores tienen que saber lo que se hace.
Personalmente lo que más me jode de C++ es la reutilización de palabras clave, y el uso tan críptico que hace de los signos de puntuación en su sintaxis, hace enseñarlo, y aprenderlo, un drama. Por ejemplo, recuerdo lo difícil que me es explicar la herencia "virtual" debido a que es lo mismo que declara a un método virtual, podían haber usado dos palabras distintas, cohone.
En corto, C++ no es C, y ambos necesitan formación previa.
Saludos.
1 + 2 + 3 + 4 + 5 + 6 + 7 +... = -1/12