Traducción:
El 1 de Enero de 1998, Bjarne Stroustrup dio una entrevista a la 
 revista de informatica del IEEE. Naturalmente, los editores pensaron 
 que el estaba dando una vision restrospectiva de los siete anos de 
 diseno orientado a objetos, usando el lenguaje que el mismo Había 
 creado. 
Al finalizar la entrevista, el entrevistador consiguió mas de lo que 
 Había pactado en un principio, y consecuentemente, el editor decidio 
 suprimir los contenidos 'por el bien de la industria'. Pero como suele 
 suceder, la informacion se filtro... 
Aquí esta una completa transcripción de lo que se dijo, no editado, no 
 ensayado, es decir que no es como las entrevistas planeadas... 
Lo encontrareis interesante...
¡Alto, solo para informaticos, conocedores de c++ y demas mamonadas!
Int: Bien, hace unos pocos anos que cambio el mundo del diseno de 
 software, como se siente mirando atras? 
BS: En este momento estaba pensando en aquellos dias, justo antes de 
 que llegases. Los recuerdas? Todo el mundo escribia en C y el problema 
 era que eran demasiado buenos... Las Universidades eran demasiado 
 buenas ensenandolo también. Se estaban graduando programadores 
 competentes a una velocidad de vértigo. Esa era la causa del problema. 
Int: Problema?
BS: Si, problema. Recuerdas cuando todos programaban en Cobol?
Int: Desde luego. Yo también lo hice.
BS: Bien, al principio, esos tipos eran como semidioses. Sus salarios 
 eran altos, y eran tratados como la realeza... 
Int: Aquellos fueron buenos tiempos, eh?
BS: Exacto. Pero, que paso? IBM se canso de ello, e invirtio millones 
 en entrenar a programadores, hasta el punto que podias comprar una 
 docena por medio dolar... 
Int: Eso es por lo que me fui. Los salarios bajaron en un ano hasta el 
 punto de que el trabajo de periodista esta mejor pagado. 
BS: Exactamente. Bien, lo mismo paso con los programadores de C...
Int: Ya veo, pero adonde quiere llegar?
BS: Bien, un dia, mientras estaba sentado en la oficina, pensaba en 
 este pequeno esquema, que podria inclinar la balanza un poquito. Pense 
 'Que ocurriria si existiese un lenguaje tan complicado, tan difícil de 
 aprender, que nadie fuese capaz de inundar el mercado de programadores?' 
 Empece cogiendo varias ideas del X10, ya sabes, X windows. Es una 
 autentica pesadilla de sistemas graficos, que solo se ejecutaba en 
 aquellas cosas Sun 3/60... tenia todos los ingredientes que yo buscaba. 
 Una sintaxis ridiculamente compleja, funciones oscuras y estructuras 
 pseudo-OO. Incluso ahora nadie escribe en código nativo para las 
 X-Windows. Motif es el unico camino a seguir si quieres mantener la 
 cordura. 
Int: Esta bromeando?
BS: Ni un pelo. De hecho, existe otro problema... Unix esta escrito en 
 C, Lo que significa que un programador en C puede convertirse facilmente 
 en un programador de sistemas. Recuerdas el dinero que un programador 
 de sistemas solia conseguir? 
Int: Puede apostar por ello. Es lo que solia hacer yo...
BS: Ok, por lo tanto, este nuevo lenguaje tenia que divorciarse por si 
 mismo de Unix, ocultando las llamadas al sistema. Esto podria permitir 
 a tipos que solo conocían el DOS ganarse la vida decentemente... 
Int: No me puedo creer que haya dicho eso...
BS: Bueno, ha llovido mucho desde entonces. Ahora creo que la mayoria 
 de la gente se habra figurado que C++ es una perdida de tiempo, pero 
 debo decir que han tardado mas en darse cuenta de lo que pensaba. 
Int: Entonces, que hizo exactamente?
BS: Se suponia que tenia que ser una broma, nunca pense que la gente 
 se tomase el libro en serio. Cualquiera con dos dedos de frente puede 
 ver que la programación orientada a objetos es anti intuitiva, ilogica 
 e ineficiente... 
Int: Que?!?!
BS: Y como el código reutilizable... cuando has oido de una compania 
 que reutilice su código? 
Int: Bien, nunca, pero...
BS: Entonces estas de acuerdo. Recuerda, algunos lo intentaron al 
 principio. Había esa compania de Oregon, creo que se llamaba Mentor 
 Graphics, que revento intentando reescribir todo en C++ en el 90 o 
 91. Lo siento realmente por ellos, pero pense que los demas 
 aprenderían de sus errores. 
Int: Obviamente no lo hicieron, verdad?
BS: Ni lo mas minimo. El problema es que la mayoria de las empresas 
 se callaron sus mayores disparates, y explicar 30 millones de dolares 
 de perdidas a los accionistas podria haber sido dificil... Demosles el 
 reconocimiento que merecen, finalmente consiguieron hacer que funcionase 
