¿Construyendo un programa completo?

14

Leer libros, ver videos y revisar tutoriales es muy fácil. Tomar notas y realmente aprender el material puede ser un poco más difícil, pero incluso en ese caso, cualquier persona con un cerebro decente y bastante interesado, es bastante fácil (sin mencionar, divertido).

El problema es que realmente no te prepara para escribir un programa completo o un sitio web. Supongamos que son esos adolescentes (solo en la escuela secundaria, no hay cursos de informática o programación de informática (nivel universitario) y no hay experiencia en el mundo real), y sale con Groupon. O incluso Mark Zuckerburg, seguro que era un genio y que era un programador muy capaz ... pero ¿cómo?

¿Cómo recomienda que las personas que no son necesariamente nuevas en la programación, pero nuevas en la programación de aplicaciones reales y programadores reales desarrollen su desarrollo? ¿Cuál es el "proceso de desarrollo", especialmente para programadores individuales (o quizás 2-3 adolescentes)?

Además, en lo que respecta al desarrollo web, ¿cuál es el proceso? ¿Se escribió algo como Facebook o Groupon con un marco (como CodeIgniter o Zend para PHP)? ¿O desarrollan sus propios marcos? No estoy preguntando cómo encontrar una gran idea, sino cómo implementar grandes ideas de una manera efectiva. ¿Alguien tiene algún consejo?

He leído un par de libros sobre C y C ++ (principalmente el Lenguaje de Programación C y el Lenguaje de Programación C ++) y tomé AP Ciencias de la Computación (además de leer algunos libros adicionales sobre Java y OOP). También he leído algunos tutoriales sobre PHP (y CodeIgniter) y Python. Pero todavía estoy en la escuela secundaria, y técnicamente no tengo la edad suficiente para trabajar en una pasantía por unos meses más.

    
pregunta Bob 25.11.2011 - 10:45

7 respuestas

7

Hay una diferencia entre simplemente saber cómo programar y saber cómo estructurar un programa (arquitectura de software).

Un libro simple sobre un lenguaje de programación específico solo le enseñará las herramientas que puede utilizar para configurar la arquitectura de un programa.

También hay libros que te ayudan con la arquitectura del software. Los temas que debe buscar son patrones de diseño , software abstraction , arquitectura / diseño de software, y muchos más ... ( Head First Design Patterns fue una verdadera revelación para mí.)

Para un conjunto más amplio de recursos, esta pregunta puede interesarle.

Aún así, la mejor manera de aprender cómo estructurar correctamente un programa completo es la experiencia práctica de hacerlo, siendo muy abierto a sugerencias y nuevas técnicas mientras lo hace.

    
respondido por el Steven Jeuris 25.11.2011 - 11:02
5

Es el mismo problema muy común con el desarrollo de juegos (indie): cómo terminar.

Además de asegurarse de que puede hacerlo, ya sea porque tiene todos los conocimientos necesarios o está dispuesto a aprender, y comprobó que otras personas verificaron que no era imposible ...

... lo principal que hace posible el "acabado" es establecer objetivos .

Los objetivos son el objetivo a alcanzar, no deben describir cómo llegar allí, solo cuáles son los requisitos / características básicos que necesita para considerar una primera versión de su aplicación como "finalizada". Además, no establezca objetivos demasiado lejanos en el tiempo.

Escribe tus objetivos en algún lugar. Escríbelo.

Una vez que hayas establecido objetivos, tendrás que encontrar formas de alcanzarlos. Ese es el famoso "camino" que es más interesante que la llegada. No te preocupes por llegar a las paredes y descubrir lo equivocado que estarás. La mayoría de las veces, si el tema es nuevo, se equivocará, aprenderá por qué y podrá hacerlo bien y habrá hecho una configuración más para acercarse a los objetivos.

Incluso en el diseño de juegos, sabemos que debe proporcionar objetivos para asegurarse de que el jugador sepa, incluso de manera abstracta, lo que debe lograr, independientemente de lo que haga.

    
respondido por el Klaim 25.11.2011 - 10:52
4

Leer mucho sobre natación no hace que uno sea un nadador. Por supuesto, prepara uno con los conocimientos necesarios, para convertirte en un nadador, debes saltar al agua.

Veo que muchas personas que simplemente lo hicieron y no pensaron / leyeron acerca de hacerlo son las que tienen éxito.

Si quieres ser un nadador, simplemente salta al agua y aprende a nadar, si quieres ser un programador, comienza a programar con una idea y aprende a programar.

Creo que el ensayo de peter norvig es relevante aquí: Enseñe la programación en 10 años

    
respondido por el 18bytes 25.11.2011 - 17:42
1

Suena como si se enfocara demasiado en los aspectos de implementación del software, que es solo una fracción de todo el proceso de desarrollo de software (consulte SDLC). Es posible que necesite ver algunas metodologías de software y aprender a usar una que le guste. Aparte de eso, lea los estudios de casos, descubra las ventajas y desventajas de cada herramienta que consideraría usar en su software también, evalúe y vaya desde allí. Después de leer rápidamente su pregunta, es posible que deba centrarse en las áreas de software Analysis y Design , y aprender sobre UML, descomposición y quizás algunos patrones de diseño. tal vez ..

Espero que esto ayude ..

    
respondido por el Steve Rathbone 25.11.2011 - 11:09
0

Respuesta corta, establece tus objetivos y comienza.

No hay un libro ni una forma de enseñarte esto, pero sí la experiencia práctica.

Cometerás muchos errores y ganarás experiencia gradualmente. Entonces, si se encuentra con un problema, piénselo, intente encontrar una solución y si falla, vaya a stackoverflow y busque ayuda. También tenga revisiones de código lo antes posible y lo más posible.

Después de terminar su primer proyecto y tener un buen conocimiento de los problemas técnicos, comience a buscar temas más abstractos y de mayor nivel en la ingeniería de software.

Con su conocimiento reciente de problemas comunes, obtendrá los conceptos de los resúmenes de los libros de tener código limpio y desacoplado, ya que su primer proyecto será un desastre ineludible.

Libros (sospechosos habituales):

respondido por el OliverS 25.11.2011 - 13:07
0

En este punto, debe dejar de leer sobre programación y comenzar a programar. Si desea crear un sitio web, siga un tutorial para el marco de su elección. Simplemente elige uno que te atraiga. Trabaje en el tutorial para aprender a usar el marco, luego comience a crear su propia aplicación web.

Después de que hayas escrito un código, los libros sobre técnicas de programación tendrán mucho más significado.

    
respondido por el kevin cline 25.11.2011 - 17:57
0

Cuando salga y trate de escribir algunos programas que quiera vender, le recomiendo que lea este ensayo de Joel Spolsky sobre "La capa de abstracción de desarrollo".

enlace

    
respondido por el Doc Brown 25.11.2011 - 18:18

Lea otras preguntas en las etiquetas