Menú

Muere Dennis Ritchie, creador de Unix y el lenguaje C

No era ni de lejos tan famoso como Jobs, pero sus aportaciones a la informática son comparables en importancia a las del cofundador de Apple. (Volver)

elcerroj dijo el día 15 de Octubre de 2011 a las 10:57:56:

Este hombre era es y será historia de la informática. Siempre lo he considerado uno de los grandes genios desde que aprendí a programar en C y utilizar el UNIX (el profesor Richard Stevens falleció hace ya bastantes años también, DEP) hace ya veinte años he admirado a estos dos personajes: Brian Kernigan y Dennis Ritchie. No han tenido tanta repercusión como Jobs, pero los que sabemos del asunto sabemos muy bien quién es quién.

Descanse en paz Dennis Ritchie.

LiBReTTo dijo el día 15 de Octubre de 2011 a las 05:04:03:

Un dentista con amplios conocimientos de programación es un candidato ideal para formar parte de un equipo de desarrollo de una aplicación sobre odontología.

C++ equivale a C+1 en lenguaje C.

C+ nunca existió salvo como canal de TV.

santisev dijo el día 14 de Octubre de 2011 a las 23:22:08:

Hola javierve,

Totalmente de acuerdo en que no es comparable la aportación de Ritche y Jobs,

Puntualizando esto.....
"En relación con la programación, mi opinión es que escribir una web con html o con PHP, que es lo que hace uno de farmacia o de filología, con todos mis respetos, no es programar."

En PHP se pueden hacer cosas muy buenas y cosas muy simples y mal hechas como en cualquier otro lenguaje de programación. PHP está más a mano del usuario final pero pocos lo saben dominar.

En esto no estoy de acuerdo...
"Programar es otra cosa, y para programar hay que saber mucho C++, mucho Cobol, mucho Fortran, mucho Pascal, mucho ensamblador y (más recientemente) mucho Java y XML."

No tienes porqué saber mucho C++, ni Cobol, ni Fortran ni leches.
El lenguaje en sí no es clave para juzgar si un programador es bueno o malo.
Un buen programador se caracteriza por saber hacer el código reutilizable, legible, ordenado estructurado, robusto (probándolo, teniendo todos los casos controlados y con un control de excepciones notable) etc.. Al fin y al cabo todos los lenguajes de programacion tienen las mismas estrucutras de flujo, tipos de variables etc.. La sintaxis de Java está basada en C++, en menor medida la sintaxis de PHP también está basada en C y seguro que unos cuantos más también. De ahí entre otras cosas la importancia del C.

Puntualizar que HTML y XML no son lenguajes de programación, sino lenguajes de etiquetas.

loboe dijo el día 14 de Octubre de 2011 a las 21:12:28:

Feynman:

vuelves a tener razón y en realidad, eso que apuntas no ocurre solo con los programadores aficionados, sean farmacéuticos o psicólogos. También entre los que se dedican profesionalmente a lo que aquí llamamos informática (TI).

En realidad, has tocado un asunto muy actual que está en el debate de los académicos incluso en el propio seno de las Facultades de Informática. En tiempos, cualquier informático empezaba aprendiendo binario y ensamblador, para después pasar por el C/C++ y demás lenguajes de alto nivel. Pero esta disciplina se ha vuelto tan vasta, que nadie puede pretender abarcarlo todo y de otra parte, la empresa privada exige ante todo efectividad y exige especialistas. De forma que es dudoso que alguien que tiene que programar para la Web tenga que recurrir jamás al C/C++ o al ensamblador.

En este sentido, muchos docentes defienden que el alumno tiene que aprender a construir con elementos prefabricados -abstracciones de alto nivel- y en todo caso, dejar los detalles para los que deseen especializarse en la fabricación de ladrillos.

El asunto de los dichosos punteros es paradigmático. Todo el mundo sabe que son más peligrosos e inestables que la dinamita, al extremo que que muchos lenguajes los evitan por completo y en consecuencia, las posturas al respecto son variadas. He conocido defensores de que los alumnos de informática deben aprender al menos, un curso básico de desactivación de explosivos. Mientras que otros argumentan que eso es perder el tiempo; que los punteros deben dejarse para los TEDAX y que a los demás, les basta y sobra programar en Java y tener unas buenas bases de lo que es la teoría de redes y de los protocolos TCP/IP.

En cualquier caso, el asunto de los lenguajes es interesante pero escabroso. De hecho, es uno de los temas que suele originar debates más encendidos en los foros especializados y en los que nunca se llega al consenso.

Salu2

javierve dijo el día 14 de Octubre de 2011 a las 21:02:01:

Lamento el fallecimiento de Dennis Ritchie, aunque me produce alegría que se haya levantado tanto debate entre los lectores de LD sobre asuntos como C, C++, Fortran o Cobol (entre otros).

