Hace 15 años | Por JyQ a labloguera.net
Publicado hace 15 años por JyQ a labloguera.net

Interesante artículo que reflexiona acerca de lo que se enseña en los primeros cursos de las carreras de ingeniería informática y similares, una opinión sobre la abstracción conceptual que la programación ha sufrido a lo largo de los años.

Comentarios

samsaga2

¿Como se programa en C sin usar punteros? No me lo explico, si son indispensables.

Por otra parte enseñar C como primer lenguaje de programación es lo más nefasto que se puede hacer.

Enfurecido

En teleco Vigo se empieza por ensamblador y Pascal. Luego empiezan a aparecer asignaturas en las que se programa en C y C++. Perdón pero de punteros sabemos un rato. Mi primer contacto con Java fue en una asignatura de 5º.

#54 Les molesta que sepamos hacer también su trabajo

Liths

Lo que nunca se va a perder: 'Si funciona, no lo toques'

f

Desde luego... la gente se pone con esas cosas tan modernas como el java que ya es imposible encontrar un buen ingeniero que se las apañe con las tarjetas perforadas, menos mal que yo lo di es segundo de carrera!!!

D

No saber ensamblador porque C es más moderno es como no saber caligrafia porque a ordenador se escribe más rápido. Alguien tiene que saberlo porque EXISTE, pero cada vez menos personas lo van a aprender. ¿Que va a ser del ensamblador? ¿Acaso nadie piensa en el ensamblador?

A mi me parece RIDÍCULO que en la universidad se de Java ó .NET ó cualquier framework ó similar. Los ingenieros deben ser quienes hacen esos frameworks, ya estamos los de FP para desarrollar y trabajar con ellos

Respecto a los recolectores de basura, precisamente porque existen hay que conocerlos. Que exista un GC en tu framework no significa que alegremente va desechando lo que TU ya no necesitas. Cuando desarrollas aplicaciones de alta disponibilidad ó que están funcionando durante muchas horas necesitas conocer como funciona la gestión de memoria de tu framework para que tu aplicación no muera de obesidad en unas horas ó después de un pico de carga.

Trabajar con punteros es un coñazo terrible, más que nada porque la versatilidad que ofrecen termina siendo lo que te acuchilla por la espalda ó te causa horas y horas perdidas para encontrar un bug. Personalmente estoy feliz de que hayan desparecido en pos de los punteros seguros y tipados (variables por referencia), ha sido, sin lugar a dudas un gran avance para poder dedicar el tiempo a los verdaderos problemas.

Un saludo.

dadelmo

Pues tienen razón, yo he pensado lo mismo con los lenguajes de programación modernos. Si usamos todos Java que tiene un Colector de Basura ¿Quién va a saber que se tiene que manejar la memoria? ¿A quién le va a quedar el concepto de apuntador? Alguien tiene que saberlo porque EXISTE, pero cada vez menos personas lo van a aprender.

carcadiz

#9 No, en Teleco se empieza por C y los de la rama de Telematica ven algo de Java mas adelante. Pero se aprende a programar con C.

D

#98 si, me lie lol

No creo haber dicho semejante cosa, relee mi comentario. Creo que si entiendes que hace y para que vale un ArrayList, y que hace y para que vale un LinkedList... entiendes la diferencia

Llevo varios años en proyectos serios, y saber como funciona por dentro una lista enlazada es bueno, pero saber para que sirve y como funciona como herramienta es lo importante.

Lamercillo

Pues yo aprendí con Pascal en el módulo, luego también vi C en la universidad, y he programado en Delphi/Java/PL, etc.

Y la verdad ... los punteros se puede decir que forman parte de la base, pero de ahí a decir que vas a programar peor por no haberlos empleado (o programar mejor por haberlos "visto") hay un trecho muy grande que no me atrevería a cruzar.
Por ejemplo, en ningún lenguaje de programación de los que he utilizado "profesionalmente" he utilizado directamente los punteros (al menos directamente, sí he utilizado componentes que los usan), y la gestión de la memoria casi siempre se limita a hacer un .free de los objetos que has dejado de utilizar (por poner un ejemplo), y no creo que la calidad de un algoritmo que pueda hacer se vea afectada por eso.