Int: Lo hicieron? Bien eso demuestra que la OO funciona...
BS: Casi. El ejecutable era tan gigantesco que tardaba unos cinco 
 minutos en cargar en una estacion de trabajo de HP con 128 MB de RAM. 
 Iba tan rapido como un triciclo. Crei que seria un escollo insalvable 
 pero nadie se preocupo. SUN y HP estaban demasiado alegres de vender 
 enormes y poderosas maquinas con gigantescos recursos para ejecutar 
 programas triviales. Ya sabes, cuando hicimos nuestro primer compilador 
 de C++, en AT&T, compile el clásico 'Hello World', y no me podia creer 
 el tamano del ejecutable. 2.1 MB. 
Int: Que ?!?!. Bueno, los compiladores han mejorado mucho desde 
 entonces... 
BS: Lo han hecho? Inténtalo en la ultima verision de g++, la diferencia 
 no sera mayor que medio mega. Además existen multitud de ejemplos 
 actuales en todo el mundo. British Telecom tuvo un desastre mayor en 
 sus manos, pero, afortunadamente, se deshicieron de ello y comenzaron 
 de nuevo. Tuvieron mas suerte que Australian Telecom. Ahora he oido 
 que Siemens esta construyendo un dinosaurio y se empiezan a preocupar 
 porque los recursos hardware no hacen mas que crecer para hacer 
 funcionar ejecutables tipicos. No es una delicia la herencia multiple? 
Int: Bien, pero C++ es un lenguaje avanzado ...
BS: Realmente crees eso ?!?!?! Te has sentado alguna vez y te has 
 puesto a trabajar en un proyecto C++? Esto es lo que sucede: Primero 
 he puesto las suficientes trampas para asegurarme de que solo los 
 proyectos mas triviales funcionen a la primera. Coge la sobrecarga de 
 operadores. Al final del proyecto casi todos los modulos lo tienen, 
 normalmente los programadores sienten que deberían hacerlo asi porque 
 es como les ensenaron en sus cursos de aprendizaje. El mismo operador 
 entonces significa cosas diferentes en cada modulo. Intenta poner 
 unos cuantos juntos, cuando tengas unos cientos de modulos. Y para la 
 ocultacion de datos. Dios, a veces no puedo parar de reirme cuando oigo 
 los problemas que algunas empresas han tenido al hacer a sus modulos 
 comunicarse entre si. Creo que el termino 'sinergetico' fue 
 especialmente creado para retorcer un cuchillo en las costillas del 
 director de proyecto... 
Int: Tengo que decir que me siento bastante pasmado por todo esto. 
 Dice que consiguió subir el salario de los programadores? Eso es 
 inmoral. 
BS: No del todo. Cada uno tiene su opcion. Yo no esperaba que la cosa 
 se me fuese tanto de las manos. De cualquier forma acerté. C++ se esta 
 muriendo ahora, pero los programadores todavía conservan sus sueldos 
 altos. Especialmente esos pobres diablos que tienen que mantener toda 
 esta majaderia. Comprendes que es imposible mantener un gran modulo en 
 C++ si no lo has escrito tu mismo? 
Int: Como?
BS: Estas fuera de juego, verdad? Recuerdas 'typedef'?
Int: Si, desde luego.
BS: Recuerdas cuanto tiempo se perdia buscando a tientas en las 
 cabeceras sola para darse cuenta de que 'RoofRaised' era un numero 
 de doble precision? Bien, imagina el tiempo que te puedes tirar para 
 encontrar todos los typedefs implicitos en todas las clases en un 
 gran proyecto. 
Int: En que se basa para creer que ha tenido exito?
BS: Te acuerdas de la duracion media de un proyecto en C?. Unos 6 
 meses. No mucho para que un tipo con una mujer e hijos pueda 
 conseguir un nivel de vida decente. Coge el mismo proyecto, 
 realizalo en C++ y que obtienes? Te lo dire. Uno o dos anos. No es 
 grandioso? Mucha mas seguridad laboral solo por un error de juicio. 
 Y una cosa mas. Las universidades no han estado ense_ando C desde 
 hace mucho tiempo, lo que produce un descenso del numero de buenos 
 programadores en C. Especialmente de los que saben acerca de la 
 programación en sistemas Unix. Cuantos tipos sabrian que hacer con 
 un 'malloc', cuando han estado usando 'new' durante estos anos y 
 nunca se han preocupado de de chequear el código de retorno?. De 
 hecho la mayoria de los programadores en C++ pasan de los códigos que 
 les devuelven las funciones. Que paso con el '-1'? Al menos sabias 
 que tenias un error, sin enredarte con 'throw', 'catch', 'try'... 
