Retroceder Mi "Educación" [cerrado]

13

Hace un tiempo, decidí comenzar a programar. Realmente, solo salté a un idioma (Perl) y me fui de allí. Lo que lamento es que acabo de saltar:

No aprendí los conceptos básicos (si los llamara conceptos básicos).

No aprendí sobre informática.

Creo que este problema me está impidiendo alcanzar mi verdadero potencial. ¿Dónde debo "reiniciar"? ¿Hay algún libro, artículo, etc. que deba leer? ¿Hay algún tema que un programador experimentado deba conocer? ¿Cual es tu consejo?

    
pregunta Dynamic 08.11.2011 - 02:32

4 respuestas

21

Yo haría esto:

Ruta A: el método semi-típico

  1. Aprenda un idioma con una sintaxis más regularizada como Java, C # o Python. Perl es una herramienta increíblemente útil, pero también es una forma muy libre en cuanto a cómo le permite hacer las cosas. Los otros idiomas que enumeré son mucho, mucho menos.

  2. Obtenga un libro sobre estructuras de datos en dicho idioma.

  3. Obtenga un libro sobre algoritmos en dicho idioma.

  4. Obtenga el código completo y efectivo Java / C # / Cualquiera que sea la versión de Python.

Ruta B: El Sendero de la Iluminación de Joel Spolsky (o Death, elige)

  1. Obtenga el libro "Código"

  2. Obtén el "lenguaje de programación C" de K & R

  3. Obtenga la estructura e interpretación de la programación de computadoras

En cuanto al método, el método 1 le enseñará a programar de una manera más regular. Hasta cierto punto, los conceptos informáticos (sin teoría de la complejidad, confía en mí) y te proporcionan un lenguaje que es mejor para trabajar en proyectos con otras personas y para hacer aplicaciones más grandes.

El método 2 es más duro, es un enfoque más básico con "Code" que explica los conceptos básicos, K & R introduce el material a nivel de máquina y el SICP presenta los conceptos de nivel superior. Es un camino mucho más difícil pero más enfocado.

En cualquier caso, date tiempo. Roma no se construyó en un día y tampoco lo son las habilidades de programación, incluso si eres un genio en eso. La programación de Peter Norvig en 10 años es el ensayo habitual que señalo a las personas.

Anexo:

En cuanto al material gratuito disponible: Python the Hard Way, como se indica a continuación, es un buen comienzo, desde allí, Cómo pensar como un informático es una continuación razonable.

Hay una serie de recursos en Algoritmos y, honestamente, probablemente puedas cambiar los pasos 3 y 4 sin problemas. Tenga en cuenta que aquí es donde realmente comienzan a aparecer las matemáticas, así que nunca tenga miedo de pedir ayuda cuando llegue a esta etapa. Esto parece ser una guía gratuita razonable .

Realmente no hay un equivalente libre y cohesivo al Código Completo por decir, aunque Código como un Pythonista parece bastante sólido. Lo importante es concentrarse en hacer que su código sea legible una vez que tenga los fundamentos. No es "necesario" de la misma manera en que es correcta la sintaxis de su código, pero hace que la vida sea mucho más fácil una vez que supere los programas pequeños o trabaje en algo durante un período prolongado.

Es posible que descubras que me he centrado principalmente en Python, porque es el más fácil de los tres encontrar material gratuito bien escrito. Creo que los tutoriales de Java de Oracle están bien, pero están un poco secos y no son excelentes para los principiantes. C # se encuentra en una situación similar, aunque ninguno de ellos sufre de falta de documentación.

También, tu primer chiste / juego de CS: quieres "refactorizar" tu educación, no Retroceder.

    
respondido por el World Engineer 08.11.2011 - 03:04
4

Diría que apunta a Aprende Python de la manera más difícil ; Es un buen enfoque. Vete de ahi le tomará el tiempo suficiente para darle tiempo a encontrar otros recursos.

En mi opinión, la "ruta B" mencionada en otra respuesta no es apropiada en esta etapa.

    
respondido por el Dave Newton 08.11.2011 - 03:21
1

Bueno, empecé por la misma razón, ya que tenía algunos conocimientos sobre hardware y estaba intrigado con la programación. Me gusta aprender cosas nuevas.

Comencé con los archivos por lotes de DOS, luego QuickBasic, luego Visual Basic, VBA, MASM, con Access para el trabajo de base de datos antes de obtener mi primer trabajo. Para mí, ese fue el mejor camino, comenzando simple y luego construyendo desde allí.

Diría que decida qué es lo que más le gusta de la programación y vaya con esa ruta, las secuencias de comandos, el desarrollo web, la programación de Windows, etc. Si no lo sabe, comience a trabajar con algunos idiomas para ver qué le gusta. Aunque necesitarás tiempo. Se tarda unos 5 años para ser realmente bueno con un lenguaje como Java o quizás C ++, IMHO.

Como lenguaje para ayudar a aprender el desarrollo web, JavaScript definitivamente, PHP es popular y Python, pero eso es IMHO. Se supone que sabrás o aprenderás HTML / CSS. Realmente subestimé el javascript, aunque lo he usado desde 2001. Hice lo mismo con CSS y no pensé que fuera importante. También he cambiado mi opinión sobre eso.

Cuando intento determinar una tendencia, voy a enlace y haga clic en el enlace de tendencias en la parte superior izquierda de la página. Luego coloco palabras clave como PHP y Python y veo cuáles se están reduciendo para puestos de trabajo reales que están disponibles en Internet.

Sin embargo, esto es desde una perspectiva profesional y se basa en lo que me da más valor para los clientes (empleadores). No solo desde una perspectiva de aprendizaje.

    
respondido por el user39741 08.11.2011 - 21:20
-1

Aprenda sobre los algoritmos en su forma más básica, olvídese de los idiomas por un tiempo. Ordenar vectores, palabras, etc. Freepascal es un buen lenguaje para comenzar con estas cosas, me encanta Perl, pero con todos sus accesos directos y cosas geniales, a menudo descuidarás el algoritmo inherente del programa.

    
respondido por el alfa64 29.04.2012 - 21:41

Lea otras preguntas en las etiquetas