Saltar al contenido principal

Empezando

Cada lenguaje de programación tiene su propia forma de comenzar. Aquí está cómo crear un programa simple "Hello, World!" en cada lenguaje.

Resumen de Lenguajes​

Type: Interpreted, dynamically typed

Paradigm: Multi-paradigm (procedural, object-oriented, functional)

Runtime: Node.js (server-side) or browser (client-side)

Installation:

  • Download from nodejs.org
  • Or use package managers: brew install node (macOS), apt install nodejs (Linux)

Official Documentation: developer.mozilla.org

Verification:

After installation, verify your setup:

node --version

Requisitos Previos​

Antes de empezar a programar, asegúrate de tener:

  1. Un editor de texto o IDE (VS Code, Vim, IntelliJ, etc.)
  2. El runtime/compilador del lenguaje instalado (ver instrucciones de instalación arriba)
  3. Acceso a la Terminal/Línea de comandos para ejecutar tus programas
  4. Comprensión básica de la línea de comandos

Hello World​

// JavaScript (Node.js)
console.log('Hello, World!');

Ejecutando Tu Primer Programa​

node hello.js

Puntos Clave​

  • Diversidad de paradigmas -- Los lenguajes abarcan desde procedural (C) hasta multi-paradigma (JavaScript, Python, Rust) y enfocados en sistemas (Zig). Por ejemplo, C te mantiene cerca de la máquina con un modelo procedural mínimo, mientras que Rust y Swift combinan programación de sistemas con características funcionales y orientadas a objetos. JavaScript y Python soportan múltiples paradigmas: puedes escribir código imperativo, POO o funcional en el mismo archivo. Al elegir un lenguaje, elige C o Zig para control de bajo nivel; Rust, Go o Swift para rendimiento de sistemas con ergonomía moderna; y JavaScript, Python o Ruby para iteración rápida y amplio soporte de ecosistema.

  • Sistemas de tipado -- Los lenguajes compilados (Rust, Go, C++, Java, Swift, Zig) tienen tipado estático, lo que significa que los errores de tipo se detectan antes de que el programa se ejecute. Los lenguajes interpretados (JavaScript, Python, PHP, Ruby) tienen tipado dinámico, por lo que puedes reasignar variables a diferentes tipos (let x = 42; x = "hello" en JavaScript). El tipado estático ofrece garantías más fuertes y mejor soporte de IDE; el tipado dinámico favorece la creación rápida de prototipos. Para bases de código grandes y de larga vida, prefiere Rust, Go, Java o C#; para scripts y prototipos, Python o JavaScript suelen ser suficientes.

  • Modelos de ejecución -- Los lenguajes compilados (C, C++, Rust, Go, Zig, Swift) producen código máquina nativo; ejecutas el binario directamente. JavaScript usa Node.js o el navegador; Java usa la JVM; C# usa el runtime .NET. Python y Ruby usan intérpretes que ejecutan el código fuente línea por línea. Los binarios compilados arrancan rápido y a menudo se ejecutan más rápido; los lenguajes basados en runtime ofrecen facilidad multiplataforma y características dinámicas. Elige lenguajes compilados para despliegues críticos en rendimiento o independientes; elige runtimes para backends web y aplicaciones multiplataforma.

  • Requisitos de punto de entrada -- Los lenguajes estilo C requieren un main() explícito (por ejemplo, fn main() en Rust, func main() en Go, int main() en C). Python y Ruby ejecutan código de nivel superior desde la primera línea; print("Hello") al inicio de un archivo se ejecuta inmediatamente. Go requiere de forma única tanto package main como func main() en el mismo paquete. Java y C# vinculan los puntos de entrada a una clase (public static void main). Al cambiar de lenguaje, ten en cuenta estas diferencias: algunos esperan una única función de entrada, otros ejecutan scripts de arriba a abajo.

  • Configuración y verificación -- Cada lenguaje tiene su propio instalador y comando de versión: node --version, python3 --version, rustc --version, go version, etc. Usa estos para confirmar tu entorno antes de programar. Para lenguajes de sistemas (C, C++, Rust, Zig), típicamente compilas y luego ejecutas; para lenguajes interpretados o basados en runtime, ejecutas el código fuente o bytecode directamente. Prefiere los instaladores oficiales (por ejemplo, rustup para Rust, instaladores de SDK para .NET y Java) para la experiencia más fluida.