5 cosas que debes estudiar antes de aprender a programar
domingo, julio 04, 2021Cualquiera puede aprender a programar si se lo propone. Cada día estamos constantemente programando, solo que en nuestro propio lenguaje natural.
Puedes aprender a usar un lenguaje de programación y construir código, y tal vez encontrar un trabajo en esto; pero si realmente quieres ser bueno, eso no va a ser suficiente.
En el mundo de la programación a veces no entenderás absolutamente nada y eso tiende a desanimarnos; solo hay que seguir intentándolo hasta tener éxito.
Luego de haber tenido la oportunidad de ir a la universidad, de seguirme formando a través de cursos en línea y de trabajar en el área de la programación por varios años, hoy quiero hablarte de 5 puntos que según mi experiencia vas a necesitar estudiar antes de aprender a programar.
Esos puntos son:
- Lógica.
- Algoritmos.
- Variables, estructuras de control y funciones.
- Bases de datos.
- Control de versiones.
Ahora te resumo de qué se trata cada uno:
1. Lógica:
La lógica nos enseña a pensar de forma distinta, de forma más cercana a la máquina que al cerebro humano. Por suerte en la actualidad no tenemos que ir al centro de todo que son los ceros (0) y unos (1), el real lenguaje de las computadoras. Pero si debemos tener presente la lógica para enunciar instrucciones para la computadora.
Esta lógica se conforma de algo llamado valores de la verdad. Existen dos valores posibles: Verdadero y Falso.
- ¿Mi color favorito es el verde?: Verdadero.
- ¿Mi color favorito es el amarillo?: Falso.
Luego esos valores se conectan a través de conectores lógicos conocidos como conjunción (y), disyunción (ó) y negación (no).
- ¿Mi color favorito es el verde y el amarillo?: Falso.
- ¿Mi color favorito es el verde ó el amarillo?: Verdadero.
- ¿Mi color favorito no es el verde?: Falso.
Para entender el tema con más detalles, conseguí este enlace que les puede servir de introducción.
2. Algoritmos
Un algoritmo es un conjunto de instrucciones para resolver un problema. Para crear un algoritmo debemos ser capaces inicialmente de analizar el problema planteado y sus posibles soluciones.
Por ejemplo, ¿cómo enviar un correo electrónico desde Gmail?
- Paso 1. Ingresar www.gmail.com.
- Paso 2. Ingresar usuario y contraseña.
- Paso 3. Hacer click en el botón Redactar.
- Paso 4. Ingresar el Destinatario.
- Paso 5. Ingresar el Asunto.
- Paso 6. Ingresar el cuerpo del correo electrónico.
- Paso 7. Hacer click en el botón Enviar.
Debes escribir muchos algoritmos, ya sea en lenguaje natural, pseudocódigo o diagramas de flujo. Entre más algoritmos escribas, más desarrollarás la destreza necesaria para solucionar diversos problemas.
El algoritmo que en mi caso me abrió el entendimiento fue el de cómo resolver la Ecuación Cuadrática. Al ser una ecuación que a muchos nos enseñan desde la escuela, podemos ver cómo tranformar algo de lo que ya sabemos la solución, a instrucciones que puedan ser entendidas por una computadora.
En la web existe muchísima información sobre algoritmos. Te recomiendo buscar el libro Fundamentos de la Programación de Luis Joyanes Aguilar, es un verdadero clásico.
3. Variables, estructuras de control y funciones
Variables
Las variables son contenedores que nos permiten almacenar un valor, que posteriormente vamos a requerir para hacer una operación. Dependiendo de la información que necesitemos almacenar, esa variable será capaz de guardar por ejemplo números o letras. Al tipo de contenido que almacenan las variables lo conocemos como tipo de dato.
Si queremos hacer un programa que sume dos números, debemos tener tres variables de tipo de dato numérico: las dos primeras para almacenar cada valor a sumar y la tercera, para almacenar el resultado.
Luego tenemos variables que soportan información más compleja, entre ellas podemos encontrar los tipos como arreglos y objetos.
Estructuras de control
Las estructuras de control nos permiten ejecutar o no instrucciones de un programa y además logran que una instrucción se pueda ejecutar varias veces. Las estructuras se dividen en estructuras condicionales y estructuras de repetición.
Funciones
Las funciones son segmentos de código que tienen un conjunto de instrucciones para solucionar un problema. Cuando en un programa se necesita solucionar en distintos puntos el mismo problema, la solución se agrupa en funciones con un nombre, que se puedan usar desde distintos puntos del programa sin tener que repetir las mismas líneas de código en todos lados.
4. Bases de datos
Si bien dentro de un programa podemos almacenar datos dentro de variables, estos datos se almacenan en memoria y son volátiles. Cuando debemos guardar datos en forma permanente usamos bases de datos.
Existen bases de datos de distintos tipos; desde archivos de texto planos, hasta bases de datos relacionales y bases de datos no relacionales, entre otras.
Es necesario aprender el funcionamiento de las bases de datos para poder usar esta herramienta dentro de nuestros programas.
5. Control de versiones
Este punto si bien no es necesario estudiarlo antes de aprender a programar, es una habilidad muy valorada en el mercado laboral actual, que si la aprendemos desde un inicio, nos va a facilitar mucho el desarrollo y sobre todo la integración en los equipos de trabajo.
Los programas de control de versiones nos permiten administrar los cambios que hacemos en el código fuente de nuestros proyectos; ello nos ayuda por ejemplo, a deshacer cambios que hayan generado un error.
Existen diferentes software de control de versiones, siendo de los más conocidos y usados git.
Para concluir...
El verdadero trabajo de un programador no es únicamente conocer uno o varios lenguajes de programación de pies a cabeza, para eso está el internet y los libros; el verdadero trabajo de un programador es usar los lenguajes y tecnologías como herramientas para dar soluciones a los problemas y esto no es posible hacerlo correctamente sin conocer los fundamentos de la programación.
Hay que desarrollar habilidades para la investigación, ya que gran parte del día a día de un programador consiste en exprimir la documentación existente en la web, pero claro, para buscar algo y tener éxito en la búsqueda, hay que saber qué se está buscando.
Otra recomendación es aprender a manejar el estrés, ya que es algo con lo que se convive a diario. Habrán muchas fechas y entregas que cumplir. Es mejor ir desarrollando técnicas para manejar la presión desde el inicio.
Si has llegado hasta acá te deseo mucho éxito en el camino que estás por emprender, si tienes alguna pregunta o aporte, no dudes en comentar. Te estaré leyendo.
Cuando navego por los sitios web, mi parte favorita es leer los comentarios. Es por eso que tus comentarios son un complemento valioso para mis entradas. Cualquier duda o aporte no dejes de escribirlo, en breve lo estaré publicando. ¡Gracias!
0 comentarios