PDA

Ver la versión completa : Linus odia C++



Cypress
25-09-2007, 06:20
Todos sabemos que Linus Torvalds no suele morderse la lengua, y tampoco lo ha hecho recientemente al dar su opinión del lenguaje de programación C++, del que afirma que es “un lenguaje de programación horrible”. Y eso sólo para empezar.

Las declaraciones de Linus vieron la luz gracias a uno de sus famosos mensajes en las listas de correo para desarrolladores, en concreto una relacionada con git, el sistema de control de versiones que utiliza Linus.

En el mensaje previo, un usuario afirmaba que no entendía cómo era posible que git no estuviese programado en C++ y aún utilizase C. Y la respuesta de Linus fue tajante:

“No dices más que gilipolleces. C++ es un lenguaje horrible. E incluso es más horrible por el hecho de que un montón de programadores de segundo nivel lo usan, hasta el punto de que es aún más y más fácil generar basura sin utilidad con él. Sinceramente, incluso si la decisión de haber usado C no tuviera *nada* más que ver con el hecho de mantener a los programadores de C++ fuera del proyecto, esa hubiera sido una gran razón para usar C.”

El resto del mensaje, con algún que otro improperio más, aquí (http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918).

Fuente: The inquirer ES

lean lo que escribe exactamente, está en ingles. Me da la imprecion de que linus es tremendo sobervio..* >:( :-\ :(


Saludos,
Cypress

j8k6f4v9j
25-09-2007, 18:42
Buenísimo aporte, Cypress. Esto da una idea de cómo está el patio, ¿verdad? ;)

No quiero defender a Linus, él ya tiene bastantes defensores y también detractores. Pero hay que tener en cuenta que el usuario tiró la primera piedra:

[> When I first looked at Git source code two things struck me as odd:
> 1. Pure C as opposed to C++. No idea why. Please don't talk about portability,
> it's BS.Los americanos, tan amigos de los acrónimos, usan "BS" para descalificar totalmente algo. Vino a decir algo así como que Git es "mierda de toro"(BULLSHIT), o sea, una gran mierda. Yo también me ofendería, sobre todo si viene de parte de un "programador de segundo nivel". Aunque la verdad, comparados con Torvald supongo que se queda corto y decir "segundo" es todo un halago y realmente "por debajo de la media" sería un poco más adecuado como traducción de "substandard".

Me parece una respuesta genuína, sincera y contundente. Recordemos que este es uno de los personajes inmersos en la gran guerra del software.

Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

Cypress
25-09-2007, 19:15
Bueno.. aun así, - no sabia que BS era bullshit, cambio mi parecer entonces - creo que la groceria está demás..
Linus no puede revajarse al nivel del 'programador de segunda'.. e insultarlo por igual.

Pero, me retracto, con lo de sobervio. :P

Saludos,
Cypress

j8k6f4v9j
25-09-2007, 19:46
El mensaje no tiene desperdicio, así que haré la traducción completa y la postearé aquí cuando la tenga, por si alguien más se presta al debate.

Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

RaidMan
25-09-2007, 20:21
Te echare un cable con la ultima parte... que es la que mas interesante me ha parecido:




So I'm sorry, but for something like git, where efficiency was a primary
objective, the "advantages" of C++ is just a huge mistake. The fact that
we also piss off people who cannot see that is just a big additional
advantage.

If you want a VCS that is written in C++, go play with Monotone. Really.
They use a "real database". They use "nice object-oriented libraries".
They use "nice C++ abstractions". And quite frankly, as a result of all
these design decisions that sound so appealing to some CS people, the end
result is a horrible and unmaintainable mess.

But I'm sure you'd like it more than git.

Linus


Traducido:



Asi que lo siento, pero en algo como Git, donde la eficiencia era el objetivo primario, las "ventajas de C++ son solo una gran confusion.
A nosotros tambien nos saca de nuestras casillas el echo de que la gente no pueda ver que esto es una gran ventaja adicional (de esto no estoy muy seguro, asi que j8, si quieres modificalo:D)

Si quieres un VCS que este escrito en C++ vete a jugar con Monotone. En serio.
Usan una "base de datos real". Usan unas "Geniales librerias orientadas a objetos". Usan unas "Geniales abstracciones C++". Y francamente como resultado de todos estos diseños, que suenan tan atractivos, es un horrible e inconserbable lio.
Linus


Francamente yo tambien creo que el señor Torvalds se paso, sobre todo en la primera parte al responderle "Tu si que eres una pedazo de mierda" lo del BS...

No debio rebajarse a su nivel, el es un gran programador, que no deberia enfrentarse asi con alguien que puede considerar que C++ es algo "Genial" y que deberia ser introducido en Git


Un saludo

j8k6f4v9j
25-09-2007, 21:05
Bueno, ya lo tenía traducido, pero gracias de todos modos. Aquí pongo el texto completo. Evidentemente se trata de una traducción libre, dado el uso de expresiones sin traducción:


From: Linus Torvalds <torvalds <at> linux-foundation.org>
Subject: Re: [RFC] Convert builin-mailinfo.c to use The Better String Library.
Newsgroups: gmane.comp.version-control.git
Date: 2007-09-06 17:50:28 GMT (2 weeks, 4 days, 22 hours and 51 minutes ago)

El miércores, 5 de Septiembre de 2007, Dmitry Kakurin escribió:
>
> La primera vez que ví el código fuente de Git me extrañaron dos cosas:
> 1. C puro en contraposición a C++. No tengo ni idea de por qué. Por favor, no me digáis que es por la portabilidad porque
> es una pedazo de mierda.

*Tú* estás lleno de mierda.

C++ es un lenguaje horrible. Aún más horrible lo hace el hecho de que muchos infraprogramadores lo usan, hasta el punto que es mucho mucho más fácil generar una completa y absoluta mierda con él. Si te soy franco, aunque el motivo de haber elegido C no haya tenido *nada* que ver con mantener a los programadores de C++ lejos, hubiese sido un gran motivo para usar C.

Dicho de otro modo: la elección de C es la única elección sensata. Sé que Miles Bader dijo en plan bromista "cabrea", pero es totalmente cierto. He llegado a la conclusión de que cualquier programador que prefiera C++ antes que C para este proyecto es probablemente un programador al que me *gustaría* cabrear, para que no venga a joder un proyecto en el que estoy involucrado.

C++ propicia la creación de diseños muy muy malos. Invariablemente la gente comienza usando las "bonitas" capacidades de las librerías incluídas en el lenguaje, como STL, Boost u otras porquerías que pueden "ayudarte" a programar pero provocan:

-cantidades infinitas de sufrimiento cuando no funcionan (cualquiera que me diga que STL, y especialmente Boost son estables y portables está simplemente tan lleno de mierda que ni resulta gracioso)
-modelos abstractos ineficientes de programación, con los que pasados dos años te das cuenta de que la abstracción no era muy eficiente, pero que ahora todo tu código depende de esos bonitos modelos de objetos y no lo puedes arreglar más que reescribiendo toda la aplicación.

En otras palabras, el único modo de hacer un C++ bueno, eficiente a nivel de sistema y portable, acaba limitándote a todas aquellas cosas que básicamente están disponibles en C. Y limitar tu proyecto a C implica que la gente no la cague y también que consigas a un montón de programadores que realmente comprenden las cuestiones de bajo nivel y no la cagan con basura "orientada a objetos".

Así que lo siento, pero en algo como Git, donde la eficiencia era un objetivo primario, las "ventajas" de C++ son simplemente un craso error. El que cabreemos a la gente que no ve esto como una gran ventaja adicional.

Si quieres un VCS escrito en C++ ve y juega con Monotone. En serio. Usan una "base de datos real". Usan unas "bonitas librearías orientadas a objetos". Y francamente, como resultado de todas esas decisiones sobre diseño tan atractivas para la gente de CS, el resultado es un trasto horrible y inmantenible.

Pero estoy seguro de que te gustaría más que git.

Linus


Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

surfman
26-09-2007, 08:37
No se, pero yo creo que Linus estaba un poco estresado a la hora de leer el mensaje, y al ver que insultaban el trabajo que estaba haciendo, fue la gota que derramo el vaso, y por eso le contesto de esa forma, bueno eso es lo que creo, no debemos olvidar que somos humanos y que las emociones nos hacen perder el control, aun asi, apoyo a Linus, porque a mi me molestaria que dijeran eso de un proyecto mio, ademas la respuesta de Linus se tiene buenos fundamentos de porque no usar C++ para su proyecto, salu2
:)

gondar_f
27-09-2007, 13:01
Creo que Linus se paso, aunque fue una respusta a una agresión previa...

Por otro lado lo que dice de C++ no es nada nuevo, simplemente enumera algúnos (hay más) problemas de C++ y motivos por los que muchos de los programadores que lo usaban se pasaron a Java (principalmente) y ahora al alguno de los lenguajes .NET.

Aunque a mi no me estrañan estas reacciones en Linus, aun hace unos meses echo las pestes contra Gnome, por cierto ninguna novedad, siempre hablo muy mal contra Gnome incluso en medio broma en una entrevista de hace unos años comento que se le había pasado por la cabeza más de una vez poner una restricción a kernel para que no puediera ser usado con Gnome... curiosamente Gnome está escrito en C y Linus apoyo desde un principio KDE escrita en C++...

Un Saludo