¿Debo dejar de aprender programación?

No te rindas.

Sus habilidades de programación no son el problema, es la forma en que aborda el problema. 6 meses es apenas tiempo suficiente para sentirse cómodo con lo que está haciendo, especialmente con Java. Lleva años aprender sobre las mejores prácticas y la optimización. La mayoría de los programadores no se sienten cómodos con lo que están haciendo porque abordan nuevos problemas en un territorio desconocido. Es lo que los hace crecer. De eso se trata la programación, no hay necesidad de reinventar la rueda. Estás en la misma posición que todos los programadores que están comenzando. Lleva tiempo ver la imagen general, pero una vez que la domines, te sentirás más cómodo. Los programadores no crean aplicaciones complejas por sí mismos, se acercan a otros programadores y recursos en línea, ya que entienden que el problema al que se enfrentan se ha hecho antes de una forma u otra.

¿Asumo que Java es tu primer idioma? No se recomienda sumergirse directamente en el extremo profundo sin primero aprender los conceptos básicos. Comencé a aprender C ++ en la universidad y como primer idioma, fue complicado porque tuve que aprender sobre la gestión de la memoria hasta el nivel de la máquina. Eso tomó tiempo y mucho café. Hubiera sido más fácil y más rápido si hubiera aprendido primero sobre la fundación. La programación orientada a objetos es similar en varios idiomas, es la sintaxis la que difiere. También estoy aprendiendo esto también. Así que aquí propongo una solución a su enigma:

Cómo abordar un problema y resolverlo

Es natural percibir un problema complejo como imposible de superar. Pero debe darse cuenta de que un componente complejo se compone de subcomponentes simples. En otras palabras, dividir un problema complejo en pasos más pequeños lo expondrá a sus partes más simples. Mark Zuckerberg no programó el Facebook como lo ve hoy, en algún momento fue una aplicación básica que ha evolucionado con el tiempo. Y esa es la clave … tiempo (y paciencia).

Pobre, pobre niño. No tienes idea.

Si realmente te gusta, no renuncies. Puede ser que esté utilizando materiales que son duros. ¿Por qué no pruebas CS 101: Introducción a la informática desde Udacity?
https://www.udacity.com/course/c

O javascript elocuente
http://eloquentjavascript.net/

Un consejo, intente hacer todos los ejercicios y tareas por su cuenta, así es como será bueno para resolver problemas.

Stanford también tiene un buen curso CS106A: Metodología de programación
http://cs106a.stanford.edu

Karel el robot te enseñará también cosas buenas.

La programación es demasiado divertida para dejarla. 🙂

¿Qué pasos estás siguiendo al abordar el problema? Muchos me han dicho (y también lo he experimentado de vez en cuando) que comience con un bolígrafo y un papel.
Comience escribiendo una solución verbal para el problema en inglés simple en un papel. No trate de pensar en la parte de programación de inmediato. Vendrá luego.
El cerebro generalmente está lleno de demasiadas ideas o enfoques y, por lo tanto, uno se confunde con respecto a lo que debe hacer exactamente. Ponerlo en el papel ayuda mucho a aclarar su enfoque.
Puede dividir el problema en varias partes pequeñas y comenzar a resolver cada parte, lo que lo hace relativamente más fácil.
Ahora puede pensar en convertir su solución en inglés en un programa. A medida que continúas resolviendo cada parte una por una, todo parece mucho más fácil y también te ayuda a ganar confianza.
Puede referir artículos o soluciones a las preguntas dadas en @Stack Overflow. Es un gran recurso para los programadores de Java y definitivamente encontrará temas y debates interesantes allí.
Todo lo que me gustaría decir al final es, si pudiera aprender programación y encontrarlo interesante (soy un ingeniero de instrumentación y control que se dedicó a la programación), definitivamente puedes aprenderlo. Avíseme si necesita ayuda con respecto a algo específico.

No, no deberías dejar de fumar solo porque no lo estás consiguiendo. Si quieres enamorarte de la programación, encuentra algo, una meta, que quieras lograr. Por ejemplo … ¿Cuál es su principal interés en la programación? ¿Quieres hacer un sitio web? Lea sobre cómo hacer esto, obtenga algunos conocimientos básicos de programación web y hágalo. ¿Quieres hacer una aplicación? Hazlo. Divídalo en pequeños pasos. Me parece que cuando no estoy involucrado en algún proyecto, ya sea un simulador de tienda de comestibles de Python basado en texto o un programa Java orientado a objetos que rastrea múltiples cuentas bancarias y permite a los usuarios cambiar sus cuentas, soy miserable. Tengo que estar haciendo ALGO, porque si no lo estoy y no me estoy divirtiendo, me sentiré frustrado y haré una pregunta como tú ahora.

Ruego diferir de las otras respuestas publicadas aquí.

Me gradué de un programa CompSci en 2016, y entré en el campo del desarrollo de software en noviembre del mismo año.

Renuncié a ese trabajo en menos de seis meses para unirme a una startup que está resolviendo problemas con la IA.

Debido a que no puedo esperar comprender sus conceptos ni siquiera esta vida o la próxima, no tengo ningún interés en la IA.

Mientras escribo esta respuesta, estoy pensando en abandonar el campo de la ingeniería de software por completo. Sin embargo, lo único que me impide dejar de fumar es el hecho de que no tengo ninguna habilidad con la que pueda hacer una carrera. Solo me importa cobrar un cheque de pago.

En resumen, si cree que este campo no es para usted, debe renunciar.

En cuanto a mí, ya me he rendido, y necesito buscar una carrera diferente en este momento.

“Yitang Zhang resuelve un misterio matemático puro”

“No veo qué diferencia puede hacer ahora revelar que pasé las matemáticas de la escuela secundaria solo porque hice trampa. Podía sumar y restar, multiplicar y dividir, pero entré en el desierto cuando las palabras se convirtieron en ecuaciones y x’s e y’s. En los días de prueba, me sentaba al lado de Bob Isner o Bruce Gelfand o Ted Chapman o Donny Chamberlain, muchachos inteligentes cuya letra podía leer, y dividía mi atención entre su escritorio y los ojos del maestro “.

(Artículo completo aquí: http://www.newyorker.com/magazin …)

Si te gusta programar y te imaginas a ti mismo haciendo esto para vivir, no importa lo que tengas que pasar antes de llegar a esa etapa que, según tus criterios, se consideraría un logro.

Sigue intentándolo, también debes crear tus propios desafíos de programación e intentar ir después de su implementación.

Supongo que todavía estás en la fase de escalada de la curva de aprendizaje empinada inicial. Tal vez necesite encontrar un buen mentor o maestro que pueda enseñarle programación de manera práctica. Un buen maestro puede marcar una gran diferencia al ayudarlo a resolver problemas que le resultan difíciles de comprender (pero en realidad es bastante simple para los expertos, ya que lo han superado).

Puede recuperar la confianza una vez que sepa que los problemas realmente no son tan difíciles y la curva de aprendizaje inicial ha terminado.

6 meses es bastante tiempo … la sensación divertida de programar comienza muy temprano, cuando comienzas a solucionar un par de problemas, así que si no estás disfrutando después de 6 meses, entonces supongo que hay algo más para ti.