Benchmarking en distintos lenguajes [ Era algo así como cliente en jabber... ]
Horst H. von Brand
vonbrand en inf.utfsm.cl
Mar Dic 4 13:24:12 CLST 2007
Franco Catrin L. <fcatrin en tuxpan.com> wrote:
> "Horst H. von Brand" <vonbrand en inf.utfsm.cl> ha escrito:
> > Java es un completo desastre. Obliga a la gente a escribir montones de
> > cosas completamente incomprensibles (de lo OOP, y heredar, e incluir
> > bibliotecas, y...) para un simple "Hola, mundo!".
> Mal ejemplo porque para un simple "Hola, mundo!" el código de Java (o
> C#) no es muy diferente al de C [1]
------------ próxima parte ------------
Que es esa basura de "public class"? Porque el archivo se tiene que llamar
asi? Que es "public static void"? Porque "System.out"? Y la larga lista de
etc que aparecen en cuanto quieres leer algo, o definir tus propios datos.
------------ próxima parte ------------
Elegante. Clasico. ;-)
------------ próxima parte ------------
Ni tanto mas feo que la version C.
> > OOP es para problemas
> > /muy/ grandes, en otras cosas es un perfecto desperdicio. Y como el mechon
> > promedio escribe programas de una a dos docenas de lineas, no uno o dos
> > centenares de miles de lineas, ...
> El problema posterior es exorcisarlo para que pueda aplicar OOP y sea
> capaz de abordar aplicaciones reales.
Y? Acaso con hacerlo escribir una funcion en una clase que lee 3 numeros y
escribe la suma sabe OOP?
> Tengo una opinion muy humilde
> y personal y es que la cantidad de desastres que se ven en OOP son porque
> a la hora de tener que usarlo, el personaje en cuestion tiene poca
> experiencia en OOP
"No tiene la menor idea de que se trata" suele ser mas cercano a la
verdad...
> debido a su "deformacion profesional" y no es capaz de
> reconocer cuando esta cayendo en cosas como over-design/engineering.
En eso cae todo mal profesional. Y, lamentablemente, la inmensa mayoria de
los "programadores" debieran dedicarse a plantar papas, asi resultarian mas
productivos para la sociedad.
> Si
> los niños aprendieran desde mechones que la mejor solución no es
> necesariamente la que se le ocurrió, y que existen patrones de diseño
> requetecontraprobados las cosas serían muy distintas.
Metele en la cabezota a un mechon (o no tanto...) que lo que intenta hacer
esta requete-recontra-hecho... metele en la cabeza al profe correspondiente
que la gente no /escribe/ programas, /modifica/ programas, o debe trabajar
/en el estilo/ o /con lo que trae/ el ambiente en que trabaja...
> En cuanto a lenguajes, siempre le hice el quite al C, y me costó tanto
> entender su sintaxis para utilizar punteros/referencias que me salia
> más comodo generar el .ASM para ver que diablos estaba haciendo el
> compilador.
Alo? Tierra a Saturno!?
O tuviste la desgracia de tener un /pesimo/ profesor, o leiste los textos
equivocados. El Kernighan y Ritchie "The C Programming Language" es un
clasico, con merecida razon. Libros como el "Software Tools" de Kerighan y
Plaugher (no la version en Pascal!) son escenciales para aprender a
programar bien. Y en <http://www.lysator.liu.se/c> hay harto sobre la
cultura C.
> En lenguajes como C# o Java simplemente se usa la
> politica de "todo es referencia" salvo los tipos básicos.
Prefiero un lenguaje en que "solo es referencia lo que dije que es
referencia"... o al menos "todo es referencia", esta mezcolanza de "es" y
"no es" solo sirve para confundir.
> Al final
> igual aprendí C pero no me convence de que sea buena idea utilizarlo
> para enseñar
No es ideal, pero es bastante mejor que todas las alternativas que conozco
(salvo tal vez Scheme, pero ese va a otra parte...)
> (idem para Pascal y sus "tongos").
Dentro de lo que es manejo de punteros, es /harto/ decente. Lo feo de
Pascal esta en la imposibilidad de escribir cosas genericas y crear
bibliotecas, y el forro que es manejar strings. Alli Modula II es lindo
(aunque un tanto rigido).
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria +56 32 2654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 2797513
Más información sobre la lista de distribución Linux