Igual conceptualmente tiene un sentido que se vean, pero igual sentido le veo a que se vea la programación orientada a objetos, que es lo que realmente van a "tocar" cuando trabajen.
Y sí es verdad que se está perdiendo el concepto de optimizar las cosas, pero según he visto, eso lo pierde igual la gente que ha visto C que la que no (mandan las prisas, no otra cosa).
Más me preocupa a mi que por ejemplo no se vea NADA de optimización de base de datos (menudas selects hacen algunos iluminados), que hacen más daño que la no-optimización de ciertos algoritmos.

De todas maneras la orientación de la mayoría de lenguajes de programación va más encaminada a hacer programación de alto nivel, no volver al ensamblador. Puede ser importante verlo, pero la verdad es que me parece más por nostalgia que por real aplicación posterior de esos conocimientos ...

Seguro que nosotros nos habremos perdido miles de cosas que generaciones anteriores habían estudiado en la universidad y se estiran los pelos de la misma manera diciendo "pero como pueden NO haber visto X".

D

Donde esté Lisp... (Lista InSoportable de Paréntesis)

r

Pues yo estudié C en el colegio. Luego en la facultad empezamos con Pascal el primer año y en segundo utilizamos Java para prácticas de algoritmos y C para prácticas de sistemas operativos. También algo de ensamblador, y otros lenguajes (prolog, caml). A partir de tercero ya no te enseñaban muchos lenguajes nuevos, usabas el más adecuado (bueno, en 5º me enseñaron C# para .NET, o aprendías por tu cuenta si querías otros, yo python para una asignatura de lenguajes naturales).
Y yo, como soy una enamorada de los punteros y de lo que puedes hacer con ellos (sobre todo después de una asignatura de diseño de sistemas operativos muy particular), sigo con mi C de toda la vida... aunque creo que voy a tener que empezar a usar C# (porque en lo que hago todo el mundo lo usa, así que si quiero reutilizar sus códigos o para que ellos usen el mío es lo más sensato...)

C rocks!!!

JyQ

Hola, soy el autor del artículo. Quería agradecer todos los comentarios -los buenos y en especial los malos- que me han hecho ver los errores en los que he incurrido al escribir este artículo y que me dan una buena lección para escribir nuevos artículos mejor. Mis ideas siguen siendo las mismas aunque muchos de vosotros seáis gente que lleva más de 30 años en la profesión, pues gracias a los punteros pude comprender como funcionaba una computadora y un compilador sin mucho más que estudiar.

Gracias a todos.

D

Yo he recién acabado el primer año del ciclo superior de Desarrollo de Aplicaciones Informáticas, y en programación hemos visto C con punteros incluidos y Java, y la verdad estoy bastante contento con la base que he cogido este año

r

Antes de nada, yo suelo programar en C++. Pero después de leer esto...

"C y C++ lo tienen todo, [..] y sobre todo, lo que más me gusta: son lenguajes fuertemente tipados."

"Leí un artículo por ahí de alguien que aconsejaba aprender python como primer lenguaje y me echaba las manos a la cabeza. Lo no tipado no me parece elegante, el alumno se creará malos hábitos."

yo si que me echo las manos a la cabeza. Python esta muchísimo mas fuertemente tipado que C y C++. Precisamente, las guarradas que te deja hacer el compilador de C/C++ con respecto a los tipos es uno de sus mayores peligros para los novatos.

D

#75 luego esos son los primeros que claman el "colegio de informáticos", se quejan del intrusismo laboral, aparecen en los periódicos diciendo que tienen una carrera y cobran 1000€ al mes después de 2 años de experiencia... esos mismos!! lol

D

Desde que ví este código para limpiar la pantalla ya no me asusto de nada:
for(int i=0;i

juvenal

Pensar, lo que se dice pensar, es lo que hacían los que en ensamblador hacían un programa en unos pocos kb.

Alvarete

En ing. informática de sevilla ( las 3 carreras ) han eliminado C del programa de IP1 (introducción a la programación), ahora se da Java.

D

#60 a alto nivel de abstracción también lo son una pera y una manzana lol

just kidding!

D

#36, no se si seré solo yo, pero a mi los punteros no me resultan un «coñazo terrible», me parecen bastante útiles y no dudo en utilizarlos siempre que puedo.

#21, rectifico entonces, estaría equivocado, sorry.

alexwing

yo aprendí con basic, pascal, cobol, clipper, ensamblador y Turbo C y no soy tan viejo 29

A

A mi me parece que el del artículo está un poco "obcecado" con C y C++ a bajo nivel.
Python por ejemplo te da una versatilidad inimaginable, te pueden llamar para que hagas una modificacion al programa que haga mil cosas y en una tarde la tienes lista.
C y C++ (a bajo nivel: punteros, etc...) está bien, a mi modo de ver, para gente que se va a pegar con el hardware.
Y Python es un buen lenguaje para comenzar porque ENAMORA, conozco muchos casos (yo uno de ellos y eso que antes me he pegado con C++ y Java)

Eso sí, antes de dar cualquier lenguaje de programación hay que entender cómo funciona a nivel interno el software con el hardware.

A

#39 Yo he hecho teleco y SOLO DAN JAVA

Artorius

En Teleco de Elche damos C++ y ensamblador en primero. Esos comentarios que he visto de que no sabemos ni lo que es un puntero... en fin.

r

La pregunta es se quiere aprender a manejar punteros o a resolver problemas , porque son dos cosas diferentes.

Los punteros son un detalle particular del lenguaje que se usa, en realidad no es parte del problema a resolver, sino es complejidad añadida por la herramienta para resolver el problema.

A mi me da igual que se enseñe en Java, en c, en Modula 2(con el que yo aprendi en la UMA), o en Lisp(como en el MIT) lo importante es aprender a resolver problemas. Y de eso es lo que deberia ir un primer curso de programacion.

Cualquier otra cosa nimios detalles.

swappen

He hecho teleco en Málaga y no he dado NADA de JAVA, sino C++ (y sí me he hartado de trabajar con punteros)y ensamblador. Pero bueno, si se quiere despretigiar a los telecos, adelante, no es nuevo entre muchos informaticos.

swappen

#42 no sé donde has hecho teleco pero yo no me estoy inventando nada. #43, no digo que aquí se esté despretigiando pero si que he oido muchas veces criticas a los telecos por parte de informáticos y bueno, es normal, que no sepamos tanto como los informaticos ya que no hemos hecho esa carrera. Un saludo

p

por mi que desaparezcan los punteros!!

r

#91 No son afeminados, son profesionales. Yo he programado profesionalemente en C, C++, Java y Ruby.

Explicame tu para que me sirve reimplementar una lista enlazada?

DRY (Dont Repeat Yourself)

jotape

#9 en la Facultat d'Informàtica de Barcelona, hace 4 o 5 años, las prácticas de Introducción a la Programación (aka P1) se hacían con Java (y la teoría con pseudocódigo)

D

"como funcionaban los punteros y cómo se pasaban por referencia"

¿Pasar un puntero por referencia? Será pasar una variable por referencia. Un puntero y una referencia son lo mismo. De hecho, en Java todo son punteros.

b

Pues yo estoy en la EUI (escuela universitaria de Informatica) de la Politecnica de Madrid y en esta universidad de empieza con PASCAL, luego en segundo mas Pascal. Ensamblador y C y si quieres aumentar los conocimientos como optativas tienes C++ y Java asique por la parte que me toca, segun este articulo saldre muy preparada.
No se en que universidades han hecho el estudio pero en España no.

difuso

Además, te falta el barra n del final para que lo imprima en líneas distintas. En ese caso te conviene más usar "puts"

difuso

#82, es más "correcto" int main(void), y luego devolver 0 con "return 0" ;).

D

#81 aceptamos java como lenguaje sencillo y útil para empezar desde cero en poco tiempo. Venga, para el primer día tocan packages, clases, herencia, interfaces, variables y métodos públicos y privados, estáticos, namespaces e introducción a la VM. Oh, yeah!

Fregona

#13 En EHU (Universidad del Pais Vasco Programación 1 y 2 se da en ADA.
A mi me parece bien empezar con C ya que luego pasar a otros lenguajes es más fácil que al revés.

Agur

D

#49 Si hablamos de C, creo que se refiere sencillamente a algo como:

int *puntero;
...
funcion(&puntero);

D

#16 con librerías. Hay librerías para todo en C . En realidad no es programar con punteros, sino que otros lo hacen por ti. Al fin y al cabo, es exactamente lo que pasa con lenguajes a más alto nivel.

D

En la UAB también se empieza con C, C++ y algunas cosas (pocas) en ensamblador ia32 ya en tercero. El problema es que para muchos C no pasa de "printf" y "scanf" y acaban la carrera sin saber manejar la memoria decentemente.

¿Por qué tanta fijación con C y no se da nada de ADA? Ojo, que soy programador de C, pero Ada siempre me ha gustado mucho

D

#19 En la Universidad de Cadiz, probablemente sea C lo unico bueno que tiene. Sigue impartiendola el bizco?

El resto de materias la da gente que no tiene ni puta idea. Sigue "enseñando" Oracle la Gadeshi? lol

D

#31 aun los hay mejores (256 bytes o menos) http://www.256b.com/home.php

r

c es el fundamento....

faelomx

que es un *puntero? lol

D

#4 ¿malloc a meneame? ¡Si meneame es el buffer! Falta abrir y cerrar el buffer, declarar variables, no está la función main, y...

No me voy a hacer un programa entero en un comentario

D

#11, ahora que recuerdo, aquí, en Tenerife, carreras que no deberían profundizar mucho en la programación como Hidrología, Electrónica y Mecánica dan C, mientras que en Gran Canaria (si la memoria no me falla) en Teleco dan Java.

LadyMarian

Conozco a gente en 2º de la IT de gestión que pregunta "Qué es el DOS?" porque no lo han visto ni usado nunca

C

Es mentira que no se utilicen otros lenguajes. En la EUITIO (Oviedo) Java, Prolog, Ensamblador de IA32, PHP, C, C++, C#, PL/SQL... sin hablar de optativas, donde alguna por ejemplo tienes como practica el hacerte tu lenguaje de programacion, asi como otras donde se aprende programacion declarativa... etc etc etc

Vamos, completito... y yo no veo bien empezar con C, la verdad, me parece un acierto empezar con Java, un lenguaje sencillo que te permite aprender los fundamentos y, sobre todo, orientación a objetos. Mucha gente que viene de programación estructurada luego no pilla los objetos bien, y creo que tener clara la POO es, al menos, tan complejo como acordarte de liberar memoria (y si no estais de acuerdo, tendriais que ver las barbaridades que hacen algunos)

Saludos!

D

Aun no conozco a nadie que haya hecho un modulo de informática o la carrera de informática (cualquiera) que no haya dado C o C++ en profundidad.
Yo he cursado DAI y primero es todo C con punteros y luego en la ingenieria tecnica en Fundamentos de programación 2, Programación orientada a objetos, Programación y estructuras de Datos y en Diseño y Analisis de algoritmos es todo C++ puro ¿Que facultades no dan C++? porque me quitan la mitad del temario

D

bueno, no se en que facultades se empieza por Java (quizás teleco), pero lo que es en informática yo he empezado por ADA, Pascal y luego C++. Tiene mucha razón en lo que comenta, pero no se si será un caso muy habitual.

Enfurecido

#61 En la empresa en la que trabajo me sale el XML por las orejas.

D

Uff y ya no es que no sepan usar punteros para manejar memoria, el otro día hablando con uno que estaba a punto de terminar la carrera no sabía lo que eran punteros a funciones.

D

#11,#12 ..En Teleco en Gran Canaria(ULPGC),empiezan con ADA y luego meten C++ por ahí.Algo parecido pasa en la facultad de Informática,que empiezan con ADA y ya luego enseñan C y C++,y ensamblador desde primero (MIPS).Por lo tanto,punteros a punta pala.

D

#94 Los "lenguajes afeminados", como tu los llamas, no son académicos, no sirven para aprender, son para trabajar. Lo que hay que entender es que hace y para que vale un ArrayList ó un LinkedList, lo que hagan por dentro ó como esta implementado es irrelevante para un programador.

En cualquier caso, admiro a los "machos de la programación" como usted, desarrollando como lo hacen los hombres de verdad, la programación de toda la vida, los jefes del corral ..etc.. Los "metrosexuales del desarrollo" como yo nos molan más otras "mariconadas", es una pena que se este perdiendo la raza aunténtica.

C

En la Universidad de Huelva se empieza ahora con C++ y se dan punteros con new y malloc. En otras asignaturas se trabaja con memoria dinámica en C y C++, pero sólo una minoría usa Java o .Net.
Está claro que los lenguajes y entornos de desarrollo han evolucionado notablemente y eso también se nota con el manejo de la memoria dinámica. El desarrollo en Java o .Net es más rápido que en C++ por este motivo, pero los programas en C++ con una gestión de memoria manual pueden ser más rápidos y eficientes. Bajo mi punto de vista, como ingeniero que maneja bien los tres lenguajes, prefiero usar Java o .Net y comprarle al cliente un Quad Core

Ellohir

En la politécnica de Valencia todavía comenzamos en primero con C a pelo ^^

D

#27, #34: Eh, un respeto a Ge... eh, "el bizco". A ver si os va a dar con una josifa lol

Respecto a Gadeshi, ya os digo yo que sí, aunque ahora es Rioja el que da BD I. Ella sigue con su metodología "Pregunta en el aire"

Oye, que de sufridos UCAdistas semos ¿no? (#34: A ti te he visto por la web de la OSLUCA a menudo, igual hasta te conozco en persona lol)

#TODOS: Perdón por el oftopic

D

#49 las referencias son punteros, pero seguros y tipados, es decir, solo pueden apuntar a una zona de memoria donde se encuentra una instancia de un tipo determinado ó ser null, lo cual hace que nos podamos olvidar de los principales problemas de trabajar con los punteros de verdad y seguir teniendo la mayoria de sus ventajas.

Escribí esto hace algún tiempo, es sobre .NET pero creo que en gran medida se aplica a Java también (será porque el primero "esta inspirado" (x'D) en el segundo): http://www.vtortola.net/post/La-memoria-en-NET%2c-Managed-heap-y-Thread-stack.aspx

D

#54, entonces ¿cuál es el problema? Es obvio que cada uno sabrá más de lo que se da en su rama.

T

#39, aquí no se está desprestigiando a nadie. Cada uno cuenta sus experiencias, y la mía, como alumno de una facultad de Informática y Telecomunicaciones (ETSIIT de la UGR) y compañero de piso de un teleco, es que ellos no tienen ni zorra idea de qué es un puntero. Usan Java y te aseguro que no entienden la mitad de lo que hacen, al menos en primero.

D

#36 , creo que fui yo el que te entendí mal, también opino que hay que estudiarlos y conocerlos para entender la evolución a otras cosas... como conocen los estudiantes de mecánica la máquina de vapor

T

En la Universidad de Granada tambien trabajamos mucho con punteros y hacemos gran hincapié en la abstracción. Se empieza con C++. Los de teleco empiezan con Java y bueno... creen que el puntero es lo que mueven por la pantalla.

Intentan que no hagamos mucho uso de la STL y sus maravillosos contenedores y tal, sino que, si necesitamos algo, lo implementemos nosotros. Ahora acabamos de terminar una práctica (un tetris muy chulo) en el que estaba terminalmente prohibido el uso de la STL. Ésto último quizás no venga mucho al cuento, pero quería que supierais que al menos aquí se enseñan un poco las tripas del lenguaje.

D

Recuerdo una escuela donde se enseñaba COBOL y casi casí había que perforar la puta pantalla del terminal con el vi para aprender el utilísimo Método de Jackson. Esto en 1996, 6 créditos. Naturalmente, aprender eso abre tu mente a nuevas experiencias como ser porculizado el resto de tu vida en la industria cárnica nacional.

D

#5 ¿Por casualidad estudias en Cáceres?

DeepBlue

Ya que nadie lo ha mencionado y aunque algunos se echen las manos a la cabeza, un gran porcentaje (diría del orden de la mitad) de los códigos para simulación de ciencia básica que corren en los grandes supercomputadores (BlueGene, MareNostrum, etc), están desarrollados en FORTRAN (en el cual TODO son punteros, pues nada se pasa por referencia). En el fondo es parecido a C, pero con sintaxis más simple: es la forma más sencilla de centrarse en implementar los cálculos sin complicarse la vida haciendo virtuosismos de programación.

Saber cómo están organizadas las cosas en memoria es FUNDAMENTAL y todo el mundo debe tener un conocimiento mínimo de lo que se trae entre manos.

D

#33 Tu lo has dicho, por eso has puesto "profesionalmente" entre comillas Si es que la profesión está muy arrastrada...

D

#41 Yo tb estuve en la ulpgc, eui.

1. Pascal
2. C
3. C++
4. Ensamblador MIPS10000 y 8086
5. Fortran
6. Lisp
7. Prolog

Seguro que se me olvida alguno, y solo estoy contando primer y segundo curso...

A

En Industriales de la UPM aprendemos a programar con TurboPascal y si que usamos punteros, pero sé que en Teleco (tb de la UPM) lo primero que dan es Java.

JyQ

A los que dicen lo del ensamblador. Estoy de acuerde, se debe enseñar y se debe saber. vtortola me ha entendido mal, lo que pretendo decir es que al menos se debe "conocer" que existen los punteros, por supuesto que es un "coñazo terrible" trabajar con ellos pero es que de hecho, no se trabaja con ellos en general. Todo lo que he escrito en el artículo se basa en eso: en que es algo que se debe conocer pues así funciona una máquina.
Sobre lo de que el artículo es "obcecado" en C C++: sí, es evidente, pues ese es su título jajaja.

D

yo estoy en la fp de administracion de sistemas informaticos y lo primero que hemos visto en programacion es C , en segundo año se da Java

q

#95 Creo que querías responder a #91 porque yo no he dicho en ningún momento nada de lenguajes afeminados.
Por otro lado, si intentas decir que no interesa en absoluto la diferencia entre LinkedList y ArrayList... espero que no tengas que trabajar en proyectos "serios". Existen grises, ni saberse al dedillo las implementaciones ni ser un ignorante total de EDA. Claro que para entender las implementaciones resulta que es necesario haber jugado con ellas. De lo contrario supongo que también te quejarás de muchas otras cosas que te hicieron estudiar en la facultad.

q

> Explicame tu para que me sirve reimplementar una lista enlazada?

En Java por ejemplo alguien que no ha dado EDA que suele ser la asignatura donde más se pelea uno con estructuras de datos complejas, difícilmente puede entender Collections. Si no sabes lo que es una lista enlazada y cómo se implementa, seguro que te da igual usar ArrayList que LinkedList.
Yo creo que sí es importante haber trabajado con punteros. En Java trabajas con referencias a objetos pero no deja de ser parecido, ¿os suena NullPointer exception?

D

Mantengan vivo el recuerdo de los punteros y canten esta canción al ritmo del porrompompero:
Esto lo haremos con un vector --perdón, puntero, perdón, perdón pun- perdón pun- perdón puntero, perdón, perdón pun- perdón puntero, perdón, perdón pun- perdón perdón!

c

#87 Compréndelos, son de gestión. Si fueran de sistemas... Es broma lol

P

Ya lo han dicho por ahí arriba, pero en la ulpgc se estudia Ada->C->C++
Y ensamblador (mips) desde primero.
Te quieres hasta morir lol

D

#62 Pues sí, y por ello las dos heredan de la clase Fruta, que hereda de la clase Alimento...

m

#5 En la de Barcelona también, pero creo que no se trata de eso. El problema es que te enseñan como base algo que después desaparece. Será la evolución?

D

#58 Sabrás de lo que comentas, pero de XML o de HTML no tienes ni idea. No has puesto la etiqueta de apertura.

mortanius_

#64 #27 #34 Agradezcamos que Ge siga dandonos clases, gracias a el no somos un vulgar picateclas. Y si coincido con theom3ga, menos mal que estan ahí.

Yo no podria decir nada bueno de Gadeshi, no se me ocurre, excepto que me debe una disculpa publica.

D

#52 A alto nivel de abstracción los dos conceptos son equivalentes.

swappen

#56 exacto. No tiene sentido despretigiar ("los de teleco creen que un puntero es el puntero del raton JE JE JE"), ya que cada uno debe saber de lo suyo, es justamente lo que queria decir.

D

#72, en la facultad de informática de barcelona, el paso ha sido al revés, se ha pasado de Java a C++ en las asignaturas de primero. De todas formas, siempre se ha tocado C y ensamblador en la rama de las asignaturas del departamento de arquitectura de computadores (aunque evidentemente no con tanta profundidad como en cualquier asignatura del departamento de lenguajes y sistemas informáticos...).

c

#27 La verdad es que "el bizco" como tú lo llamas, Fco. Palomo y algunos otros son de lo mejor que he visto en mi vida. Aunque también hay otros que vamos... de puta pena.

Sobre lo de la Esther Gadeschi no lo sé, no he llegado a Base de Datos todavía lol Ya veremos el año que viene.

c

En la Universidad de Cádiz afortunadamente damos C en el primer año y parte del segundo, y después C++ para POO y Análisis de Algoritmos. La verdad es que no concibo una carrera de informática en la que los alumnos no sepan qué es un puntero y cómo aprovechar la memoria. Con lo útil que es pasar las cosas por referencia.

#16 De nefasto nada. Al contrario, es mejor empezar por lo hardcore y luego pasar a lenguajes más suaves, que al contrario: Sería muy peligroso acostumbrarse a las std::list y que luego te hagan hacer una lista en C con punteros. Mejor tener una base en condiciones como la que da C a pelo.

u

Esto me recuerda al chiste de Dilbert, que era algo asi:

-"En mis tiempos no programabamos con estas tonterias. Lo haciamos a base de 0`s y 1`s. Y a veces ni unos teniamos. Yo escribi un programa de una agenda unicamente a base de 0."

-Usted al menos tenia 1`s. Nosotros teniamos la I mayuscula.

O algo asi.

Edito:
http://books.google.es/books?id=TsKoTSwET2YC&pg=PA193&lpg=PA193&dq=dilbert+programar+con+ceros+y+unos&source=web&ots=xX6DCoGuqL&sig=g7kZEmP4SUV0TpGSmzoDGQMM3WQ&hl=es

D

#70 Muchos años despues (casi 15), si a alguien le tengo que dar las gracias seria solo al bizco porque entre la Gadeschi, Antoñita y Mr. Oui ibamos apañados. Sin embargo y a pesar de todos ellos, bastante lejos he llegao... en todos los sentidos. lol

R

#33 No podría estar más de acuerdo contigo...

g

Dos noticias enviadas y las dos hoy y las dos de la misma página... hum...

D

#include
void main()
printf("Este es mi primer programa C");
">

D

...EDITADO...

Ero-Padrin

En Ingeniería Informática de la UAH (Universidad de Alcalá de Henares) se nos enseña Pascal durante todo el primer curso, y en el segundo y tercero te exigen C y Java, pero sin enseñártelos.
En cambio sí te enseñan (en 2º y 3º) ensamblador de 80x86 y DLX, CAML, LISP, Prolog... cómo mola esto de la Universidad lol
Llevo 3 años y estoy en 3º, así que esto es algo actual y no un lejano recuerdo jaja

dadelmo

#1 no le has hecho malloc a meneame ni le has hecho free... ha eso me refiero

damocles

Con el triunfo de los lenguajes de programación afeminados (java, c#, visual basic) con recolección de basura ya no quedan verdaderos hombres que desarrollan en C++ que usan llamados a rutinas en ensamblador.

Y la cosa va para peor: los nuevos programadores no tienen ni idea de que es una lista doblemente enlazada o un grafo en el fondo.. solo usan el TList, el TTree o como se llamen esas APIs afeminadas para manejar estructuras de datos que te lo hacen todo.

1 2