Fundamentos de programación para el desarrollo web
Fecha de publicación: 03 - 11 - 2023
Aprendiendo a programar desde cero
Si quieres empezar a programar es necesario tener algunos conceptos básicos que te van a ayudar a entender mejor este camino. Este post es una guía general sobre los fundamentos de programación, lenguajes, paradigmas y especializaciones que te ayudará a esclarecer tu decisión.
Primero que nada, no existe un único lenguaje de programación, para le fecha en la que este artículo es escrito hay en existencia muchísimos lenguajes y cada uno con sus características. Lo que sí comparten todos los lenguajes de programación son sus fundamentos, aunque cada uno con su sintaxis o forma particular de escribir una instrucción.
Segundo, no es necesario ser un genio de las matemáticas para programar, puedes quedarte tranquilo sobre ese mito 😂, eso de que "la programación es para genios" es de gente que tiene miedo a intentar algo nuevo. Todos pueden aprender a programar con la disciplina necesaria y las ganas de aprender y saber lidiar con los retos; no te voy a mentir, la programación es fácil de entender pero difícil de digerir, piensa en ello 😉. Requiere práctica pero hasta que dominas el concepto 💡, aplicarlo se hace sencillo.
Las matemáticas te van a ayudar a desarrollar el pensamiento lógico pero no son necesarias a un nivel hardcore a no ser que te dediques a la ciencia de datos o inteligencia artificial, si no, una buena googleada para entender cómo hacer un cálculo no te va quitar mérito. 😗🎵
Tercero, saber hacer consultas es TOTALMENTE VÁLIDO. Programar equivale a manejar mucha información y las trabas son algo común durante el proceso de aprendizaje o desarrollo, hoy en día existen foros, motores de búsqueda como Google (o Yahoo para quien lo use 😆), Stack Overflow, grupos en redes sociales y Telegram, y si tienes la suerte hasta un mentor.
Cuarto, NO TEMAS A EQUIVOCARTE, los programadores contamos con la suerte de tener una comunidad dispuesta a ayudar pero tampoco te voy a mentir, siempre habrá alguno por ahí que te tilde de tonto por hacer X consulta... Para eso están los errores de compilación y los bugs 🤣. Simplemente a ese tipo de personas no le prestes atención y busca tu respuesta (esto va ligado al punto anterior).
Lo peor que puede pasar con los errores es que la computadora se te quede pegada por algún bucle infinito, una base de datos eliminada 🤐, bugs 👹, el colapso del sistema financiero mundial o que Facebook (Ahora Meta) deje sin WhatsApp al planeta otra vez... Pero nada que ver con que un edificio se derrumbe o que usaste el bisturí donde no era. 🙂
📢 Nota: hechos los tontos los que manejan la tecnología poseen un gran poder y demos gracias a $tu_deidad_de_preferencia
por Git.
Dejando lo anterior claro, pasemos al siguiente punto. 👇🏻
¿Cuáles son los fundamentos de programación que debo aprender?
Variables
Tipos de datos
Operadores
Estructuras de control
Estructuración de datos
Funciones
Tomar un descanso y un café ☕
Debes entender cómo va a estar almacenada la información y cómo va a fluir a través de tu programa.
Debes considerar y aplicar sentido común al momento de usar datos, no es lo mismo realizar una operación matemática con números a intentar hacerlo con con cadenas de texto, piénsalo. 😉
Deberás saber cómo concatenar, hacer operaciones matemáticas y comparar tus datos.
Ahora que sabes qué datos tienes, deberás determinar cómo van a fluir a través de tu algoritmo. Esto es posible gracias a los bucles y bloques condicionales.
Debes controlar la forma en que los datos van a ser almacenados para determinar su flujo. La forma más básica de almacenamiento de datos es con las variables pero deberás conocer los Arrays, Listas, Diccionarios y Objetos.
El pilar más importante de la programación, las funciones son el centro nervioso de todo programa y te van a permitir ejecutar instrucciones.
No te vayas a volver loco tratando de entender todo.
También hay otros puntos que debes entender.
Otros conceptos básicos de programación
Algoritmos
Los algoritmos no son más que una sucesión de pasos a seguir para lograr un objetivo. Es algo que aplicamos día a día de forma inconsciente, como cuando cocinamos. Seguir una receta es un buen ejemplo de cómo ejecutar un algoritmo pues estamos siguiendo unos pasos para lograr algo y con la práctica podemos ejecutar esa receta sin necesidad de consultarla y hasta obtenemos la capacidad de alterarla.
Existen metodologías donde te enseñan algoritmos con diagramas de flujos o pseudo código, para serte honesto busca con la que te sea más fácil entender el concepto.
//Ejemplo con pseudo código
Si sucede esta condición ( condición a cumplir ) {
"Sucede lo que esté escrito aquí";
Si no {
"Sucede esto otro";
}
}
Lenguajes de programación
Como te mencioné al principio del post, existen muchos lenguajes de programación y es recomendable que te especialices en uno y después de eso elegir otro si lo requieres ya que los fundamentos son los mismo y lo que cambia es la forma de escribir las instrucciones. Acá te dejo una lista de algunos de estos lenguajes de programación:
Python
C#
PHP
Java
Go
Ruby
SQL
Swift
Cada uno de ellos se especializa en un desarrollo y paradigma diferente (🚫HTML No🚫). Incluso hay lenguajes que pueden cubrir diferentes campos del desarrollo de software como JavaScript y Python.
Será tu decisión con cual lenguaje empezar a aprender a programar. Si lo tuyo son los videojuegos C# será tu mejor elección para aprender Unity. ¿Quieres aprender a hacer aplicaciones móviles? Java, Swift e incluso JavaScript te pueden ayudar. ¿Quieres aprender inteligencia artificial? Python es la opción. ¿Quieres aprender desarrollo web? Acá hay dos opciones: el desarrollo Front-End y el Back-End. Para el Back-End puedes aprender PHP, Python, Node con JavaScript o SQL, para el Front-End tu mejor aliado es JavaScript, y si te das cuenta es un lenguaje que da para varios campos.
Si tu intención es aprender desarrollo web, te invito a leer estos Fundamentos de Programación con JavaScript donde explico a más profundidad lo mencionado en el capítulo de arriba además de otras tecnologías para la construcción de páginas web como HTML y CSS. Una vez tengas una base puedes elegir desarrollar con otras tecnologías como TypeScript junto con Angular, Vue o React.