Por qué Ruby: Lo que los principiantes en programación deben aprender antes que un 'lenguaje'
Las personas que se encuentran por primera vez con la codificación siempre hacen una pregunta similar.
"¿Por qué aprender Ruby?
¿No sería mejor aprender Java, JavaScript o Python si quieres conseguir un trabajo?"
Esta pregunta es muy válida.
Y la mitad de ella es correcta.
Los idiomas que se ven con frecuencia en el mercado laboral son claramente Java, JavaScript y Python.
Muchas empresas construyen sistemas sobre estos idiomas y los utilizan.
Sin embargo,
"¿Qué aprender ahora para desarrollar habilidades y capacidad de pensamiento futuras más rápidamente?"
Si cambias de perspectiva con esta pregunta,
la respuesta cambia completamente.
**Lo más importante en el aprendizaje de programación es
No es la 'dificultad del idioma', sino el 'marco de pensamiento'**
Lo que las personas necesitan al aprender a programar por primera vez
son dos cosas, sin importar cuán bellamente se presenten.
La capacidad de comprender qué es la programación
Un marco de pensamiento que permita leer y escribir en un lenguaje de programación
Y estas dos cosas
cambian dramáticamente según la dificultad del idioma.
Si el idioma es complicado,
te encontrarás con obstáculos antes de llegar al meollo del pensamiento.
Te olvidarás de "por qué debes hacerlo así",
mientras memorizas palabras clave de la sintaxis,
y aprendes reglas mecánicas.
Entonces,
¿cuál es el mejor lenguaje de introducción?
Exactamente,
un lenguaje que permita aprender a pensar sin carga adicional,
es decir, un lenguaje centrado en el pensamiento.
Ruby es uno de esos idiomas
que es "adaptado a la estructura de pensamiento humana" de manera extrema.
Incluso al comparar solo el 'Hola Mundo', las ventajas de Ruby son evidentes
Hola Mundo en Java
public class Main {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
Aquí hay demasiadas palabras desconocidas para un principiante.
public
class
static
void
main
String
args
System.out
println
Ninguno de estos es fácil de explicar a un principiante.
Y debes entender todo esto
para poder imprimir una línea de texto.
Es decir, antes de aprender a codificar,
el idioma se convierte en una barrera.
Hola Mundo en JavaScript
console.log("Hello World");
JavaScript es mucho más simple, pero
la complejidad del aprendizaje aumenta explosivamente en la segunda mitad
con conceptos como entornos web, tiempo de ejecución, asincronía, etc.
Hola Mundo en Python
print("Hello World")
Python es realmente simple.
Pero la esencia de Python es "un lenguaje de script para ciencia de datos".
Para completar toda la arquitectura de un servicio web,
se requiere mucho aprendizaje adicional.
Hola Mundo en Ruby
puts "Hello World"
Eso es todo.
No hay palabras clave innecesarias.
Se lee como una oración.
puts es una abreviatura de "put string".
Literalmente significa "poner una cadena en la pantalla".
La estructura de pensamiento en el código Ruby y la estructura de pensamiento humana son casi idénticas.
Es decir, el cerebro de un principiante
puede dedicar energía a la "formación de estructuras de pensamiento" en lugar de "memorizar la sintaxis".
**La ventaja decisiva de Ruby:
La velocidad con la que los aprendices alcanzan la 'esencia' es extremadamente rápida**
El objetivo de un principiante es
no ser "alguien que escribe 3 líneas de código", sino
"alguien que puede diseñar y desarrollar funciones por sí mismo".
Si el idioma es complicado,
llevará mucho tiempo llegar a este punto.
Ruby acorta este proceso casi por completo.
Bucle →
5.times do ... endCondición →
if ... elseFunción →
def greetClase →
class UserMódulo →
module Payment
Ruby
proyecta el pensamiento natural que las personas ya están usando directamente en el código.
Como resultado,
conceptos fundamentales como métodos, clases, módulos,
se pueden entender como "estructuras de pensamiento" en lugar de sintaxis.
Esta habilidad
hace que el aprendizaje de Java, Python y JavaScript más adelante
sea significativamente más rápido.
Es decir,
comenzar con Ruby cambia la velocidad de aprendizaje de otros idiomas en sí misma.
**Y la razón más decisiva:
Ruby te enseña más rápidamente el 'flujo completo del desarrollo de servicios'**
Ruby es hermoso por sí solo, pero
su verdadero poder radica en Ruby on Rails.
Rails simplifica enormemente el desarrollo de servicios web.
URL → Controlador → Modelo → Vista
Almacenamiento de datos → CRUD
Autenticación → Middleware
Enrutamiento → Mapeo automático
Implementación → Scripts automáticos
No hay muchas herramientas que te permitan entender el flujo completo de un servicio real tan rápido como Ruby/Rails.
¿Y si quisieras aprender los mismos conceptos en Java?
Spring
JPA
Tomcat
Gradle/Maven
Inyección de dependencias
Ciclo de vida de los beans
Hay demasiados elementos para aprender.
Es difícil de manejar para un principiante.
Lo mismo ocurre con Python:
ORM de Django
Despachador de URL
Estructura de configuración
WSGI
Motor de plantillas
No estoy criticando estas herramientas.
Estoy hablando de qué herramientas están optimizadas para principiantes.
Ruby on Rails es
la mejor herramienta del mundo para
"enseñar a una persona que está aprendiendo a desarrollar"
la estructura completa de un servicio web en sus manos.
Ruby muestra a los principiantes la 'esencia del código'
Ruby excluye la complejidad de la sintaxis
y deja solo la estructura de pensamiento.
Gracias a eso, los estudiantes pueden
Comprender por qué se necesitan funciones
Cómo los objetos modelan el mundo
Cómo los módulos separan las funciones comunes
Cómo se compone un servicio completo
Pueden experimentar y aprender la esencia directamente.
Una vez que se aprende esa esencia,
Java, JavaScript, Python
se vuelven familiares rápidamente.
Lo que aprendes en ese momento es "sintaxis", no "pensamiento".
El pensamiento ya está formado en Ruby.
Conclusión:
**Ruby no es un lenguaje para conseguir un trabajo,
es un lenguaje que crea un segundo cerebro para entender la codificación.**
El empleo no se decide por un solo idioma.
Más bien, la capacidad de pensamiento, resolución de problemas y diseño son más importantes.
Ruby desarrolla esas habilidades rápidamente.
Por eso, aprender Ruby primero
no es el camino fácil, sino el rápido.
Todo lo que estás aprendiendo con Ruby ahora
hará que entiendas cualquier otro idioma que encuentres en el futuro
mucho más rápido.
Y en algún momento, te darás cuenta.
"Ah... Ruby no me enseñó a codificar,
me ayudó a construir un 'cerebro' para entender la codificación."