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