415 meneos

C, C++ y los punteros: ¿perdemos las buenas costumbres?

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.

negativos: 3   usuarios: 199   anónimos: 216  
compartir:  twitter  facebook  tuenti  
« anterior12
  1. #2   C++ siempre ha sido un 'comecocos'.. o no os habéis fijado en el logo¡¡
    161  votos: 21   link
    el 02-06-2008 12:35 UTC por kurioso kurioso
  2. #3   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.
    23  votos: 2   link
    el 02-06-2008 12:37 UTC por dadelmo dadelmo
  3. #4   #1 no le has hecho malloc a meneame ni le has hecho free... ha eso me refiero :-P
    -5  votos: 4   link
    el 02-06-2008 12:38 UTC por dadelmo dadelmo
  4. #5   mmm... En la universidad de Extremadura se enseña C++ como primer lenguaje (y ensamblador también aunque con menos profundidad). Y trabajamos con punteros y abstraemos del lenguaje, entendiendo que estás haciendo...
    ;)

    quedan facultades buenas
    46  votos: 5   link
    el 02-06-2008 12:38 UTC por eol eol
  5. #6   hoygan, yo uso un puntero con el raton...
    250  votos: 29   link
    el 02-06-2008 12:44 UTC por selvatgi selvatgi
  6. #8   Pensar, lo que se dice pensar, es lo que hacían los que en ensamblador hacían un programa en unos pocos kb.
    17  votos: 0   link
    el 02-06-2008 12:47 UTC por juvenal juvenal
  7. #10   Dos noticias enviadas y las dos hoy y las dos de la misma página... hum...
    5  votos: 2   link
    el 02-06-2008 12:52 UTC por emilius emilius
  8. #11   #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.
    22  votos: 1   link
    el 02-06-2008 12:52 UTC por carcadiz carcadiz
  9. #13   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
    13  votos: 1   link
    el 02-06-2008 13:09 UTC por --51021-- --51021--
  10. #14   #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?
    6  votos: 0   link
    el 02-06-2008 13:09 UTC por mar_blava mar_blava
  11. #15   Hola, soy el autor del artículo. En mi facultad comenzábamos con C. Cuando yo comencé en 2001, sí hacían hincapié con C y los punteros, actualmente se enseña C pero no se enseña los punteros, lo cual me parece una genial gilipollez (para ello podrían comenzar enseñando Java no?)

    Y si, yo he colgado el otro artículo hoy y ya no colgaré más hasta pasado un tiempo asi que emilius podrá estar tranquilo que no molestaré más por ahora jejeje.
    39  votos: 4   link
    el 02-06-2008 13:10 UTC por JyQ JyQ
  12. #16   ¿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.
    35  votos: 5   link
    el 02-06-2008 13:21 UTC por samsaga2 samsaga2
  13. #18   c es el fundamento....
    12  votos: 1   link
    el 02-06-2008 13:26 UTC por responde responde
  14. #19   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.
    6  votos: 0   link
    el 02-06-2008 13:27 UTC por TheOm3ga TheOm3ga
  15. #21   #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.
    8  votos: 0   link
    el 02-06-2008 13:30 UTC por Nevershine Nevershine
  16. #22   Lo que nunca se va a perder: 'Si funciona, no lo toques'
    32  votos: 3   link
    el 02-06-2008 13:31 UTC por Liths Liths
  17. #24   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.
    7  votos: 0   link
    el 02-06-2008 13:33 UTC por tiopeter tiopeter
  18. #25   ...EDITADO...
    -1  votos: 1   link
    el 02-06-2008 13:35 UTC por Nevershine Nevershine
  19. #26   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 :-D
    8  votos: 0   link
    el 02-06-2008 13:36 UTC por Coconut80s Coconut80s
  20. #27   #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? xD
    12  votos: 1   link
    el 02-06-2008 13:37 UTC por anis_del_mono anis_del_mono
  21. #28   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.
    8  votos: 0   link
    el 02-06-2008 13:37 UTC por Tronfi Tronfi
  22. #29   yo aprendí con basic, pascal, cobol, clipper, ensamblador y Turbo C y no soy tan viejo 29 ;)
    15  votos: 1   link
    el 02-06-2008 13:37 UTC por alexwing alexwing
  23. #30   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 :-D 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.
    15  votos: 1   link
    el 02-06-2008 13:38 UTC por Alcyone Alcyone
  24. #31   Los hombres de verdad programan intros de 4Kb en ensamblador, incluyendo música y gráficos 3D texturizados.
    71  votos: 8   link
    el 02-06-2008 13:38 UTC por --36237-- --36237--
  25. #33   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".
    21  votos: 2   link
    el 02-06-2008 13:40 UTC por Lamercillo Lamercillo
  26. #34   #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 xD Ya veremos el año que viene.
    6  votos: 0   link
    el 02-06-2008 13:42 UTC por TheOm3ga TheOm3ga
  27. #35   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.
    7  votos: 0   link
    el 02-06-2008 13:45 UTC por AlvMad AlvMad
  28. #36   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.
    7  votos: 0   link
    el 02-06-2008 13:45 UTC por JyQ JyQ
  29. #38   Desde que ví este código para limpiar la pantalla ya no me asusto de nada:
    for(int i=0;i<100;i++)
    printf("/n"); //La barra es al revés que no me deja ponerla jeje
    y eso sin contar las reservas de vectores y matrices 1000dimensionales....

    Por alguna razón se llama "Metodología y Tecnología de la Programación" y no "Chapurrea con C"
    Propongo que publiquen el código más burro que hayan visto nunca xD
    17  votos: 1   link
    el 02-06-2008 13:50 UTC por acano acano
  30. #39   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.
    14  votos: 3   link
    el 02-06-2008 13:51 UTC por swappen swappen
  31. #40   #38

    while(1)
    printf(" ");
    Limpia mejor xD
    40  votos: 4   link
    el 02-06-2008 13:52 UTC por Alcyone Alcyone
  32. #41   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 xD
    6  votos: 0   link
    el 02-06-2008 13:53 UTC por PotajiTo PotajiTo
  33. #42   #39 Yo he hecho teleco y SOLO DAN JAVA
    15  votos: 1   link
    el 02-06-2008 13:53 UTC por Alcyone Alcyone
  34. #43   #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.
    8  votos: 0   link
    el 02-06-2008 13:55 UTC por Tronfi Tronfi
  35. #47   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
    8  votos: 0   link
    el 02-06-2008 13:57 UTC por darkknigt darkknigt
  36. #48   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.
    13  votos: 1   link
    el 02-06-2008 13:59 UTC por babyOtaku babyOtaku
  37. #49   "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.
    13  votos: 1   link
    el 02-06-2008 13:59 UTC por --78267-- --78267--
  38. #50   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!!!
    32  votos: 3   link
    el 02-06-2008 14:02 UTC por freston freston
  39. #51   #49 Si hablamos de C, creo que se refiere sencillamente a algo como:

    int *puntero;
    ...
    funcion(&puntero);
    13  votos: 0   link
    el 02-06-2008 14:06 UTC por --36237-- --36237--
  40. #53   #33 No podría estar más de acuerdo contigo...
    6  votos: 0   link
    el 02-06-2008 14:07 UTC por Ricky Ricky
  41. #54   #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
    14  votos: 1   link
    el 02-06-2008 14:08 UTC por swappen swappen
  42. #55   que es un *puntero? xD
    11  votos: 0   link
    el 02-06-2008 14:11 UTC por faelomx faelomx
  43. #57   por mi que desaparezcan los punteros!!
    14  votos: 1   link
    el 02-06-2008 14:12 UTC por piquet piquet
  44. #58   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 </talibán>
    33  votos: 3   link
    el 02-06-2008 14:13 UTC por Enfurecido Enfurecido
  45. #59   #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.
    6  votos: 0   link
    el 02-06-2008 14:16 UTC por swappen swappen
  46. #60   #52 A alto nivel de abstracción los dos conceptos son equivalentes.
    6  votos: 0   link
    el 02-06-2008 14:19 UTC por --78267-- --78267--
  47. #61   #58 Sabrás de lo que comentas, pero de XML o de HTML no tienes ni idea. No has puesto la etiqueta de apertura.
    6  votos: 0   link
    el 02-06-2008 14:24 UTC por --78267-- --78267--
  48. #63   #62 Pues sí, y por ello las dos heredan de la clase Fruta, que hereda de la clase Alimento...
    6  votos: 0   link
    el 02-06-2008 14:28 UTC por --78267-- --78267--
  49. #64   #27, #34: Eh, un respeto a Ge... eh, "el bizco". A ver si os va a dar con una josifa xD

    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? :-P (#34: A ti te he visto por la web de la OSLUCA a menudo, igual hasta te conozco en persona xD )

    #TODOS: Perdón por el oftopic :-S
    8  votos: 0   link
    el 02-06-2008 14:29 UTC por --17128-- --17128--
  50. #65   #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)
    14  votos: 1   link
    el 02-06-2008 14:31 UTC por jotape jotape
  51. #66   Donde esté Lisp... (Lista InSoportable de Paréntesis)
    21  votos: 2   link
    el 02-06-2008 14:31 UTC por --78267-- --78267--
  52. #67   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.
    18  votos: 1   link
    el 02-06-2008 14:33 UTC por rmcantin rmcantin
  53. #69   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!!!
    21  votos: 2   link
    el 02-06-2008 14:48 UTC por rumbia rumbia
  54. #70   #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.
    6  votos: 0   link
    el 02-06-2008 14:50 UTC por mortanius_ mortanius_
  55. #71   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.
    21  votos: 2   link
    el 02-06-2008 14:53 UTC por JyQ JyQ
  56. #72   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.
    16  votos: 1   link
    el 02-06-2008 14:56 UTC por Alvarete Alvarete
  57. #73   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.
    7  votos: 0   link
    el 02-06-2008 14:58 UTC por DeepBlue DeepBlue
  58. #74   #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...).
    6  votos: 0   link
    el 02-06-2008 15:02 UTC por --86917-- --86917--
  59. #77   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:
    books.google.es/books?id=TsKoTSwET2YC&pg=PA193&lpg=PA193&d
    6  votos: 0   link
    el 02-06-2008 15:40 UTC por usuario2007 usuario2007
  60. #78   #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. xD
    6  votos: 0   link
    el 02-06-2008 15:41 UTC por anis_del_mono anis_del_mono
  61. #79   #61 En la empresa en la que trabajo me sale el XML por las orejas.
    8  votos: 0   link
    el 02-06-2008 15:41 UTC por Enfurecido Enfurecido
  62. #80   #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
    13  votos: 1   link
    el 02-06-2008 15:49 UTC por Fregona Fregona
  63. #81   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!
    8  votos: 0   link
    el 02-06-2008 16:04 UTC por CuaC CuaC
  64. #82   #include<stdio.h>
    void main()
    {
    printf("Hola mundo");
    printf("Este es mi primer programa C");
    }
    0  votos: 1   link
    el 02-06-2008 16:13 UTC por --72305-- --72305--
  65. #84   #82, es más "correcto" int main(void), y luego devolver 0 con "return 0" ;).
    13  votos: 1   link
    el 02-06-2008 16:33 UTC por difuso difuso
  66. #85   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"
    13  votos: 1   link
    el 02-06-2008 16:34 UTC por difuso difuso
  67. #86   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 xD
    Llevo 3 años y estoy en 3º, así que esto es algo actual y no un lejano recuerdo jaja
    -2  votos: 1   link
    el 02-06-2008 16:43 UTC por Ero-Padrin Ero-Padrin
  68. #87   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 :-S
    8  votos: 0   link
    el 02-06-2008 16:46 UTC por LadyMarian LadyMarian
  69. #88   #87 Compréndelos, son de gestión. Si fueran de sistemas... Es broma xD
    6  votos: 0   link
    el 02-06-2008 17:10 UTC por TheOm3ga TheOm3ga
  70. #89   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!
    6  votos: 0   link
    el 02-06-2008 17:11 UTC por --6043-- --6043--
  71. #90   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.
    15  votos: 1   link
    el 02-06-2008 17:20 UTC por Artorius Artorius
  72. #91   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.
    -6  votos: 2   link
    el 02-06-2008 17:33 UTC por damocles damocles
  73. #92   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.
    14  votos: 1   link
    el 02-06-2008 17:36 UTC por rubinius rubinius
  74. #93   #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)
    14  votos: 1   link
    el 02-06-2008 17:40 UTC por rubinius rubinius
  75. #94   > 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?
    6  votos: 0   link
    el 02-06-2008 17:53 UTC por quicksort quicksort
  76. #96   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
    6  votos: 0   link
    el 02-06-2008 18:14 UTC por --83324-- --83324--
  77. #98   #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.
    6  votos: 0   link
    el 02-06-2008 18:31 UTC por quicksort quicksort
  78. #100   En la politécnica de Valencia todavía comenzamos en primero con C a pelo ^^
    8  votos: 0   link
    el 02-06-2008 19:05 UTC por Ellohir Ellohir
« anterior12
comentarios cerrados

menéame