Ideas para programadores novatos

Hola! Soy nuevo en el foro y me da cosa admitirlo pero soy un asco con la programaciòn.

Por que? Facil, no tengo practica y no se como hacerlo. Tome todos los cursos que pude, lei todos los libros que pude y aun asi, soy muuy malo. Lo que me pasa es que si me dices que tengo que hacer un menu de un juego (por ejemplo), se que seguramente necesite algun bucle para que ejecute el menu hasta que pase algo en especifico (como que le den a un boton para iniciar el juego), algunos condicionales para que entre al juego, variables donde estarian los botones de opciones, etc, etc, pero de ahi a llevarlo a la practica no puedo.

Llevo hace un año viendo videos y cursos de Youtube en Python, Java, Dart, C#, pero no logro mejorar, y es algo que me frusta bastante, mucho mas porque tengo un monton de ideas para realizar, pero no puedo.

Alguno que ya este bastante metido en la programacion, se le ocurre algo para ayudarme?

Ya probe haciendo un Sudoku, Calculadora y algunas cosas mas, pero no puedo sin ayuda de Google (Aunque ya una vez viendo el codigo lo entiendo casi a la perfeccion).

Y eso es todo, si a alguno se le ocurre algo para que pueda mejorar y poder llevar a cabo mis ideas le agradeceria un monton.

Espero respuestas :)

Saludos y gracias!
A picar se aprende picando, no mirando yutuf
Zokormazo escribió:A picar se aprende picando, no mirando yutuf


Una puta cerveza a este hombre [beer]
Usa libros no videos y podrías partir haciendo las core utils de linux en el lenguaje que te sientas mas comodo, si te gusta el desarrollo web crea simples sitemas como bibliotecas, cms o blogging-
No te preocupes que tengas que usar mucho google. Usalo siempre que lo necesites, no es ninguna verguenza en absoluto. Aunque lo tengas que usar cada 2 líneas.

Lo mejor para tu nivel es conocimiento práctico, asi que intenta construir y terminar pequeños proyectos. Tales como un sudoku, calculadora, el juego de la serpiente, pacman, etc...
Prueba a hacer katas. Son ejercícios enfocados aprender y encontrarás material en internet.

Hace años conocia esta página en castellano, pero parece que está caída, así que igual ha desaparecido: www.solveet.com.

En ingles:
Tal y como otros te han comentado, a programar se aprende programando. Si tienes ya algunos fundamentos, te recomiendo que te diseñes tus propios ejercicios en los que pongas a pruebas esos conocimientos. Hablo de ejemplos muy básicos pero donde pongas en práctica lo aprendido, por supuesto, de forma progresiva.
Sé que a veces es complicado ser imaginativo a la hora de diseñar esos ejercicios, pero seguro que si le dedicas lo necesario seguro te irán surgiendo ideas para usar desde operaciones aritméticas básicas a estructuras de control, interfaces, etc.

PD: un ejemplo sencillo y muy recurrido es la creación de una calculadora básica.
Además de lo que todos te dicen, piensa en que el desarrollo de SW hecho "a capas" es un buen método para aprender. Pongamos el ejemplo del menú que dices:
Paso 1, mostrar el menú en pantalla.
Paso 2, si apreto "1", ejecuta la opción 1, si apreto "2" ejecuta la opción 2.
Paso 3, disfrutar de tu menú básico y subir de nivel con el siguiente menú:

Paso 1, mostrar el menú en pantalla con un asterisco al final de la primera opción.
Paso 2, meter el menú en un bucle y que cuando le de a la flecha "abajo" el asterisco se muestre en la siguiente opción de la lista. (Necesitas una variable auxiliar para esto?)
Paso 3, cuando el asterisco se muestre en una opción que desaparezca de las siguientes.
Paso 4, al pulsar Return se ejecuta la opción que tengo seleccionada con el asteristo.
Paso 5, disfrutar de tu menú un poco más avanzado.

Si intentas hacer un proyecto tuyo desde 0 y vas a por cosas grandes desde el principio, teniendo en cuenta todas las funcionalidades que quieres implementar y sin ser un gurú, lo vas a pasar mal.

Y por curiosidad, ¿en qué lenguaje/s programas?
Creo que la solución sería que hicieras algo que pudieras usar, como por ejemplo, una aplicación para tu smartphone, compra un arduino y diseña algo domótico que puedas usar en tu casa. Así te obligarás a usar librerías que no conoces y enfrentarte a problemas reales.
Tamad1305 escribió:Ya probe haciendo un Sudoku, Calculadora y algunas cosas mas, pero no puedo sin ayuda de Google (Aunque ya una vez viendo el codigo lo entiendo casi a la perfeccion).


Comento porque le puede ser útil a más de uno.

Es normal que al principio programes con Google/StackOverflow o lo que sea. ¿Por qué ibas a matarte buscando la solución para cualquier problema cuando la puedes encontrar en 1 minuto?

Lo importante es entender el problema y como lo estás solucionando. No vale hacer un copy paste y seguir. Si haces lo primero, poco a poco ganarás experiencia y serás mejor programador hasta que seas capaz de hacer las cosas por ti mismo sin apenas ayuda externa. Si haces lo segundo, te pasarás la vida copiando y pegando sin llegar a nada.
@Alecs7k qué gran verdad has dicho.
No pretendas hacer cosas espectaculares nada más empezar.
No pretendas aprender todos los lenguajes, aprende la forma de pensar. Si puedes profundiza en algún lenguaje; luego pasar de uno a otro cuesta menos.

Según que te guste puedes optar por un lenguaje u otro. Para empezar Python no es mal lenguaje, tienes mucha documentación en internet.

Consejo, empieza por pequeños proyectos y ACABALOS cueste lo que cueste. No merece la pena empezar miles de proyectos para no terminarlos.

Al final las cosas se aprender metiendose en el 'barro'; mirar en Yutuf videos y pensar que se sabe o se entiende, es cómo el que lee un libro de teoria de conducir y nunca ha conducido. Hay que practicar, es cómo mejor se aprende y que no salga todo a la primera es normal [oki]

Si te vas a meter con Python, después de practicar un poco puedes hacer cosas interesantes por ejemplo cómo un bot para telegram.

Espero poder leer por aquí de tus proyectos y avances (recurrir a un buscador es normal, nadie sabe de todo ni todas las soluciones).
11 respuestas