Entonces mi papá me compró 5 libros sobre programación (C ++, Java, PHP, Javascript, Android) hace aproximadamente un mes. Es arquitecto y no sabe NADA sobre programación. Me los compró porque le dije que programar era divertido y quería aprenderlo.
Como sabrán, ser un niño (tengo 14 años) y que me digan que aprenda a programar con libros aburridos no es lo más fácil. Siempre me distraigo ... Le dije antes que no necesitaba comprar libros y que solo podía ver tutoriales en línea ... pero no, él es tan anticuado. Solo me deja usar los libros.
Recientemente, comenzó a preguntarme qué hice con él, y le mostré un programa C ++ que hice que toma lo que escribes y luego asigna valores a cada letra (A es la primera letra del alfabeto para que obtenga el valor de 1) ... y así sucesivamente. Luego suma todos los valores y te lo dice. Entonces la palabra "agregar" tendría un valor de 9.
^^ Eso no fue muy impresionante para él. Me gritó y me dijo que todo lo que he estado haciendo es joder. Eso no es cierto. Es extremadamente tradicional y terco y no escucha nada de lo que tenía que decir. ¿Qué debería decirle?
PD: Si tienes algún consejo sobre la zonificación de un libro, avísame
EDITAR: Muchas gracias a todos, no tienen idea de cuánto significa saber que hay algunas personas que entienden mi situación. He leído todos y consideraré la opinión de todos. ¡Gracias!
Respuestas:
No sé qué deberías hacer con tu papá. Pero:
Si hiciste todo esto solo, comenzando desde cero, aprendiendo de los libros, en un mes , es muy impresionante. Y lo hiciste en C ++, que es uno de los lenguajes de programación más aterradores que existen.
Hay bastantes personas por ahí que toman entrevistas, en serio tratando de conseguir trabajos de programación, que lucharían con eso. Mira esta historia.
Solo puedo sugerir: sigue haciendo lo que disfrutas. Ignora a tu papá en este contexto; No sabe de qué está hablando. Tienes talento para programar y ganas de aprender, los ingredientes principales para convertirte en un gran programador.
fuente
Muéstrale esta publicación de Peter Norvig. Norvig es jefe de I + D en Google y enseña en Stanford, específicamente en Inteligencia Artificial, escribió el libro introductorio estándar sobre IA. ¿Cuánto tiempo llevas trabajando en ello? No esperaría nada más que eso después de un mes de trabajo de un novato sin instrucción adicional, particularmente con algo tan espinoso como C ++. Cualquier cosa que valga la pena aprender vale la pena aprender bien.
fuente
Recuerda que tu padre probablemente piense que eres el niño más inteligente del mundo, y está tratando de ayudarte a aprender sobre algo que has dicho que disfrutas.
Ten en cuenta que, aunque tu padre está indudablemente equivocado (cinco temas completamente diferentes es mucho para tirar a un niño a la vez), también tiene razón. Mucha gente trata de aprender a programar imitando los "tutoriales" que encuentran en la web. Eso no siempre es algo malo, pero la OMI generalmente no conduce a una comprensión sólida. El libro correcto le enseñará los fundamentos primero. Puede que no sea tan divertido como seguir los tutoriales que hacen algo llamativo, pero su probabilidad de éxito a largo plazo aumentará mucho, y la cantidad de preguntas que tiene que hacer en stackoverflow.com disminuirá.
Olvídate de todos menos uno de los libros, al menos por ahora. Parece que ya has comenzado con C ++, así que hazlo si te gusta.
Te sentirás desanimado de vez en cuando. A veces parece que la mitad de la programación se está atascando y la otra mitad se está despegando. Liberarse es una habilidad valiosa, y cuanto más lo practiques, mejor será. (Evitar quedarse atascado en primer lugar también es una habilidad valiosa, así que practique eso también).
Aprender su primer lenguaje de computadora es para el desarrollo de software, lo que aprender a dibujar es diseñar un edificio. Puede que no sea la parte más interesante, pero es una habilidad requerida.
Si puede lograr que escuche, intente analizar todas las cosas que tuvo que aprender para escribir su pequeño programa. Solo toma algún tiempo aprender a usar las herramientas, y seguramente no entiende cómo funciona todo.
Ahora que has llegado al punto de tener un programa simple en ejecución, y aparentemente has aprendido un poco de C ++, ¿qué pequeños programas interesantes puedes escribir? ¿Qué tal una calculadora de préstamos que acepta una tasa de interés, el monto del préstamo y el plazo del préstamo e imprime un cronograma de pagos? ¿O una calculadora que lee una fórmula molecular como "H2SO4" o "C6H12O6" e imprime el peso de la molécula? Eso no es mucho más complicado que el programa que ya has escrito.
fuente
"Papá, tu enfoque en esto es hacer que aprender a programar no sea nada divertido . No lo hagas".
fuente
Como arquitecto, seguramente debe estar tirando de su pierna o ser grosero.
Pregúntele cuándo comenzó: pregúntele si dibujó rascacielos con planes detallados de plomería, calculó las fuerzas y el estrés en los materiales e hizo evaluaciones de riesgo de desastres (como ser golpeado por un avión con serpientes) después de un mes de gastos con libros cuando era tan joven como tú. Tal vez eso lo calme.
De acuerdo, tal vez no sea el mejor consejo que puedo darte para hablar con tus padres. Puedo entender que tener un padre, que penaliza el progreso en lugar de alentar, es un poco difícil cuando era niño, pero lo tomo como un estímulo para mejorar. Puede tener un problema de actitud, pero eso no significa mala intención.
fuente
Me gustaría saber qué libros estás usando. No todos ellos son realmente buenos. Además, no todos los libros son apropiados para todos.
No especificó su edad, por lo que supongo que tiene menos de 18 años. Comencé a aprender cuando tenía unos 8 años.
Cuando era niño, aproveché muchos recursos al aprender a programar. Tenía los manuales que venían con mi TI 99 / 4A, que contenía muchos programas divertidos para dibujar imágenes y animar figuras. Internet no estaba disponible para mí, pero incluso había revistas de computadoras dirigidas a niños, con programas en los que podía escribir y obtener comentarios inmediatos, y artículos sobre cómo resolver otros tipos de desafíos. Me gustaba mucho una serie de novelas de espías que me permitía escribir y depurar programas que se incluían como parte de la historia. Desafortunadamente, no creo que este tipo de recurso siga existiendo, pero hay algunos libros de programación dirigidos a personas más jóvenes, como el libro Hello World en Python y Land of Lisp (aunque eso también es divertido para los adultos).
No sé sobre ti, pero hubo un momento en que me encanta escribir programas que hacen cosas muy similares a lo que acabas de describir. Finalmente pasé a cosas más avanzadas. Escribí algunos juegos mediocres, algunas demostraciones que reproducían varios sonidos y animaciones en respuesta a las pulsaciones de teclas, y algunas ayudas de estudio. Cuando tenía alrededor de 10 u 11 años escribí un programa que me ayudó a memorizar la tabla periódica de los elementos al interrogarme repetidamente. (En ese momento, mis habilidades de memorización eran mejores de lo que son ahora, por lo que obtuve casi la misma cantidad de datos al escribir la prueba por primera vez, pero el punto era avanzar).
Puede que tu padre no se dé cuenta, pero los libros son solo una parte del proceso cuando estás aprendiendo a programar. Encontrar un pequeño problema e intentar descubrir cómo resolverlo es la otra mitad de la ecuación. La otra mitad es encontrar un libro que te enseñe poco a poco y que te permita obtener algo divertido en la máquina. En mi caso, los libros que enfatizaban los gráficos y la animación fueron los que me convencieron.
Cuando era niño, mis ojos se llenaron de lágrimas cuando leí libros sobre algoritmos de clasificación y estructuras de datos complejas, hasta que aprendí lo suficiente como para ver cómo se aplicaban a los problemas que realmente me preocupaban. No todas las palabras en los libros que leerás serán fascinantes. Está bien. Llegarás a eso cuando lo necesites; algún problema que querrás resolver te recordará esa técnica que no creías interesante hace tres semanas, tres meses o tres años, y volverás a revisarla y resolverla.
Un mes no es mucho tiempo para aprender programación. He estado escribiendo código de una forma u otra durante aproximadamente 30 años, incluso durante la infancia, y todavía aprendo algo nuevo todos los días. Estoy bastante seguro de que en el primer mes que tuve mi primera computadora, pasé mucho tiempo jugando a Munch Man y un número mucho menor de horas tratando de dar sentido a los programas de muestra en mi libro de referencia. Aprende al ritmo que funcione para ti. No hay presión en este momento, y eso es genial.
"Atornillar" es lo que se supone que debes hacer la primera vez que aprendes a programar. Los hackers (del tipo de Paul Graham) hurgan, tratando de entender cómo funciona su sistema, cómo funciona su lenguaje de programación, cómo funcionan sus herramientas. Intentas algo, fallas, razonas a través del problema que estás enfrentando e intentas otra cosa, hasta que algo funciona. No te preocupes tanto por eso.
A menos que tu padre esté trabajando en los mismos libros, probablemente no entienda cuánto has aprendido hasta ahora. No esperaría poder diseñar una casa o un rascacielos después de leer un libro sobre arquitectura durante un mes, especialmente cuando era adolescente.
Para poner las cosas en perspectiva, durante las últimas cuatro semanas más o menos he estado trabajando en algunos rincones esotéricos de la función Motores del marco Ruby on Rails. A partir de hoy, finalmente tengo algo que mostrar desde el punto de vista del usuario. Aprendí un montón en ese tiempo y desarrollé una gran cantidad de código fundamental que funciona bastante bien, pero es mi equivalente profesional de permitir a los usuarios escribir algunas cosas y recuperar algo: no es tan impresionante a primera vista para un usuario casual. , pero se dedicó mucho trabajo. Si alguien me dijera que estuve jugando durante cuatro semanas, estaría bastante decepcionado, pero también sabría que tienen la más mínima comprensión de lo que se hizo para hacer las cosas tan "simples".
fuente
Parece que en esta situación tu padre no es alguien que te brinde refuerzo positivo y apoyo en lo que estás haciendo. Solución simple: no lo uses para eso.
Haz tus propios proyectos y hazlos porque son divertidos, no porque él (o cualquier otra persona) quiera que los hagas. Elige algo que sea divertido para ti. No necesita aprender todo el idioma / tecnología de un libro. En cambio, solo comienza a jugar con las cosas. Eventualmente, a medida que las cosas se vuelven fáciles, buscará nuevos conceptos / desafíos. Y te encontrarás con ganas de leer los libros que hoy te parecen aburridos (o al menos ciertas secciones).
Si alguna vez te quedas atascado y necesitas ayuda para codificar algo, stackexchange es un gran recurso como ya has descubierto.
fuente
Me parece que tu padre tiene una inclinación por las expectativas poco realistas, o tal vez tienes un historial de comenzar cosas y no cumplir, o ambas cosas. Lo importante es darse cuenta de que nada de eso realmente importa aquí, todo lo que importa es que disfrutes de lo que estás haciendo y te mejores en hacerlo.
Tengo un momento muy difícil con libros que no me entretienen, siempre lo he hecho. Aprendo mejor viendo a otras personas hacer cosas, haciendo preguntas cuando no entiendo el propósito de algo y luego luchando hasta que lo descubro. La lucha nos hace más fuertes y nos da la propiedad de nuestros logros eventuales, tal vez por eso es tan difícil salir del útero.
Dicho esto, una de las herramientas más afiladas en su caja de herramientas será la capacidad de permanecer abierto, trabajar productivamente en medio de críticas y no descartar consejos basados en la fuente. Los buenos libros de programación tienden a atraparte, inspirarte y esperar que vuelvas a ellos cuando golpeas una pared. Sin ellos, estarás haciendo muchas cosas increíbles sin comprender inicialmente lo que estás haciendo. La programación es un arte muy deliberado, por lo que le recomiendo que busque libros escritos de una manera fácil de digerir.
He estado programando profesionalmente durante bastante tiempo y puedo decirles que mi satisfacción es realmente la mía. Mi jefe no comprende por qué las cosas que he escrito son tan increíbles que mi esposa se queda dormida cuando le cuento mi día y mis amigos se desviven para evitar preguntarme sobre mi trabajo. Saboreo mis victorias y la oportunidad ocasional de compartirlas con mis compañeros. Tu papá, en este caso, no es uno de tus compañeros.
Sigue adelante y sigue mejorando. Acostúmbrese al hecho de que los no programadores necesitan ver algo visualmente impresionante antes de quedar impresionados. ¿Por qué no probar suerte escribiendo algo como un generador de grupo Mandelbrot / Julia ? Eso podría mostrarle el tipo de progreso que está buscando, sacarlo de su caso por un tiempo. En diez años, hará algo muy similar para quitarse de la espalda a un gerente no técnico para que pueda hacer un trabajo real.
Solo recuerda, lo estás haciendo porque lo disfrutas.
fuente
Es difícil saber si esta pregunta es mejor para el foro Parenting o el foro Programming. Temo que mi consejo no esté en el objetivo, porque siento que enredado en esta pregunta es potencialmente una gran cantidad de "problemas" de relación padre-hijo.
Dicho esto, en lo que me centraría es en la gran oportunidad que existe para que usted y su padre se conecten en un tema por el que los dos puedan compartir la pasión de alguna manera. Siendo padre y conociendo a mi propio padre, sé cuán desesperadamente queremos que nuestros hijos nos escuchen, sigan nuestras instrucciones y aprendan de nosotros. Nuestros hijos a menudo se ven obligados a hacer lo contrario. Entonces, el hecho de que ustedes dos compartan este interés común es maravilloso.
Los padres pueden ser obstinados con seguridad, pero todavía creo que hay una oportunidad para que usted pueda flexionar su propia individualidad y elección a través de este ejercicio. No por una sensación de desafío, sino por su propio impulso y ambición de conocer bien el tema de la programación. Personalmente, parece que tu padre te arrojó a lo más profundo cuando se trata de programación. De acuerdo, puede que no sea MIPS Assembly Language o LISP, pero aún así, ¿C ++? ¿Java? Yikes Me encanta programar, pero leerlos desde el principio podría haberme apagado por completo. Bromeando :)
Entonces, lo que preguntaría es esto: ¿qué te inspira ? ¿Qué tipo de cosas quieres construir? Responda eso, y luego busque sus propios libros y tutoriales sobre ese tema. Ven aquí y haz preguntas. Construye algo. Luego muéstrale a tu papá lo que construiste. Dile lo que aprendiste. Agradézcale por estar tan comprometido con usted y dígale que lo aprecia. Lo digo porque al final, de eso se trata todo esto. Quiere compartir algo contigo porque te ama. A veces los padres tienen dificultades para expresar eso de manera tradicional, por lo que buscamos estas formas indirectas de decir lo mismo. A veces apestamos al hacer eso. Pero no olvides que en todo esto hay un deseo de estar más cerca de ti.
fuente
No parece que nadie haya sugerido esto todavía:
Si lo piensas bien, ese programa no es muy impresionante para alguien que usa computadoras y no sabe nada sobre programación.
Muéstrale a tu papá cómo lo hiciste. Guíelo a través del código fuente. Probablemente (definitivamente) no lo entenderá, pero transmitirá cuánto trabajo has puesto en él y cuánto entiendes, y tal vez saldrá con una impresión más positiva de cuánto has logrado realmente.
fuente
Haz lo que quieras
Es tu vida. Puedes hacer lo que quieras. No dejes que nadie (incluso tu papá) controle tu vida.
Supongo que disfrutas más o menos de la programación y quieres convertirte en un especialista exitoso (y tu papá quiere, todos quieren). Pero la cuestión es que nunca tendrás éxito a menos que sepas lo que estás haciendo y que no te guste .
Dominar cualquier campo es difícil. No puedes hacer esto solo bajo la influencia de alguien. Y nadie sabe qué debes hacer mejor que tú . ¿Quieres descansar hoy y tener ganas de jugar todo el día? Esa es su decisión y usted es responsable de ello. Debes aprender a ser responsable de tus decisiones y tu vida. Ser responsable de sus decisiones es obligatorio para cada especialista exitoso.
Entonces, ¿qué haces en esa situación? Mantente firme, no escuches a nadie y haz lo que sea que valga la pena para ti.
fuente
Solicitaste libros. Honestamente, lo harás mejor resolviendo problemas que leyendo libros. Encuentra un rompecabezas o un problema que te apasione. El Proyecto Euler es una gran fuente, y CodeGolf puede ofrecer preguntas interesantes en ocasiones. Mi primer proyecto de programación fue una aplicación C ++ que encontró números primos. El libro de texto que estaba usando en ese momento ofrecía una implementación simple como esta:
que es masivamente ineficiente. Encontré los primeros 500 primos con esa función antes de rendirme con disgusto por su lentitud. Papá y yo lo pasamos muy bien tratando de optimizar lo anterior, y aunque era una aplicación simple que ni siquiera escribía su salida en un archivo, me divertí y el producto resultante fue genial.
¿Aprenderás leyendo libros? Sí, pero no puedo enfatizar el valor de simplemente jugar con un lenguaje de programación y aprender por prueba y error.
Si estás aprendiendo programación para tu papá, detente y encuentra tu propia razón para hacerlo. El mío todavía me persigue para construirle un sistema de comercio automatizado de alto volumen. Lo digo en serio cuando digo que necesitas encontrar algo en lo que quieras trabajar porque de lo contrario probablemente abandonarás la programación por completo porque llegarás a verlo como una tarea, no como un pasatiempo o un deporte.
Intente leer el libro de Linus Torvalds "Just For Fun" en el que relata los orígenes del sistema operativo Linux. El título lo dice todo.
Seriamente. Solo ve a hackear algún problema. Cuando te quedes atrapado, involucra al viejo.
Si tu padre no aprecia tu trabajo, no es porque esté decepcionado. Es arquitecto, no sabe lo complejas que son algunas cosas. Intenta guiarlo a través de tu código, aunque solo sea la lógica, y haz que aprecie de qué se trata esa lógica que aprendiste al escribirla.
TL; DR
fuente
Intenta encontrar un libro que sea específicamente una introducción a la programación para principiantes. ¡Quizás algo como Hello World! Programación de computadoras para niños y otros principiantes por Warren Sande.
También deberías ver lo que tiene tu biblioteca. La mayoría de las bibliotecas deberían tener algunos libros para principiantes.
fuente
En mi opinión tienes dos problemas:
EN MI HUMILDE OPINIÓN:
Para su primer problema, simplemente vaya a sitios como este y haga preguntas como lo hizo. Encuentre recursos como estos https://softwareengineering.stackexchange.com/questions/62224/how-to-become-a-professional-programmer/62263#62263 . Piensa en algo que quieras crear (un juego, una lista de tareas, un sistema de gestión de colección de películas, la siguiente mejor plataforma social) y simplemente comienza a codificar. O comience a resolver acertijos ¿Dónde puedo encontrar acertijos y desafíos de programación?
Su segundo problema es más difícil, necesita educar a su padre (aunque no parece muy dispuesto) Mientras aprende, mejorará al explicarle lo que es difícil de programar. Podrías tratar de usar metáforas como la explicó ¿Qué es una buena metáfora de programación? . Otro consejo es que, en general, los que no son programadores no obtienen la complejidad de un gran algoritmo, pero se impresionan fácilmente con interfaces de aspecto agradable. Dependiendo de la plataforma que elija, puede generar interfaces bonitas con bastante facilidad para impresionar a su padre. Use por ejemplo:
Espero que esto ayude.
fuente
Solo me gustaría agregar que estaba en una posición muy similar en algún momento de mi vida, mi padre realmente no entendió lo que significaba refuerzo positivo. Pero viendo que era persistente y resistente a su desaprobación a veces dura, logré mantenerlo. Unos veinte años después, la relación con mi padre había cambiado mucho, mejoró, pero los sutiles matices de aquel entonces todavía están ahí.
Este es solo un momento difícil en tu vida y lo importante aquí es que te diviertas haciendo esto más que cualquier otra cosa.
fuente
Con respecto al lenguaje de programación, estoy de acuerdo en que debe centrarse en uno solo.
En realidad, recomiendo uno que aún no tienes: Python. Python es un lenguaje bastante fácil de aprender, pero también bastante poderoso. C ++, Java, PHP y Javascript son mucho más complejos.
Hay varios libros de Manning que enseñan programación usando Python. Consideraría fuertemente "¡Hola, Mundo!", Incluso si está dirigido a un grupo demográfico ligeramente más joven.
Si desea continuar con C ++, le recomiendo este libro:
Aunque es más una "referencia" y menos un "tutorial". No conozco un buen tutorial de C ++: hay un montón de libros de tipo "aprende a ti mismo C ++ rápido", pero no creo que sean muy útiles. (C ++ es un lenguaje bastante difícil de aprender primero; la mayoría de los programadores de C ++ comenzaron con un lenguaje más fácil).
fuente
def string_add(a_string): \n\t sum = 0 \n\t for letter in a_string:\n\t\t sum += ord(letter) - ord('a')+1 \n\t return sum
(la \ n - nueva línea \ t -tab) o el uso de una programación funcional más avanzada es un trazador de líneas.string_add = lambda a_string: sum(map(lambda ch: ord(ch)-ord('a')+1, a_string))
Acerca de C ++, Java, PHP, JavaScript y Android (para que pueda elegir entre ellos, ya que es probable que falle el intentar dominarlo todo de una vez):
Hay muchas bibliotecas y marcos de JavaScript por ahí. Le sugiero que revise knockout y jQuery , así como qooxdoo y ext.jssi estás buscando algo en toda regla. Además, para el desarrollo del servidor, debe consultar express.js .
Además, me gustaría señalar CoffeeScript , un lenguaje que se compila a JavaScript, pero tiene bastantes extras, que son útiles.
En cualquier caso, lo realmente importante es que lo encuentres agradable. Que creas cosas, crees que son geniales. Eso resuelve algunas de tus necesidades o es divertido jugar con ellas. La programación es para quienes la disfrutan. Necesita un conjunto de herramientas que le permita crear aplicaciones con pocas líneas de código. JavaScript / CoffeeScript podría ser un buen punto de partida.
Personalmente, me gustaría señalarle a Ruby. Me ha enseñado mucho sobre programación y me siento desafortunado por no haberlo sabido cuando comencé a programar. Básicamente, hay dos libros formidables (ambos disponibles de forma gratuita):
Junto con eso, te sugiero que revises los zapatos . Es una gran herramienta con una increíble ayuda integrada, que incluye referencias, tutoriales y demostraciones. Tendrás tus primeras cosas en funcionamiento en cuestión de días.
Y, probablemente para más adelante, me gustaría señalarle a HaXe . Creo que es un gran idioma (mi idioma de elección), y hay una nueva guía para principiantes , que se publicó recientemente. Sin embargo, haXe no tiene herramientas disponibles, lo que hace que crear aplicaciones sea igual de sencillo que con JavaScript y Ruby. Por lo tanto, puede resultarle tedioso o incluso frustrante comenzar, lo que frustra todo el propósito.
fuente
Eso es bastante esperar en un mes. Por el contrario, debe intentar concentrarse en aprender un idioma o paradigma a la vez o podría ser abrumador. Empujar demasiado a la vez también es una buena manera de desconectarse. Puede aprender mejor trabajando en un programa específico que le interese. Si los teléfonos Android son su interés, probablemente sea mejor que use Java en lugar de C ++. Es posible que haya estado esperando algo de la interfaz de usuario genial como un cliente típico, así que no se desanime por su decepción :)
Algunos de los libros de Head First pueden ayudar a que el aprendizaje sea un poco menos seco si se ve obligado a seguir con los libros.
fuente
Creo que deberías guardar las cosas más formales por ahora, y echar un vistazo a Scratch - http://scratch.mit.edu/ - te permite lidiar con la mayoría de las construcciones de programación de una manera más fácil mientras aprendes las cosas necesitas como bucles, etc.
También permite un multiproceso impecable, que es quizás la parte más difícil de hacer a mano, y que es necesaria para dar resultados interesantes en el mundo de hoy.
No lo subestimes porque usa colores y un enfoque de programación similar a un ladrillo de lego. Puede hacer mucho con él, sin perderse en detalles técnicos.
fuente
Pregúntale a tu papá si podría diseñar un edificio de gran altura a tu edad. Eso es lo que es la programación. Se necesita tiempo para aprender, porque hay mucho que aprender. Es como andar en bicicleta, solo que tienes mil pedales, engranajes, manijas, perillas, y no puedes elegir cuál de ellos usar en un momento dado. Se necesita práctica.
No dudo de ti Has incursionado en C ++ desde el principio en tu objetivo de convertirte en programador. Eso es impresionante para mi .
¡Aguanta, y buena suerte con tu carrera como programador!
fuente
Sé que ya hay muchas respuestas. Pero no he visto este consejo: intenta que tu padre te ayude. Intenta elegir algo peludo en el libro de C ++ que puedas entender y pídele ayuda.
Dale el libro y déjalo gatear en C ++. Estoy bastante seguro de que esto le hará darse cuenta de lo difícil que es codificar.
fuente
Intenta cambiar esta situación por tu propio bien. Solo acepta que lo que has logrado hasta ahora no es suficiente e intenta hacerlo mejor ... Tendrás suficientes tiempos difíciles como estos cuando trabajarás para un jefe si no comienzas a superarlo y mejorar a partir de ahora .
Si tan solo trabajara el doble cuando tenía tu edad ...
fuente
El aporte de tu padre no es propicio para tu proceso de aprendizaje. Sí, hay varias maneras de pasar por la programación de aprendizaje como otros han mencionado. Sin embargo, usted ha mostrado un progreso fenomenal en C ++ en mi opinión. Su programa de adición habría sido algo que apenas podría manejar después de mi primer semestre en programación java.
Hay dos cosas que debe abordar si desea continuar:
1) Maneja a tu padre.
Mira, cada padre tiene sueños extravagantes para sus hijos. Sin embargo, sus expectativas pueden ser muy altas y eventualmente conducirán a algo que ni siquiera es posible en algunos cuentos de hadas. Recomiendo traer a alguien externo en la situación para evaluar mejor su progreso y traer a su padre a la tierra. Puede intentar hablar con familiares / amigos que conozca con experiencia en programación o incluso las personas de esta comunidad pueden enviarle un correo electrónico en nombre de nuestras propias experiencias y conocimientos. Este es el paso más importante de todos, porque si tu padre no se calma, perderás el interés todos juntos.
2) Encuentra un foco.
No es propicio aprender todo de una vez. Elige un idioma y quédate con él. Mientras lees un libro en un idioma específico. Seguir los ejemplos del libro literalmente no es el camino a seguir exactamente. La regurgitación es un proceso de aprendizaje para algunos, pero no para todos (especialmente para mí). Es importante atacarlo desde todos los ángulos que pueda y sean ángulos que le interesen. Programar libros de diferentes autores en el mismo idioma pero con diferentes usos puede aumentar su curiosidad sobre cómo le gustaría usar el lenguaje y la comprensión de su propio deseo de programar (hacer juegos, diseñar aplicaciones, probar, etc., etc.). También puede emprender una aventura personal para crear un programa. Averigua qué es lo que quieres hacer, independientemente de lo que sabes en este momento, luego investígalo a medida que programa. A medida que pasa el tiempo, tú ' Eventualmente querré probar otros lenguajes de programación que estén relacionados o no. También puede darse cuenta de que no quiere hacer la programación todos juntos.
Por encima de todo, recuerde que lo que importa no es el resultado final, es el viaje. ¡No te olvides de divertirte!
fuente
Recibió buenos comentarios y consejos sobre los aspectos de programación de su situación. Pero quiero agregar algo desde una perspectiva diferente ...
Tengo la impresión de que experimentas algunos pensamientos negativos sobre tu papá: te ha presionado y ha hecho algunos comentarios que te han causado dolor y preocupación, y que han eliminado la diversión de la programación. Es una pena y creo que la mayoría de la gente aquí estaría de acuerdo en que la programación es divertida: he estado programando durante más de treinta años y todavía me parece divertido.
Pero, creo que tu papá está de tu lado realmente. Hizo lo que pensó que era correcto, estaba tratando de ayudar, te compró los libros para darte un buen comienzo. Pero se equivocó (y hablo como papá, ¡a veces nos equivocamos!). Para él, los libros son probablemente donde comenzó en su carrera arquitectónica (supongo que esto comenzó antes de que Internet y el www estuvieran comúnmente disponibles, si es que lo hicieron). Entonces, según su mentalidad, los libros son donde comienzas.
Entonces, suponiendo que tu papá esté de tu lado (y estoy seguro de que lo está), entonces el problema es que simplemente no entiende lo difícil que puede ser cuando comienzas a programar, así que muéstrale todas las respuestas que ha recibido. publicado aquí - Estoy seguro de que tu papá es un buen tipo y él lo entenderá y te apoyará.
Y buena suerte con su programación: parece que está haciendo un gran comienzo.
fuente
Una cosa que no se menciona en las otras respuestas:
Ciertamente necesitas trabajar en esa parte. Internet es la herramienta crucial de cada programador y debe trabajar con ella.
En primer lugar, la programación se trata de resolver problemas. Cuando no sabes cómo hacer X en el lenguaje XYZ, lo buscas en Google y buscas soluciones. * Encontrar soluciones rápidamente es tan importante para un programador como usar un teclado.
En segundo lugar, otra habilidad crucial es usar documentación . Los libros suelen ser como tutoriales, ofrecen orientación, pero no ofrecen un conocimiento completo, y aquí es donde la documentación resulta útil. Por ejemplo: estás programando en C ++, tienes un mes de experiencia. Tarde o temprano (diría que muy pronto) necesitará usar la biblioteca estándar ... ¿o tal vez ya la haya usado? Si es así, es una buena señal, su libro probablemente no sea malo en ese caso. De todos modos, será útil saber qué está presente en las bibliotecas estándar de C ++ y qué no. Para eso, es útil mantener una referencia como http://cplusplus.com/ abierta todo el tiempo durante la programación.
Internet es crucial para la codificación, y aún más crucial para aprender a codificar. Si tu papá no lo entiende y espera que aprendas a programar usando solo los libros , entonces su enfoque es contraproducente y te hace progresar más lentamente (y posiblemente adquirir malos hábitos).
fuente
No tiene idea sobre el proceso de inclinarse al programa. Puede leer todos esos libros y aún así no podrá escribir nada decente, porque lo que lleva más tiempo es la comprensión genuina de lo que puede hacer y cómo abordarlo.
Le has dicho a tu papá que disfrutas de la programación, no dejes que lo arruine por ti. Y ciertamente no intentes aprender 5 lenguajes de programación, al menos no ahora. Quédese con un Java relativamente simple, que puede transferirse a los demás una vez que lo haya dominado.
Con respecto a los libros, por cierto, es la forma correcta de hacerlo, porque aprendes sobre el idioma de la manera correcta. Seguir los tutoriales a menudo lleva a aprender malos hábitos, etc.
La mejor de las suertes; y hágale saber que lo está haciendo correctamente, el progreso es lento pero está aprendiendo mucho mientras lo hace.
fuente
Creo que muchos programadores de entre 25 y 35 años crecieron jugando a Nintendo y Sega. Una buena parte de ellos / nosotros hizo la transición mental de por qué jugar un juego cuando puedes hacer el tuyo. Es una motivación muy egoísta que puede llevarlo a ser un mejor programador. Es un comienzo. Más adelante en la vida, podría pasar de escribir videojuegos (problemas virtuales) a juegos con apuestas más altas (problemas del mundo real). Como esta receta para este paciente que no va a interactuar negativamente con otro medicamento recetado, ¿pueden estos camiones realizar la mayor cantidad de entregas con la menor cantidad de gas para reducir la contaminación, o cómo puedo asegurar que la compra de este stock comprará al precio que quiero cuando hay miles de otros comprándolo al mismo tiempo.
fuente
La arquitectura está arraigada en el mundo físico, del que has estado aprendiendo desde que naciste. Para un estudiante universitario de arquitectura, jugar con legos sería una pérdida de tiempo. Tu padre supone que, dado que sabes matemáticas, estás familiarizado con los fundamentos y deberías poder comenzar a producir cosas. Bueno, eso no es verdad. No sabe lo primero acerca de la programación, porque ni siquiera se da cuenta de que no es una rama de las matemáticas .
La programación es un mundo nuevo. La mejor manera de convertirse en experto es aprenderlo tal como aprendiste el mundo físico: sumérgete y experimenta. En una palabra, juega. Es hora de lego.
A modo de comparación, considere los astronautas. Ellos también tienen un mundo nuevo para el que no están preparados. Tienen que comenzar con lo básico, como cómo moverse por la habitación.
Como siguiente paso, sugeriría hacer un juego en el que la computadora elija un número aleatorio, e intentes adivinarlo, y te dirá si estás adivinando demasiado alto o demasiado bajo.
¡Prueba muchos idiomas diferentes también! No todo a la vez, pero tal vez por una semana a la vez.
Cuando hayas adquirido algo de experiencia, crear un videojuego completo es uno de los mayores desafíos que puedes enfrentar como programador oficial. Los videojuegos tocan casi todos los rincones de nuestra disciplina, y construir uno es una excelente manera de desarrollar tus habilidades. También es un lugar perfecto para experimentar y aprender a niveles cada vez más altos de habilidad.
fuente
Tómese su tiempo para aprender lenguajes de programación cuanto más practique, más se dedicará a la programación, esta vez ha creado un programa muy simple que es bastante lindo para un principiante, pero a medida que avanza, asegúrese de asegurarse de crear un buen programa que podría ser utilizado por tu padre, bueno, si me preguntas, así es como ayudé a mi padre en su trabajo.
Solo habla con tu padre y explícale las cosas y estoy seguro de que realmente lo entenderá y estoy seguro de que algún día serás un excelente desarrollador.
fuente
Estudio como ingeniero de software y el progreso de la programación de aprendizaje en mi educación ha sido más que solo leer un libro.
En primer lugar, le recomendaría que aprenda C, porque es un lenguaje sencillo y muchos otros lenguajes (como C ++, Objective-C) se basan en C. La forma en que lo hicimos fue que tuvimos que comprar un micro chip ( en nuestro caso, un Atmel Mega16 con un kit STK 500, que es solo una placa con LED y botones), y luego simplemente jugamos con él, programas programados para hacerlo bip y bop. Eso es más divertido que solo leer y escribir programas hola mundo IMO.
Cuando C se convierta en un paseo por el parque para usted, pase a C ++ y programación orientada a objetos (OOP). OOP es el concepto clave en muchos lenguajes y formas de pensar en la programación y, por lo tanto, es imprescindible si usted es serio con su programación. Asegúrese de comprender la teoría detrás de OOP antes de sumergirse en ella; de lo contrario, podría ser un proceso difícil :-)
Por último, pero no menos importante, te recomendaré que estudies diferentes tipos de datos, como pilas, colas, montones, etc., que son muy buenos para entender cuando estás programando y leyendo sobre nuevos lenguajes.
¡Buena suerte mi amigo!
fuente