Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • Mi opinión

    (Puntos:2, Interesante)
    por JAM (999) el Viernes, 04 Julio de 2003, 15:59h (#194813)
    ( http://barrapunto.com/ )
    Todo este asunto de los lenguajes y demás es muy opinable, así que sin pretender tener la verdad absoluta daré mi opinión.

    Empieza con programación declarativa, y a ser posible con un lenguaje fuertemente tipado y con variables declaradas como Pascal (turbo pascal en concreto). Es un lenguaje realmente fácil de aprender, y sin embargo bastante completo. Después, cuando tengas el Pascal más o menos dominado, recomendaría pasar a C; es más complejo que Pascal (por el asunto de los punteros, E/S, etc) pero sigue siendo un estándar y te va a enseñar muchísimas cosas de programación a nivel medio/bajo.

      Además cuando estés aprendiendo Pascal te aconsejo que te agencies un buen libro que te enseñe, no sólo el lenguaje, sino también fundamentos de programación como estructuras de datos, algortimos de ordenación, técnicas como la recursividad, etc. Yo te recomiendo uno rojo muy gordo de McGraw Hill llamado 'Programación en Turbo Pascal X.X' (o algo así, ahora no estoy en casa para mirarlo) que puedes encontrar sin dificultad en cualquier librería técnica. Es caro, pero lo vale, porque como te digo no sólo te enseña Pascal, sino que además te enseña a programar. Además aprender Pascal no se riñe con hacer aplicaciones gráficas en Delphi (pues su lenguaje es una evolución del Turbo Pascal) con lo cual realmente en ese primer paso ya puedes empezar a ser productivo con este RAD.

    Yo el C me lo empollé en su día (cuando lo di en la universidad ya lo dominaba), haciendo 'info libc' y haciendo programas de prueba sobre los distintos módulos que esta librería contiene. Vas a aprender salvajadas de esta forma, y lo más importante, vás a ganar una serie de recursos y conocimiento de formas de programas, alternativas para un mismo problema, y estructura de una librería que te va a ser muy útil en cualquier otro lenguaje.

    Después pasaría a la programación orientada a objetos con un lenguaje sencillo (aunque muy potente) como Python. Su modelo de objetos es ideal para programar, es sencillo y sin embargo te permite captar lo 'importante' de la programación orientada a objetos sin embrollarte con otros asuntos. Cuando domines el Python y te hayas hecho algunos programillas en el mismo (es fácil), pasaría a Java para profundizar en la programación orientada a objetos y aprender lo que Python no te enseña sobre ella. En este punto podrías atreverte con libros sobre UML y patrones de diseño, que te ayudarán a mejorar mucho tu técnica a la hora de diseñar e implementar programas orientados a objetos.

    Una vez que tengas dominada la programación declarativa y la orientada a objetos podrías atreverte con cosas más exóticas (programación lógica, etc) o incluso con algún hueso más duro de roer como C++ (que es un mundo en si mismo). Otro lenguaje excelente con el que aprender programación orientada a objetos y algunas técnicas algo más modernas como programación por contratos es el D (http://www.digitalmars.com/d).

    Este lenguaje es, en mi opinión, magnífico, lo que C++ debio de haber sido si hubiera sido diseñado desde un principio para llegar a lo que es ahora en lugar de haber evolucionado con el tiempo. Te permite hacer cualquier cosa que te permita hacer C++, es tan sencillo o más que el Java (tiene recolector de basura, etc) aunque es compilado (y por lo tanto muy eficiente) y permite programación de bajo nivel, y en conjunto me parece un lenguaje magníficamente diseñado. El problema es que las herramientas, y sobre todo la librería, están en fase alfa, y los estándares del lenguaje pueden cambiar y cambian puesto que tampoco están 'fijados'. Por último tampoco vas a encontrar mucha documentación, sólo la especificación del lenguaje, aunque llegado a este punto te va a servir de sobra. Otra buena forma de aprender sería contribuir a la librería estándar de D, que está en continuo desarrollo (y bastante inspirada en la de Python, por cierto).

    Saludos y suerte, todo este proceso puede llevarte unos cuantos añitos (dependiendo del tiempo que le dediques) pero si te gusta todo esto te lo vas a pasar bomba aprendiendo cada vez más y más y hay pocas satisfacciones como la de finalizar un programa que funciona, es 'bonito' (bien diseñado, fácilmente ampliable, sin demasiadas chapuzillas) y hace algo que te es útil a ti y a más gente.
    Puntos de inicio:    2  puntos
    Modificador extra 'Interesante'   0  

    Total marcador:   2  
  • por JAM (999) el Lunes, 07 Julio de 2003, 00:45h (#195359)
    ( http://barrapunto.com/ )
    Me parece que me has leido mal...

    >>realmente fácil de aprender, y sin embargo bastante
    >>completo. Después, cuando tengas el Pascal más o
    >>menos dominado, recomendaría pasar a C; es más
    >>complejo que Pascal (por el asunto de los punteros, >E/S, etc) pero

    >Eso no es cierto. Pascal SI tiene punteros (su
    >manejo, dicho sea de paso, iguala en prestaciones
    >a C). También tiene sentencias de manejo de bajo
    >nivel, acceso a puertos, direcciones de memoria,
    >registros, ensamblador online, etc.
    >
    Bueno, si lees despacio mi mensaje veras que yo no digo que pascal no los tenga, ni punteros ni lo demás (aunque en pascal es más común utilizar referencias 'ala' C++, al menos en mis tiempos pascaleros), lo que intentaba decir es que normalmente un programador de C es un programador que domina el asunto de los punteros por la sencilla razón de que sin dominarlos uno va a tener muchos problemas en ese lenguaje.

    Tampoco he intentado decir que ningún lenguaje sea mejor que otro. El mejor lenguaje dependerá de lo que se quiera hacer, las herramientas que se tengan disponibles, la experiencia con los diversos lenguajes, la productividad que uno tenga con cada uno y la orientación de los mismos. Decir categóricamente 'este lenguaje es mejor que este otro' en algunos casos pueden indicar una falta de visión bastante preocupante. En otro casos obviamente no (porque uno es mucho más antiguo que otro, normalmente). Dicho esto estoy seguro de que casi todos los barrapunteros tienen sus preferencias de lenguajes (yo las tengo), y empezar un 'mi lenguaje es mejor que el tuyo' es como esas discusiones de colegio de 'mi papa es mejor que el tuyo'. Finalmente, y para dar ejemplo de lo que digo, D rulezzzz o mejor dicho, will rule :-D
    [ Padre ]
  • 1 respuesta por debajo de tu umbral de lectura actual.