Como entrar en el mundo de la programacion

La programación es una herramienta que ayuda a plantear nuevas formas de solucionar problemas de la vida diaria, hoy ahondaremos en cómo dar los primeros pasos en la programación ya sea como afición o para entrar en este mundo de la informática.

como

¿Por qué entrar en el mundo de la programacion?

Las razones son infinitas, ya sea como un pasatiempo o una  forma de buscar entrar en el mundo de la programación y mejorar nuestras habilidades lógicas.

  • El mundo de la tecnología avanza cada vez más rápido. Llegará un punto en que la mayoría de trabajos podrán ser reemplazados por un ordenador. ¿Sabes cuál sería la misión del hombre en un mundo así? Seguir en constante evolución tecnológica y programando cada vez más artefactos inteligentes para ayudar a otros humanos.
  • Las tareas se vuelven cada vez más mecánicas y automáticas. Si una tarea implica tiempo y esfuerzo de humanos, entonces, debemos optimizar esa tarea, automatizándola. ¿Cómo se logra eso? Programando esa optimización.
  • Programar implica desarrollar algoritmos para resolver problemas de todo tipo ya sea desde lo más fácil hasta lo más complicado. La inteligencia es la capacidad para resolver problemas. Por tanto, programar es una actividad que nos hace sentir vivos, y demuestra que somos seres inteligentes.
  • Tal vez codificar ciertas características de un software es esencial pero complicado, es por eso que cada vez se desarrollan herramientas más sofisticadas para nosotros mismos, los programadores.

Elegir un camino.

mundo

Para empezar, te contaré de forma resumida el camino que seguí yo desde que he empezado a aprender:

Primer Paso:

  • Pseudocódigo y algoritmos: Estos ejercicios permiten desarrollar nuestra lógica de programación. Y esta fase será muy determinante para las fases siguientes, ya que la base de todo es la práctica y entender perfectamente lo que estás haciendo.
  • Programas de escritorio (en consola): Mi primer lenguaje de programación fue C++. Empecé creando programas en consola, sin una interfaz de usuario. Así es, una pantalla negra con letras blancas. Luego aprendí más lenguajes a nivel de escritorio: Java, C#, y Python.
  • Estructuras de datos: No es indispensable, pero sí importante comprender cómo funciona la memoria del computador. Practicar operaciones con arreglos, matrices, y aprender el paradigma de orientación a objetos (que por cierto no es el único).

Segundo paso:

  • Programas de escritorio (con interfaz gráfica): Empecé a comprender conceptos un poco más avanzados, como eventos e hilos, a la par que desarrollaba mis programas con ventanas y botones, en vez de programas basados en consola.
  • Páginas web: Tuve mi primer acercamiento con HTML, CSS y Javascript. Actualmente existen frameworks basados en Javascript que son más complejos pero útiles para cualquier página web que desee implementarlos.
  • Bases de datos: Es importante comprender conceptos relacionados a las bases de datos, ya que estarán presentes en todas nuestras aplicaciones. Así mismo, aprender la sintaxis de SQL, y un motor de bases de datos relacional como MySQL, PostgreSQL, Sqlite, SQL Server. Por otro lado, también es importante aprender sobre bases de datos no relacionales (y las particularidades que tienen): por ejemplo, MongoDB y Firebase.

Tercer paso:

  • Aplicaciones web: Aprendí a usar PHP, y a conectar una aplicación web con una base de datos MySQL. Aquí, existían muchas alternativas, y en mi caso, escogí la opción más común entre todas.
  • Aplicaciones móviles: Existen muchas formas de desarrollar aplicaciones móviles. Una alternativa es usar el lenguaje nativo, propio de la plataforma. En mi caso empecé con Android, usando Java. En la actualidad es posible desarrollar aplicaciones nativas con otros lenguajes y tecnologías.
  • Software para videojuegos: Aprendí como pasatiempo diversos programas para el desarrollo de videojuegos, como por ejemplo Unreal Engine basado en C++, Unity basado en C# y GameMaker Studio basado en C/C++, estos programas son bastante intuitivos con los usuarios por lo que no es difícil aprender a usarlos y aprender algo sobre cómo se desarrollan videojuegos.
Tu elección en este mundo.

La verdad, a mí me ha gustado mucho la forma en que he ido aprendiendo las cosas para entrar en este mundo. Muchos dicen que hay que empezar aprendiendo C/C++ o Python, esto puede aterrar a la mayoría de aprendices de la programación, porque es ligeramente más complicado, lo mejor es empezar con el pseudocodigo y luego elegir un leguaje de tu preferencia. Aunque ciertamente C++ es relativamente más dificil que Python. Eso tiene sus ventajas y desventajas.

Al inicio es desconcertante que los lenguajes puedan ser muy diferentes entre sí. Pero poco a poco comprenderás que existen diferencias según el tipo de lenguaje de programación y lo verás como algo de lo más normal. Lo que te puedo decir es que, si aprendes C/C++, los demás lenguajes te parecerán más fáciles de aprender. Ello no ocurre si empiezas aprendiendo un lenguaje amigable y luego intentas aprender uno menos flexible, porque tendrás que aprender conceptos nuevos.

Toma en cuenta que:

No es indispensable que empieces programando en C/C++. Puedes empezar aprendiendo sobre desarrollo web, y luego aprender a desarrollar programas de escritorio si lo llegas a necesitar o querer. Existen muchos más temas de los que cité anteriormente, pero todo depende de lo que quieras lograr. Yo personalmente te recomiendo empezar con desarrollo de aplicaciones de escritorio, luego desarrollo web, después desarrollo móvil y por último desarrollo de videojuegos, tú decides cual quieres apuntar. El desarrollo de videojuegos introduce conceptos nuevos, como por ejemplo manejo de las estructuras 3D.

Orden a seguir:

  1. Empieza con C/C++, Java y C# (Desarrollo de escritorio)
  2. Luego aprende HTML, CSS, y Javascript (Frontend)
  3. Continua con PHP (Laravel) y SQL Server (Backend)
  4. Sigue con Java y Android (Desarrollo móvil)
  5. Aprende prende GameMaker, Unity, Unreal Engine (Desarrollo de videojuegos)

Conclusiones.

Si has llegado a leer hasta aquí te felicito. Porque verdaderamente tienes ganas de aprender a programar. Como consejo final, practica mucho. Y nunca pierdas de vista tu objetivo final. A fin de cuentas, no importa mucho con qué tecnología empieces a programar. Si al final te gusta te darás cuenta cuando este disfrutándolo.

¡Si verdaderamente te gusta, empieza a aprender desde ya y entra en el mundo de la programacion!

 

Aprende mas en:

¿Cómo aprender a programar? ¿Por dónde empezar? (programacionymas.com)

Cómo aprender programación desde cero | HACK A BOSS

Otros temas que te pueden interesar:

Data Science: ¿Qué es y por qué esta tomando auge?