A pile of Lego bricks.

5 preguntas para ayudarte a aprender los fundamentos de la programación

La programación ya no es un «dominio de geeks». En realidad, nunca lo fue, pero ahora más personas están comenzando a programar, incluso está incluido en algunos currículos principales de la escuela primaria. Sin embargo, para ser un programador completo, deberá aprender algunos idiomas diferentes y poder usarlos.

Afortunadamente, hay cinco preguntas que puedes hacerte cuando empiezas a aprender un nuevo idioma. ¡Este artículo buscará responderlas y te preparará con una nueva flecha para tu carcaj!

1. ¿Cómo defino los datos en mi programa?

Si bien cada respuesta aquí es crucial cuando se aprenden los fundamentos de cualquier lenguaje de programación, la definición de datos debe ser el enfoque de su primera pregunta. Sin datos, un programa es tan bueno como inútil.

Un buen consejo aquí es ver cuál es el «núcleo» para el idioma elegido. Por ejemplo Java, Dardo, Óxidoy muchos más se basan en C. Esto significa que encontrará muchas llaves, puntos y comas y definiciones de tipo para las variables.

Una variable declarada en Rust.

Como tal, si entiende un idioma, parte de esa información puede potencialmente cruzarse. Aun así, querrá saber si su idioma es “fuertemente escrito”, ya que querrá comprender qué tipos están disponibles para usted y cómo están definidos en su código.

2. ¿Cómo puedo almacenar datos y trabajar con ellos?

De hecho, antes de esta pregunta, hay otra que debe hacerse: ¿cómo describen los comandos de almacenamiento de datos cada grupo de datos? Por ejemplo, muchos lenguajes usan «matrices» y «tablas hash». Sin embargo, lenguajes como Python usan términos más explícitos y descriptivos: “listas” y “diccionarios”.

Un ejemplo de diccionario de Python Tricks.

Una vez que tenga la nomenclatura, puede descubrir cómo construir sus matrices y tablas hash. En muchos idiomas, se usan corchetes y llaves respectivamente. Por ejemplo, aquí hay una plantilla de Python para una matriz (o lista):

my_list = ['item1', 'item2', 'item3']

Mientras que para crear una tabla hash (llamada diccionario en Python), cambia a:

my_dict = {'first': 'item1', 'second': 'item2', 'third': 'item3'}

Si observa otros lenguajes, como JavaScript, Swift y otros, verá que este formato se cruza casi exactamente.

3. ¿Cómo puedo hacer bucles de código e introducir lógica en mi programa?

Una vez que pueda definir los datos y almacenarlos, probablemente querrá asegurarse de que puedan ejecutarse hasta que se complete una tarea. Por ejemplo, considere un generador de números simple o un verificador de campo personalizado que se ejecuta a través de una tabla hash de nombres de usuario y contraseñas.

Hay dos bucles que querrás aprender para tu lenguaje de programación:

  • Para bucles. Estos bucles tienen un final definido, generalmente cuando un iterador ha terminado con un rango. Son buenos para iterar a través de arreglos y otro tipo de almacenamiento.
  • Mientras que los bucles. Estos son bucles indómitos que pueden romper su programa o enviarlo indefinidamente escupiendo el mismo resultado. Como tales, son excelentes para hacer que un juego funcione, pero no tan buenos para procesar datos numéricos.

A medida que descubres que los bucles funcionan en tu lenguaje de programación, también vale la pena considerar cómo se escriben las declaraciones «If». La lógica es obviamente un aspecto importante de cualquier programa, aunque al igual que las variables, tienden a seguir el formato de un idioma principal.

4. ¿Cómo puedo crear «suites» de código?

En este punto, podrá definir y almacenar datos, recorrerlos en bucle y realizar la lógica. A estas alturas, podría crear pequeños scripts y ejecutarlos desde la línea de comandos. Sin embargo, las funciones y las clases le brindarán una forma de organizar su código y crear fragmentos reutilizables.

Estos elementos no son tan consistentes como otros dentro del idioma. Por ejemplo, JavaScript es explícito en lo que estás creando:

function myFunction(p1, p2) {
    return p1 * p2; // The function returns the product of p1 and p2
}

Mientras que Python usa def:

def my_function (p1, p2):
    return p1 * p2

Programación Orientada a Objetos (POO) también es algo que deberá comprender si actualmente lo usa en su lenguaje de programación principal. Sin embargo, no es algo que siempre se traducirá. En estos casos, querrás recurrir a los expertos.

5. ¿Dónde encontraré ayuda si me quedo atascado?

A estas alturas, podrá escribir programas simples en cualquier idioma que necesite «asimilar». Es posible que también hayas realizado algunas investigaciones sobre aspectos del idioma que necesitas saber. Sin embargo, es posible que no esté totalmente al tanto de dónde está la mejor ayuda.

La mayoría de los programadores se dirigen a Stack Overflow:

El sitio web de desbordamiento de pila.

Esta es una enorme red de sitios con una amplia gama de usuarios. Sin embargo, notoriamente no es amigable para los programadores principiantes o «inarticulados». Como tal, querrá encontrar foros donde los codificadores principiantes son bienvenidos para hacer las preguntas «tontas».

Finalmente, también queremos mencionar un recurso de primer nivel para aprender un lenguaje de programación rápidamente: Aprende X en Y Minutos.

El sitio web Learn X In Y Minutes.

Son esencialmente las «notas clave» y las hojas de trucos para prácticamente todos los idiomas existentes. Es genial tenerlo a mano cuando estás atravesando un nuevo lenguaje de programación, ¡y es imprimible!

En resumen

Si la educación convencional incluye la codificación en un plan de estudios, significa que es una habilidad que vale la pena conocer. Ser un programador «multilingüe» aumenta sus habilidades básicas y también le brinda la oportunidad de obtener un mejor empleo.

Si está buscando aprender un lenguaje de programación de forma gratuita, lo hemos discutido en profundidad anteriormente. ¿Has intentado aprender otro lenguaje de programación? Si es así, ¿cómo te fue? ¡Comparta sus historias en la sección de comentarios a continuación!

Experto Geek - Tu Guía en Tendencias Tecnológicas