Quiero empezar a programar. (Duda)

Iniciado por Max.09, Septiembre 06, 2025, 07:51:37 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Septiembre 06, 2025, 07:51:37 PM Ultima modificación: Septiembre 06, 2025, 09:57:15 PM por AXCESS
Quiero empezar a programar, estudio adm de empresas, pero siento mucha pasión por los videojuegos, por los sistemas y por  la automátizacion.

Cómo puedo hacer para empezar de forma autodidacta.
Consejos básicos?
Dónde puedo sacar información?
Cursos gratis introductorios dónde puedo encontrar?


Hola Max, como todo al principio es bastante pesado y "aburrido" porque hay que incorporar los conocimientos que hacen de base a lo que es programación. Te paso lo que a mi criterio son fundamentales en la licenciatura que estudié:
- Lógica Simbólica: Sirve como la base mental para programar. Te entrena a pensar en términos de proposiciones, condiciones y consecuencias, lo mismo que hacés cuando armás expresiones booleanas en cualquier lenguaje. Te obliga a ser preciso (si A entonces B, pero no al revés), a detectar contradicciones y a estructurar razonamientos que después se traducen en algoritmos.
- Programación lógica: Es la materia que te mete de lleno en un paradigma distinto al típico imperativo. En lugar de decirle a la máquina cómo hacer las cosas paso a paso, le decís qué condiciones tienen que cumplirse y el motor lógico se encarga de resolverlo. Esto te abre la cabeza para entender que hay muchas formas de programar, y te da herramientas útiles para problemas de búsqueda, inferencia y validación de reglas (cosas que se ven en IA, bases de datos, reglas de negocio). Aprendés a pensar en términos de hechos y reglas, algo que después se traduce en consultas SQL complejas o en motores de inferencia.
- Programación orientada a objetos: Es la base de casi todo software grande que vas a ver en la vida real. Te enseña a modelar el mundo en términos de objetos con atributos y comportamientos, a organizar el código en clases, a reutilizarlo con herencia y a mantenerlo manejable con encapsulación. Además, muchos lenguajes modernos (Java, C#, Python, etc.) están fuertemente orientados a objetos, así que dominar este enfoque es prácticamente obligatorio.
- Algoritmos y Estructuras de Datos: Te enseña qué estructura usar según el problema (listas, pilas, colas, árboles, grafos) y cómo elegir el algoritmo más eficiente para recorrerlas, buscarlas u ordenarlas. La diferencia entre un código que anda y un código que anda bien suele estar acá: podés resolver algo con fuerza bruta, pero si no pensás en complejidad temporal o espacial, tu programa explota cuando los datos crecen.
- Matemática discreta: s clave porque te da la base para entender cómo funciona la computación por debajo: conjuntos, relaciones, grafos, combinatoria, probabilidad básica. Todo eso aparece en algoritmos, optimización, búsquedas y hasta en temas más avanzados como seguridad o redes
- Hay otras que considero importantes como sistemas operativos, arquitectura del computador, etc. que ayudan a comprender cómo funciona todo una vez que apretás Enter.
Fundamental: Práctica, mucha práctica, hay aplicaciones web por todos lados que te van ayudar. Lo importante para mí es entender cómo funciona todo, más que saber escribir y no entender el transfondo.