Benchmarking en distintos lenguajes

Germán Poó-Caamaño gpoo en ubiobio.cl
Mar Dic 4 18:43:02 CLST 2007


On Tue, 2007-12-04 at 14:30 -0300, Franco Catrin L. wrote:
> "Horst H. von Brand" <vonbrand en inf.utfsm.cl> ha escrito:
> [...]
> "The C Programming Language" de K&R lo conocí mas tarde, pero lo  
> encontré demasiado C'ista para mis gustos, a la larga alguien tiene  
> que entender lo que uno escribe.
> 
> >>              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.
> 
> He visto aplicaciones grandes escritas en C (en empresas), y el  
> problema con dejar eso en manos de la voluntad del programador es que  
> se pueden perder horas o dias porque algun pastel olvido poner un "*".
> 
> En el caso de C# y Java no puedes mezclar tipos con y sin referencia,  
> por lo tanto no existe tal mezcolanza.  O es o no es, y el programador  
> tiene que ser muy explicito cuando quiera que eso que es, deje de  
> serlo.  (boxing/unboxing).

Joel Spolsky diría: En C tu puedes distinguir a un buen de un mal 
programador. En Java, no necesariamente.

> [...]
> > 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).
> 
> Y que tal el manejo de string en C?  jijiji ;)

Entenderlo permite entender, aún en un lenguaje de alto nivel,
como funciona internamente el computador.  Aún cuando no 
se programa en C la aplicación, permite comprender cuando una
solución puede ser lenta, o donde se producirán los cuellos
de botella.

"if you can't explain why while (*s++ = *t++); copies a string, 
or if that isn't the most natural thing in the world to you, 
well, you're programming based on superstition"


Back to Basics:
http://www.joelonsoftware.com/articles/fog0000000319.html

The Perils of JavaSchool:
http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html

"Advice for Computer Science College Students"
http://www.joelonsoftware.com/printerFriendly/articles/CollegeAdvice.html

Y como adicional, aunque ya es un problema de abstracción de C++:
The Law of Leaky Abstractions
http://www.joelonsoftware.com/articles/LeakyAbstractions.html

-- 
Germán Poó Caamaño
Concepción - Chile



Más información sobre la lista de distribución Linux