Int: Pero seguramente la herencia salve un monton de tiempo?
BS: Lo hace? Te has fijado en la diferencia entre un proyecto en C y 
 el mismo en C++? La etapa en la que se desarrolla un plan en un 
 proyecto en C++ es tres veces superior. Precisamente para asegurarse 
 de que todo lo que deba heredarse, lo hace, lo que no, no. Y aun asi 
 sigue dando fallos. Quien ha oido hablar de la perdida de memoria en 
 un programa en C? Ahora se ha creado una autentica industria 
 especializada en encontrarlas. Muchas empresas se rinden y sacan el 
 producto, sabiendo que pierde como un colador, simplemente para 
 reducir el gasto de buscar todas esas fugas de memoria. 
Int: Hay herramientas...
BS: La mayoria escritas en C++.
Int: Si publicamos esto, probablemente le lincharan. Se da cuenta?
BS: Lo dudo. Como dije, C++ esta en su fase descendente ahora y 
 ninguna compania en su sano juicio comenzaría un proyecto en C++ 
 sin una prueba piloto. Eso debería convencerles de que es un camino 
 al desastre. Si no lo hace, entonces se merecen todo lo que les pase. 
 Ya sabes?, yo intente convencer a Dennis Ritchie a reescribir Unix en 
 C++... 
Int: Oh Dios. Que dijo?
BS: Afortunadamente tiene un buen sentido del humor. Creo que tanto 
 el como Brian se figuraban lo que estaba haciendo en aquellos dias, y 
 nunca empezaron el proyecto. Me dijo que me ayudaría a escribir una 
 version en C++ de DOS, si estaba interesado... 
Int: Lo estaba?
BS: De hecho ya he escrito DOS en C++, te pasare una demo cuando 
 pueda. Lo tengo ejecutandose en una Sparc 20 en la sala de ordenadores. 
 Va como un cohete en 4 CPUs, y solo ocupa 70 megas de disco... 
Int: Como se comporta en un PC?
BS: Ahora estas bromeando. No has visto Windows '95? Creo que es mi 
 mayor exito. Casi acaba con la partida antes de que estuviese 
 preparado 
Int: Ya sabes, la idea de Unix++ me ha hecho pensar. Quizás haya 
 alguien ahí fuera intentandolo. 
BS: No despues de leer esta entrevista.
Int: Lo siento, pero no nos veo capaces de publicar esto.
BS: Pero es la historia del siglo. Solo quiero ser recordado por 
 mis compañeros programadores, por lo que he hecho por ellos. Sabes 
 cuanto puede conseguir un programador de C++ hoy dia? 
Int: Lo ultimo que oi fue algo como unos $70 - $80 la hora para uno 
 realmente bueno... 
BS: Lo ves? Y se los gana a pulso. Seguir la pista de todo lo que 
 he puesto en C++ no es facil. Y como dije anteriormente, todo 
 programador en C++ se siente impulsado por alguna promesa mistica 
 a usar todos los elementos del lenguaje en cada proyecto. Eso 
 ciertamente me molesta a veces, aunque sirva a mi proposito original. 
 Casi me ha acabado gustando el lenguaje tras todo este tiempo. 
Int: Quiere decir que no era asi antes?
BS: Lo odiaba. Parece extrano, no estas de acuerdo? Pero cuando los 
 beneficios del libro empezaron a llegar... bien, te haces una idea... 
Int: Solo un minuto. Que hay de las referencias?. Debe admitir que 
 mejoro los punteros de C... 
BS: Hmm. Siempre me he preguntado por eso. Originalmente crei que lo 
 Había hecho. Entonces, un dia estaba discutiendo esto con un tipo que 
 escribe en C++ desde el principio. Dijo que no podia recordar cuales 
 de sus variables estaban o no referenciadas, por lo que siempre usaba 
 punteros. Dijo que el pequeno asterisco se lo recordaba. 
Int: Bien, llegados a este punto suelo decir 'muchas gracias' pero 
 hoy no parece muy adecuado. 
BS: Prométeme que publicaras esto. Mi conciencia esta dando lo mejor 
 de mi mismo estos dias. 
Int: Se lo hare saber, pero creo que se lo que dira mi editor...
BS: Quien se lo creeria de todas formas?... De todos modos, puedes 
 enviarme una copia de la cinta.? 
Int: Descuide, lo hare.
 Efectivamente, todo es mentira, forma parte de una broma muy creible, que habia llegado a mis oidos como si fuera completamente veridica.... una pena!
:o 
 Menos mal que me has avisado de que era mentira porque me lo habia creido hasta el fondo.. :p
Te aseguro que yo tambien me lo crei todo todito.
Posted by: Joshua on Agosto 24, 2003 10:58 PMcreo q para un profano como yo, es entendible, sobre todo si tienes claro el concepto de que C++ es un infierno...
Posted by: dario on Agosto 28, 2003 10:51 AMBuy Cialis
Posted by: cialis on Septiembre 24, 2004 01:35 PM