Mi opinión sobre la aportación a la tecnología: Ambos han aportado mucho, pero no se les puede comparar. Ritchie como creador del C y del Unix ha sido clave en los aspectos tecnológicos y científicos de la informática y de las comunicaciones. Os recuerdo que se puede sobrevivir en el siglo XXI permanentemente conectado por dispositivos móviles y fijos sin tener un Apple, pero nos es posible sin la cantidad de sistema que soportan la red que dependen de C o Unix.

En cambio, el éxito de Jobs es haber acercado dispositivos (los móviles inteligentes), que en sus primeras versiones sólo podía configurar un experto, al comun de los humanos.

En relación con la programación, mi opinión es que escribir una web con html o con PHP, que es lo que hace uno de farmacia o de filología, con todos mis respetos, no es programar.

Programar es otra cosa, y para programar hay que saber mucho C++, mucho Cobol, mucho Fortran, mucho Pascal, mucho ensamblador y (más recientemente) mucho Java y XML.

Todo lo demás es poco más que escribir un documento en word y salvarlo como html.

En fin, reitero mi alegría por este curioso debate.

Feynman dijo el día 14 de Octubre de 2011 a las 16:25:23:

Decía antes:

> Sigo programando de vez en cuando en C y me gusta, como me gusta programar en ensambladores varios.

Y debería haber añadido:

...Pero ni yo ni vosotros a tenor de vuestros comentarios respondemos al perfil mayoritario de la gente que se dedica hoy en día a desarrollo de aplicaciones, que pueden proceder de, desde la facultad de Farmacia, hasta la de Filología Hispánica (no lo digo de coña, a veces he tenido que arreglármelas con programadores con esas procedencias :-)

loboe dijo el día 14 de Octubre de 2011 a las 12:49:42:

Respecto a la "antigualla", se me olvidaba añadir que efectivamente, tiene muchos años, pero que hasta la fecha, nadie ha sido capaz de dar más con menos.

Salu2

gilgames dijo el día 14 de Octubre de 2011 a las 12:27:42:

¿Alguien recuerda a "Amazing" Grace Hopper? Otra de las grandes en el olvido por los que usan ordenadores pero se creen que los han inventado hace 15 años. Por otra parte estoy de acuerdo en que el lenguaje C es difícil. Yo solo soy aficionado a la informática y nunca lo he dominado del todo más allá de programitas sin importancia. Los punteros son un tema difícil de dominar. Hoy existe una cara amable de C que es Python.

loboe dijo el día 14 de Octubre de 2011 a las 12:09:53:

Feynman:

Esa dificultad mantener que señalas, no es solo característica del C, sino de casi todos los lenguajes de programación -exceptuando claro está el COBOL-, porque generalmente, no se diseñaron con esa condición en mente. De hecho, a los diseñadores les interesa más la elegancia y potencia de la sintaxis; simplicidad; generalidad, Etc.

Respecto al calificativo de "antigualla", aunque cierto, me parece demasiado severo y despectivo. Sobre todo, porque aún se usa con profusión a pesar de que existen "modernuras" de todo tipo. Por ejemplo, la librería SQLite, que está presente en artilugios tan modernos como los Mac (iOS); Android y en el software -generalmente escrio en Java- de todos esos smartphones inteligentes que nos inundan, está escrita en C y no por capricho.

Para evaluar el asunto en su justa medida, hay que tener en cuenta que C es un lenguaje *de propósito general* y recordar que no es la primera vez ni será la última que algún teórico se siente a diseñar un lenguaje de este tipo basándose exclusivamente en lo que debería ser el lenguaje ideal y sin condicionantes previos ("from scratch"), y que termine saliéndole algo muy parecido al C, o a su sucesor C++; todo lo más, añadiéndole un recolector de basura; tipos flexibles ("weak tipes"), o algún refinamiento ¿? similar.

Creo que el fondo del problema, es que con los lenguajes ocurre como con muchas otras cosas de la vida. Me refiero a que pretender abarcarlo todo tiene su coste. Si nos referimos al C++, que tiene mucha peor prensa que su antecesor, se le ha dicho de todo, menos "bonito", pero a la hora de la verdad no tiene competencia en lo que se refiere a generalidad; adecuación para el desarrollo de aplicaciones muy grandes; optimización del código; velocidad, y manejo de abstracciones de muy alto nivel -metaprogramación- junto con instrucciones en ensamblador. Por supuesto, tener todo eso a la vez, tiene su precio.

Salu2

LiBReTTo dijo el día 14 de Octubre de 2011 a las 11:46:15:

Hay muchos comentarios que no tienen ni pies ni cabeza. Las críticas al lenguaje C son más por ignorancia que por una base de conocimiento.

¡Por supuesto que en C casi todo queda en manos del programador! Lo mismo que cuando se programa en binario y luego en ensamblador todo queda a manos del programador. Es el programador el que debe saber muy bien lo que quiere y cómo hacerlo.

Parece que muchos habrían sido capaces de desarrollar un sistema operativo como Unix o Windows, incluso DOS, usando un lenguaje de alto nivel. La gente que programaba sistemas en binario y ensamblador pasó a utilizar C como es natural porque fue creado para ellos.

« 1 2 3 »