Artículos

  • Generales 0

    Concurrencia en V: spawn, canales, select y shared con lock

    Cuarta entrega de la serie sobre V: como lanzar hilos con spawn, recuperar resultados con wait(), canales tipados, la sentencia select y el modificador shared que obliga al compilador a proteger el estado compartido con lock y rlock.

  • C# 0

    Records y pattern matching en C#: tipos inmutables y código más expresivo

    Los records de C# 9 son tipos inmutables con igualdad por valor que simplifican los modelos de datos. Combinados con el pattern matching moderno, permiten escribir código más claro y seguro sin renunciar a la expresividad.

  • Generales 0

    match en Rust: pattern matching exhaustivo y potente

    Aprende a usar match en Rust: el compilador obliga a cubrir todos los casos posibles y eso elimina bugs enteros. Patrones con rangos, enums con datos, desestructuración, múltiples patrones con |, guards con if y match como expresión que devuelve valor.

  • Generales 0

    Manejo de errores en V sin excepciones: Option, Result, or y el operador !

    Tercera entrega de la serie sobre V: como el lenguaje resuelve los errores sin try/catch, con los tipos Result y Option integrados en la firma de la funcion, el bloque or obligatorio y la propagacion con el operador !.

  • Generales 0

    data class, sealed class y value class en Kotlin: modelar datos con precisión

    Aprende a usar data class, sealed class y value class en Kotlin para modelar datos de forma expresiva, segura y sin código repetitivo. Con ejemplos prácticos y casos de uso reales.

  • Generales 0

    Testing en Go en 2026: table-driven tests, benchmarks y fuzzing

    Go trae un runner de tests integrado que no necesita frameworks externos. En esta guía ves cómo funciona, qué son los table-driven tests, cómo medir rendimiento con benchmarks y cómo usar el fuzzer para cazar bugs con inputs aleatorios.

  • Generales 0

    Option en Rust: adiós al null, hola Some y None

    Option T en Rust sustituye al null con dos variantes: Some envuelve el valor y None representa la ausencia. Aprende a usarla con match, if let, unwrap_or, map y and_then, a propagar None con el operador ? y cuándo evitar unwrap en producción.

  • Generales 0

    Rust en el kernel de Linux: qué es Rust-for-Linux y hasta dónde ha llegado

    Desde Linux 6.1, el kernel admite Rust junto a C para escribir drivers y módulos nuevos. Esto es lo que ha entrado en cada versión y qué significa para los desarrolladores de sistemas.

  • Generales 0

    Gestión de memoria en V en la práctica: GC Boehm, autofree, -gc none y arenas

    Segunda entrega de la serie sobre V: las cuatro formas reales de gestionar memoria en el lenguaje, con codigo para cada una y por que autofree, la pieza que sostiene el eslogan "sin GC", sigue sin ser apta para produccion.

  • C# 0

    Blazor en 2026: WebAssembly, Server y el modo híbrido que lo cambia todo

    Blazor ha madurado mucho desde sus primeras versiones: con .NET 8 y 9, puedes elegir el modo de renderizado componente a componente y mezclar Server, WebAssembly y estático en un mismo proyecto. Aquí tienes una guía práctica de cómo funciona todo en 2026.