V es un lenguaje de programación compilado con una promesa muy concreta: reunir lo mejor de Go, Rust y Python en una sintaxis simple, con compilación rápida y sin necesidad de un recolector de basura. El proyecto, impulsado por Alexander Medvednikov y disponible en vlang.io, acaba de publicar la versión 0.5.1 (9 de marzo de 2026), aunque sigue clasificado oficialmente como beta y sin fecha anunciada para una versión 1.0.
Una sintaxis pensada para leerse como Python y compilarse como Go
La idea es que cualquiera con experiencia en C, Go o Python pueda leer y escribir código V sin apenas curva de aprendizaje. La sintaxis evita la verbosidad de Rust y el ruido sintáctico de C: gramática minimalista, inferencia de tipos, funciones de primera clase y un sistema de módulos sencillo. La comparación más directa es con Go, con quien comparte esa filosofÃa de «menos es más», aunque V añade genéricos más flexibles y opciones (?Type) al estilo Rust para manejar errores sin excepciones.
La gestión de memoria, el punto más discutido del proyecto
Aquà está el matiz que más confusión genera entre quienes se acercan a V por primera vez. La web del proyecto lleva años promocionándose como un lenguaje «sin recolector de basura», pero la documentación oficial (docs.vlang.io) dice otra cosa: por defecto, V usa un recolector de basura de rastreo (tracing GC) basado en Boehm GC. No es una opción entre varias, es lo que hace el compilador si no le indicas lo contrario.
En realidad V ofrece cuatro estrategias de gestión de memoria:
- GC (por defecto): el recolector Boehm, activo salvo que se indique lo contrario.
- Manual (
-gc none): el programador libera memoria a mano, como en C. - Autofree (experimental): el compilador inserta llamadas a
free()en tiempo de compilación, sin GC en tiempo de ejecución. - Arena (
-prealloc): reserva de memoria por bloques, útil para programas de vida corta.
Autofree es la pieza que sostiene el eslogan de «sin GC», y la propia documentación pide prudencia con ella: «Autofree sigue siendo un trabajo en curso. Hasta que se estabilice y se convierta en el valor por defecto, evita usarlo». El roadmap del proyecto en GitHub incluye «gestión de memoria autofree lista para producción» entre los objetivos pendientes para la versión 1.0, sin fecha comprometida. Y pruebas independientes con Valgrind sobre versiones recientes han detectado fugas reales en autofree con estructuras, punteros colgantes y desreferencias nulas, lo que contradice en parte la cifra que maneja la propia web (cobertura de «aproximadamente 90-100%» de los objetos).
Nuevos backends nativos en 0.5.1
La novedad más relevante de esta versión son los backends «v2»: cleanc, una reescritura más limpia del backend que traduce V a C, y dos backends nativos basados en SSA (Static Single Assignment) para arm64 y amd64 que generan código máquina directamente, sin pasar por un compilador C intermedio. Según las notas de la versión, cleanc ya es capaz de autocompilarse («self-host»), un hito habitual en el desarrollo de compiladores. Los backends SSA nativos, en cambio, llevan meses en desarrollo activo y todavÃa no tienen benchmarks independientes que permitan valorar su madurez frente al backend C tradicional.
Lo que dicen los benchmarks reales
Conviene separar el marketing de los datos. Las comparativas de programming-language-benchmarks.vercel.app, hechas con V 0.4.11 frente a Go 1.24.5 y Rust, muestran a V perdiendo por márgenes notables en la mayorÃa de pruebas:
- En el test fasta (entrada de 2,5 millones), Go completa en 118 ms frente a los 502-517 ms de V; Rust lo resuelve en 88 ms, unas 5,7 veces más rápido que V.
- En pidigits (entrada de 8.000), Go tarda 1.120 ms frente a los 3.247 ms de V.
- V agota directamente el tiempo lÃmite en varias pruebas (coro-prime-sieve, edigits, spectral-norm y regex-redux), mientras Go y Rust las completan sin problema.
- V solo saca ventaja clara en las variantes del test nbody.
Estos números hay que matizarlos por dos motivos. Corresponden a V 0.4.11, la versión anterior a los nuevos backends SSA de 0.5.1, asà que no reflejan necesariamente el rendimiento actual del proyecto, y además los propios mantenedores de V han reconocido en foros de GitHub que sus implementaciones en estas baterÃas de benchmarks «todavÃa no están bien optimizadas en comparación con las de otros lenguajes». Con esas salvedades sobre la mesa, hoy no existe ningún benchmark independiente que respalde la promesa de rendimiento «a la altura de C» que suele acompañar al proyecto.
¿Para qué se usa V hoy?
El catálogo comunitario awesome-v recoge los proyectos reales construidos con el lenguaje: herramientas de lÃnea de comandos, Gitly (una alternativa ligera a GitHub/GitLab autoalojada), Vieter (servidor de repositorios para Arch Linux) o Vorum (motor de foros y blogs). Es una comunidad todavÃa pequeña y volcada en herramientas para desarrolladores, sin presencia relevante en producción a gran escala ni casos de uso documentados de forma independiente en empresas conocidas.
La conclusión, con matices
Sobre el papel, V tiene un diseño atractivo: sintaxis simple, compilación rápida y la promesa de olvidarse del recolector de basura. La realidad de 2026 pesa un poco más: el proyecto sigue en beta, el recolector Boehm sigue activo por defecto, autofree continúa siendo experimental y los benchmarks disponibles, aunque desactualizados, muestran una distancia real frente a Go y Rust en tareas intensivas en cómputo. Los nuevos backends SSA de 0.5.1 son la apuesta que podrÃa cambiar esto, pero todavÃa no hay datos independientes que lo confirmen. Merece la pena seguirle la pista al proyecto, sobre todo si esos backends nativos maduran, pero conviene desconfiar de cualquier comparativa de rendimiento que no especifique la versión exacta.
Para quien quiera comparar con alternativas más asentadas, en programacion.net hemos cubierto recientemente las últimas versiones de Go 1.26, Rust 1.91 y Python 3.14, los tres lenguajes que V dice combinar.
Imagen: Pexels / Digital Buggu
