2 puntos por GN⁺ 4 시간 전 | 1 comentarios | Compartir por WhatsApp
  • Zig busca ser un lenguaje de sistemas que mantenga el rendimiento y el control de C, mientras reduce los footguns y las debilidades de depuración, con atención directa al CPU y la memoria
  • Su principal diferenciador es la toolchain: apunta a que, sin dependencias del sistema, se pueda compilar para cualquier sistema operativo desde cualquier otro con solo zig build
  • La demora de la versión 1.0 es una decisión para no prometer compatibilidad hacia atrás de forma apresurada, y gracias a su estructura sin fines de lucro 501(c)(3) puede enfocarse en mejoras de largo plazo
  • Zig Software Foundation registró en 2024 ingresos por 670 mil dólares y cuenta con una estructura diversa de patrocinio; además, se mudó de GitHub a Codeberg priorizando el funcionamiento del CI
  • A los issues y pull requests se les aplica una política de no LLM, no AI, porque consideran que las contribuciones hechas con IA perjudican el tiempo de revisión y la mentoría, y terminan teniendo valor negativo

El punto de partida de Zig y el diseño del lenguaje

  • Contexto de su creación

    • Andrew Kelley intentó en orden con JavaScript, Go, Rust y C++ para crear una estación de trabajo de audio digital, pero consideró que cada uno tenía límites para lograr la experiencia de usuario que quería
    • Con JavaScript concluyó que, al ser demasiado de alto nivel dentro del navegador, era difícil aprovechar plenamente las capacidades de la computadora
    • Consideró que Go no tenía buena interoperabilidad con bibliotecas de C y que, en trabajos en tiempo real como el audio, donde el procesamiento debe terminar dentro de un tiempo fijo, el recolector de basura podía causar glitches o saltos, por lo que no era adecuado
    • Sintió que Rust, antes de la 1.0, era difícil de satisfacer en sus reglas, que incluso cambios pequeños podían provocar una cascada de errores de compilación, y que después de pasar un mes ajustando el renderizado de fuentes, le costaba seguir avanzando
    • C++ al principio le resultó productivo, pero pequeños typos o errores terminaban en bugs de corrupción de memoria que requerían semanas de depuración, y opinó que incluso con un “C estilo C++” usando compilador de C++ y linker de C, el problema de los footguns seguía presente
    • El punto de partida de Zig fue la idea de no comprometer la experiencia de usuario según lo que permitiera la toolchain, sino tomar como base lo que una computadora puede hacer de manera fundamental
  • Por qué cree que puede reemplazar a C

    • Considera que Zig es mejor que C porque mejora defectos y debilidades de C sin renunciar a su poder
    • Otros intentos de reemplazar a C abandonaron algo que C tenía, pero Zig busca hacer todo lo que C puede hacer mientras reduce los footguns y mejora la depurabilidad
    • Mientras que C solo tiene enteros de optimización para signed integer y semántica de wraparound para unsigned integer, Zig permite elegir tanto en signed como en unsigned entre wraparound o garantía de ausencia de overflow, por lo que se lo describe como más “C que C”
    • Para reemplazar a C, debe poder escribirse código reutilizable en cualquier parte: kernels de sistemas operativos, dispositivos embebidos, videojuegos, WebAssembly y más; si Zig ofrece capacidades y estabilidad al nivel de C, se terminará eligiendo la opción con mejor rendimiento y menos bugs
  • Diferencias frente a Rust

    • La diferencia central entre Rust y Zig está en el sistema de tipos
    • En Rust hay que describir en un metalenguaje reglas como si los parámetros de una función soportan clone, qué interfaces implementan o qué tipos se pueden pasar
    • En Zig, sin ese tipo de mecanismo, se pasan tipos concretos o tipos genéricos que funcionan como plantillas de C++
    • Hay un intercambio entre más garantías del sistema de tipos en el código Rust y mayor simplicidad de lectura en el código Zig
    • Rust continúa con un estilo RAII similar al de C++, donde es natural que un objeto haga referencia a otro y se destruya automáticamente cuando el conteo de referencias llega a cero
    • En Zig, el allocator es mucho más explícito, y aunque también se puede usar conteo de referencias, ese código debe escribirse de forma explícita
    • En Zig se usan con frecuencia estrategias de asignación de memoria adaptadas a la aplicación: agrupar asignaciones con un arena allocator y descartarlas de una sola vez, usar un asignador de propósito general en un enfoque orientado a objetos, o construir una mezcla ajustada a un caso específico
    • Considera que pensar qué se quiere que haga el CPU y escribir código que lo haga exactamente así resulta más natural en Zig que en Rust
  • Función estrella y toolchain

    • La función estrella de Zig es la toolchain
    • Es una suite de software sin dependencias del sistema, que funciona en cualquier sistema operativo donde se ejecute y puede compilar código para cualquier sistema operativo de destino
    • La dificultad de meterse a hackear un proyecto puede juzgarse por cuántos paquetes del sistema hay que instalar desde el README, si el procedimiento cambia según el sistema operativo, cuántos comandos hay que ejecutar para configurar el entorno, o si se necesita Docker o hardware específico
    • El estándar ideal es una línea, una dependencia, siempre funciona para todos, y en el README de un proyecto Zig debería bastar con zig build
  • Reglas del lenguaje e interfaz de IO

    • La regla de tratar como error de compilación a las variables no usadas ahorra tiempo al detectar bugs durante refactors grandes, y considera que el costo de agregar una anotación para descartar una variable no es alto
    • Gracias al soporte de editor del equipo de ZLS, al activar la configuración se pueden descartar automáticamente las variables no usadas, y si vuelven a usarse, también puede quitarse ese descarte
    • La nueva interfaz de IO reader / IO writer es una abstracción para escribir una sola vez código reutilizable, como bibliotecas de carga de imágenes o código de serialización de formatos de datos
    • El objetivo es separar en paquetes el código que consume datos recibiendo un reader y el que produce salida recibiendo un writer, para reutilizar la misma lógica en varias aplicaciones
    • Si la lectura y escritura ocurren por debajo de una capa de abstracción, el compilador puede tener más dificultad para entender la lógica y optimizarla, lo que puede hacer perder rendimiento
    • Considera que un diseño que incluye buffers dentro de la interfaz es el punto óptimo para que el compilador genere buen código y al mismo tiempo se logre reutilización

Casos de uso, 1.0 y el rumbo después de LLVM

  • Casos de uso reales

    • Zig se presenta como un lenguaje para cuando quieres controlar completamente la computadora, exprimir al máximo el rendimiento y el uso de memoria, y crear una experiencia de usuario convincente
    • Ghostty es un emulador de terminal creado por Mitchell Hashimoto, y se considera un buen proyecto en términos de calidad de código, gestión de comunidad y pruebas de fuzzing
    • TigerBeetle es una base de datos de transacciones financieras que, a diferencia de la estrategia de montar OLTP sobre una base de datos relacional como PostgreSQL, creó una base de datos de propósito específico, y se describe como “mil veces más rápida” que esa estrategia
    • TigerBeetle asigna por adelantado toda la memoria que va a usar en tiempo de ejecución y luego no hace asignación dinámica, para mantener una latencia predecible y consistente
    • Bun es un motor de JavaScript que usa JavaScriptCore y varias bibliotecas de C++, y el código de unión está escrito en Zig
    • Entiende que Bun fue vendido recientemente a Anthropic, y que como resultado ha aumentado mucho la gente que quiere usar Zig para IA
    • Uber usa Zigcc como compilador de C para compilar de forma cruzada el código C del que depende su código Go, y lo aprovecha para compilaciones dirigidas a ARM64
  • Por qué se retrasa la versión 1.0

    • Zig sigue sin tener 1.0 después de 10 años, pero considera que 1.0 es esencialmente una promesa de compatibilidad hacia atrás, y que su significado varía según el proyecto
    • Compara que Go casi no tocó el lenguaje durante mucho tiempo después de 1.0, mientras que Rust etiquetó 1.0 relativamente pronto, pero gracias a las ediciones pudo cambiar bastante el lenguaje manteniendo la compatibilidad hacia atrás
    • La Zig Software Foundation no es una startup sino una organización sin fines de lucro 501(c)(3), así que no tiene presión de inversionistas, venta ni plan de salida, y puede tomarse tiempo para mejorar a largo plazo
    • Quiere que, cuando llegue 1.0, sea un “producto de amor sin concesiones” que no quede atrapado en malas decisiones cerradas con prisa
    • Sobre “worse is better”, considera que la expresión en sí no tiene sentido lingüísticamente, y que Zig busca more with less
    • Apunta a una toolchain que obtenga gran utilidad de una función comptime con poca complejidad, y que permita compilar para sistemas operativos y arquitecturas completamente distintos con una sola bandera
    • Cree que cuando salga 1.0 la adopción sin duda se disparará, pero la meta es construir un lenguaje para los próximos 50 años
    • Considera que en la próxima versión 0.16 empezarán a verse los resultados de estas decisiones
  • Por qué alejarse de LLVM

    • La razón para alejarse de LLVM es el juicio de que hay que evitar una dependencia central para el producto principal
    • Pone como ejemplo el juego arcade competitivo para 10 personas Killer Queen, donde el desarrollador usó Unity para el motor de físicas, y la sensación del juego competitivo cambió incluso con pequeños cambios o correcciones de bugs en ese motor, hasta el punto de no poder actualizar a una nueva versión de Unity
    • Considera que fue un error depender de algo así para el producto principal, y que Zig también está corrigiendo eso en relación con LLVM
    • LLVM se compara con “rueditas de entrenamiento”; después de más de 10 años creando Zig, ha aprendido más sobre desarrollo de compiladores y cree que ya puede quitar esas rueditas y competir con LLVM
    • En su backend propio de x86, es posible hacer compilación incremental que obtiene un binario nuevo en menos de 50 ms tras un cambio, incluso en bases de código enormes de millones de líneas
  • Nombre y ruta de aprendizaje

    • El nombre Zig fue elegido mientras buscaba una palabra corta con 0 resultados para “Zig programming language”, cuando un script de Python iba imprimiendo palabras aleatorias
    • La iguana mascota se llama “ziguana”
    • Para principiantes recomienda fuertemente Ziglings
    • Ziglings consiste en una serie de ejercicios con código que casi funciona pero contiene problemas, donde se aprende cada nueva función del lenguaje arreglando programas rotos
    • La transición de C a Zig es especialmente fluida, y todo lo que se puede hacer en C también se puede hacer en Zig, con menos footguns
    • Si en C ocurre un segmentation fault, normalmente no se imprime nada más que “segmentation fault” y hay que depender de la habilidad para usar un depurador, pero en Zig se puede obtener un stack trace completo que apunta a cada línea del código
    • Que Zig sea o no el primer lenguaje de programación para aprender depende de cada persona, pero considera que es un buen lenguaje para quienes quieren aprender cómo funciona una computadora, porque te hace aprender sobre CPU y memoria

Operación de la fundación, gobernanza y elección de plataforma

  • Finanzas y estructura de patrocinio

    • En 2024, los ingresos totales de la Zig Software Foundation fueron de 670 mil dólares
    • Las fuentes de ingresos están diversificadas entre patrocinadores individuales y donaciones de varias empresas, en una estructura donde una sola entidad no puede imponer la dirección del desarrollo
    • Si un patrocinador específico exige “haz esto”, pueden rechazarlo, y consideran que incluso si ese patrocinador deja de aportar dinero, podrían sobrevivir
    • Los patrocinadores solo pueden influir de la misma manera que cualquier otra persona, como participando en el rastreador de errores, enviando pull requests o conversando en canales de desarrollo; no existe un canal secreto aparte de alta prioridad
    • El salario anual de Andrew Kelley es de 154 mil dólares, y dice que fue fijado por la primera junta directiva con base en el salario medio de un ingeniero de software senior en la ciudad donde se estableció la organización sin fines de lucro
    • La fundación tiene 1 empleado y alrededor de 5 contratistas remunerados a tiempo completo, y el 91% de los ingresos del año anterior se paga a contratistas que trabajan en el proyecto
    • Ante una oferta incondicional de 100 millones de dólares, respondió que sí la aceptaría, pero no la usaría para crecer, sino que la pondría en el banco para no tener que recaudar fondos durante 100 años
    • Actualmente gestiona un equipo de 5 personas, y señaló que pasar de 10 podría ser una carga grande, y que no tiene intención de convertirse en administrador de una organización de 100 personas
  • 501(c)(3) y transparencia

    • Distingue que 501(c)(3) es diferente de 501(c)(6)
    • Menciona que 501(c)(6) es una liga empresarial, y que la Rust Foundation funciona con donaciones de empresas como Amazon, Netflix, Microsoft y Meta, que comparten un interés común en el éxito de Rust
    • Un 501(c)(3) no puede hacer lobby ante el gobierno y existe únicamente para su declaración de misión, no para los intereses de empresas
    • La publicación detallada de ingresos y gastos en una entrada de blog no es una obligación, sino transparencia voluntaria, y considera que también ayuda a la confianza y a la recaudación porque los indicadores son buenos
  • Por qué dejó GitHub y las redes sociales

    • Explica que dejó Reddit y Twitter porque publicar en esos sitios se volvió cada vez menos relevante, como publicar en Slashdot o Digg, y porque quería minimizar el tiempo dedicado al marketing como ingeniero de software
    • Considera que enfocarse más en eventos presenciales y meetups es una mejor inversión para el crecimiento de la comunidad que usar redes sociales donde el algoritmo controla lo que se ve o donde hay que interactuar con trolls
    • La razón por la que a fines de 2025 movió el repositorio principal de Zig de GitHub a Codeberg fue que GitHub ya no estaba entregando correctamente los resultados de integración continua y “simplemente no funcionaba”
    • Después de mudarse a Codeberg, el servidor de integración continua volvió a funcionar
    • Dejar GitHub Sponsors fue una decisión difícil porque podía significar perder una fuente de ingresos, pero determinó que para escribir software, lo prioritario era que la CI funcionara
    • Tras dejar GitHub, lo describe financieramente como “totalmente bien”
    • Zig es software bajo licencia MIT, una donación incondicional al mundo del software, y considera que el patrocinio también es una donación incondicional
    • Eligió Codeberg porque es esencialmente similar a GitHub, así que la transición fue sencilla, y porque es una organización sin fines de lucro alemana
    • Considera que una forja de código no es una herramienta de marketing del proyecto, y que la gente descubre el lenguaje no por GitHub o Codeberg, sino por anuncios, meetups, videos de YouTube y grupos de meetup de Zigday
  • BDFL y gobernanza a largo plazo

    • Los proyectos de software a menudo deben elegir entre control jerárquico y procesos democráticos, y muchos proyectos optan por el modelo BDFL por su simplicidad
    • Cuando una sola persona controla, esa persona asume la responsabilidad de entenderlo todo y de tener una visión coherente del proyecto
    • En un comité pueden chocar distintos casos de uso y visiones válidas, y cuando no existe un diseño único que satisfaga ambos casos al mismo tiempo, el compromiso puede llevar a un producto peor
    • Considera que, incluso si Andrew Kelley se va, desde el punto de vista de la ingeniería de software sus colegas son muy competentes y podrían seguir operando el proyecto
    • Desde el punto de vista político de la organización y la fundación, cree que todavía quedan cosas por hacer y que, bajo la idea de que los sistemas por donde fluye dinero se corrompen, por ahora se necesita un liderazgo jerárquico fuerte que resista la influencia del dinero
    • Como una forma en la que un solo líder fuerte controla todo no es sostenible, para la sostenibilidad a largo plazo se necesita democracia, pero el reto es diseñarla de modo que no se corrompa con el tiempo por la influencia del dinero
  • Criterios de éxito

    • El éxito de Zig, desde una perspectiva, ya se logró
    • Tiene fuentes de ingresos diversas, por lo que es financieramente independiente de una sola entidad, tiene usuarios satisfechos que siguen usándolo, y publica alrededor de dos lanzamientos al año mientras sigue mejorando de forma continua
    • Desde otra perspectiva, quiere una adopción mayor, y una medida del éxito es alcanzar un nivel de adopción comparable al de Go y Rust
    • La adopción comercial es útil porque puede atraer donaciones corporativas, pero también hay que tener cuidado de mantener la diversidad en esas donaciones
    • Considera que si se crea algo útil en general, también será útil para las empresas, y que eso también se ve en la forma en que la gente usa Zig para IA

Políticas de IA, herramientas de desarrollo y el futuro de la programación

  • Política de no LLM, no AI

    • Zig mantiene una política estricta de no LLM y no AI para issues y pull requests
    • Considera que las contribuciones hechas con IA son “basura, como siempre”, y que no solo no aportan valor, sino que generan valor negativo al quitar tiempo de revisión
    • Actualmente hay más de 200 pull requests abiertas, y el tiempo de revisión es el cuello de botella entre un equipo de desarrollo pequeño y muchos contribuidores
    • Considera que en las contribuciones hechas con IA se revela un patrón en el que, tras varias rondas de revisión, el contribuidor no entiende el contenido, pega el feedback de la revisión en un chat y luego maquilla la respuesta recibida como si fuera propia
    • La razón central para hacer code review y aceptar contribuciones es la mentoría, y el objetivo es ayudar a que el contribuidor crezca para luego convertirse en integrante del equipo central o en un contribuidor de más valor
    • “contributor poker” es el proceso de decidir en quién invertir el tiempo limitado para convertirlo en mejor programador y mejor contribuidor
    • Considera que quien usa IA siempre cae en la categoría de contribuidor ocasional con baja rentabilidad de inversión, que no aprende ni tiene posibilidades de volverse parte del equipo central
    • El proyecto Zig también es un proyecto educativo, y parte de su misión es ofrecer guía y formación a estudiantes
    • Si se permitiera “solo los buenos PR hechos con IA”, haría falta alguien que los juzgara, pero una prohibición total es una política fácil de aplicar
    • Reconoce que detectar si algo fue generado por IA no siempre es fácil y que algunos casos pueden haber pasado, pero al revisar muchos pull requests a veces se vuelve evidente porque la reacción al recibir feedback no es la que mostraría un humano
  • Licencia MIT y entrenamiento de IA

    • El codebase de Zig usa la licencia MIT y, para quienes no están familiarizados con las licencias de software, es en la práctica algo muy cercano al dominio público
    • Puede usarse para casi cualquier propósito; al copiar el código se debe reproducir la licencia, no hay garantía y no se puede responsabilizar a Zig por problemas
    • Es irónico que una gran empresa pueda usar código de Zig para entrenar IA, mientras que se prohíbe que la IA contribuya a Zig
    • Tiene muy firme la idea de que Zig es un regalo incondicional al mundo, así que considera bien que se use para entrenamiento de IA
    • No ha probado mucho por sí mismo si a los LLM les cuesta más trabajar con código Zig que con Python o JavaScript, pero dice que Mitchell Hashimoto usa ampliamente la programación con IA en Ghostty
    • Una persona con el nombre de pantalla Rocker creó herramientas para que la IA funcione mejor con Zig y, según comenta, tuvo éxito
  • Vibe coding y el futuro de la programación

    • Leer sobre alguien que lleva mucho tiempo con un proyecto, adquiere habilidades y resuelve problemas estimula la imaginación, hace pensar en qué podría construir uno mismo, enseña algo y genera una conexión emocional
    • Considera que los blogs de vibe coding del tipo “probé esta versión de Claude o aquella versión de OpenAI y funcionó sorprendentemente bien” no inspiran
    • Enfatiza que el estándar de calidad del software no debe ser “sorprende porque no tiene bugs”, sino una perfección sin compromisos
    • Probó el vibe coding en una llamada privada con Richard Feldman, y considera que la tecnología en sí es fundamentalmente interesante
    • Aun así, siente un rechazo fuerte ante el hecho de que unas cuatro empresas la controlen de forma centralizada y tengan control total sobre los modelos y su comportamiento
    • Dice que no quiere pasar de escribir código usando su propia computadora y su propia electricidad a usar programación de código cerrado en la computadora de otra persona, del otro lado de la red, mediante una suscripción mensual
    • Hay gente que paga 300 dólares al mes, y expresa que esa propuesta le parece una locura
    • Considera que dentro de 10 o 20 años los humanos seguirán escribiendo código, y que programar es divertido y al menos siempre permanecerá como hobby
    • Cree que las mejores apps en teléfonos y computadoras son las que la gente hace como hobby en su tiempo libre, y que ni el software libre y de código abierto ni el deseo de ser dueño de tus propios dispositivos van a desaparecer
  • Entorno de edición y herramientas de refactorización

    • Se necesita un entorno de trabajo resiliente que permita seguir editando código incluso cuando cambie la sintaxis de Zig
    • Herramientas avanzadas como tree-sitter o los language servers parten de un árbol sintáctico estable o de un lenguaje estable, por lo que si el lenguaje se rompe, ellas también pueden romperse
    • En lo personal, al escribir Zig usa la terminal y Vim en lugar de un entorno sofisticado, y Vim resiste muy bien los cambios
    • ZLS significa Zig language server y es una implementación de Language Server Protocol para Zig; es un proyecto de terceros que no opera la Zig Software Foundation
    • El sitio web de Zig recomienda productos de JetBrains, pero Andrew Kelley nunca los ha usado porque son de código cerrado
    • En el pasado valoró herramientas de refactorización de alto nivel como las que ofrecían JetBrains o Eclipse para extraer funciones, reordenar parámetros de funciones o renombrar identificadores globales
    • A largo plazo quiere una herramienta de refactorización tipo lenguaje de consultas que permita hacer cambios grandes basados en información de tipos y otras pistas
    • Para tareas con alcance claro, como renombrar variables, si una herramienta confiable las resuelve, podría tener tanta certeza del resultado como para hacer el commit sin necesidad de revisarlo
    • Si se le pide la misma tarea a una herramienta de IA, igual hay que revisar el código, así que termina tardando más y siendo una peor opción que una herramienta de refactorización confiable

Motivación personal y perspectiva sobre el open source

  • La motivación para seguir con Zig y las dificultades

    • El trabajo en Zig nace de su amor por las computadoras y de su deseo de hacer que las computadoras sirvan a las personas.
    • Zig se presenta como un regalo optimista basado en la idea de que un excelente lenguaje de programación y una gran toolchain pueden llevar a ese resultado.
    • Satisfacer a los usuarios y crear una experiencia de usuario poderosa le da una gran satisfacción, y compara la sensación de crear buen software con la que siente un músico al presentarse en el escenario.
    • La parte más difícil es el trabajo de impuestos y papeleo necesario para operar una organización sin fines de lucro.
    • Dice que es algo indispensable para operar sin problemas legales y poder recibir grandes donaciones, pero que actualmente Andrew Kelley se encarga de eso.
    • Algunos días hace trabajo contable y otros días programa, y considera que los días en que programa son los buenos.
    • El cambio de las interfaces IO reader / IO writer en Zig 0.15 fue el resultado de buscar el punto óptimo, diseñar la API, probarla y comparar con otros lenguajes de programación para encontrar una solución nueva, pero después tuvo que dedicar 6 meses a corregir la biblioteca estándar y los proyectos del ecosistema.
  • Burnout y consejos

    • Considera que el burnout aparece cuando se invierte mucho esfuerzo pero no se ve mucha recompensa por ese esfuerzo.
    • Andrew Kelley dice que, aunque pone mucho esfuerzo, en general está protegido del burnout porque sí ve recompensas, como usuarios felices, releases de Zig, notas de versión y mejoras.
    • Los trabajos en los que la recompensa se retrasa varios meses, como los cambios de IO, pueden sentirse como burnout, pero al final mejora cuando llega esa recompensa.
    • A quienes están pasando por burnout, primero les recomienda hacer ejercicio, dormir lo suficiente y comer de forma saludable.
    • Si no te gusta lo que haces o sientes que tu empresa no hace algo valioso para el mundo, pero aun así tienes que trabajar duro, eso crea las condiciones para el burnout.
    • En ese caso, una opción es buscar otro trabajo o tomar el camino difícil de crear tu propio trabajo, como emprender; y si trabajas en una “corporación sin alma”, aconseja irte a casa a las 5 de la tarde, hacer otra cosa y no esforzarte demasiado.
  • Proyectos que admira y diversidad en navegadores

    • El primer proyecto que admira es Linux.
    • Considera que un mundo con solo sistemas operativos privativos sería mucho peor, y que Linux no solo benefició a los desarrolladores de software libre y open source, sino también a países y empresas de todo el mundo, al permitirles construir negocios gratis, lo que también fue bueno para la economía.
    • El segundo es Blender, que valora mucho por ser un proyecto open source y una organización sin fines de lucro que se usa profesionalmente y que compite, e incluso gana, frente a empresas con mucho dinero y muchos desarrolladores.
    • El tercero es VLC; recuerda que cuando antes contribuyó a FFmpeg, la organización de VLC cubrió los gastos de viaje a VideoLAN Dev Days de una persona que había contribuido a VLC o a una biblioteca de la que dependía.
    • Usa Firefox por su preocupación por la diversidad de navegadores.
    • Cree que, después de que Microsoft cerró Internet Explorer, los únicos navegadores principales que quedan son Chromium, Safari y Firefox, y que el hecho de que Chromium ocupe la mayor parte del mercado es un problema para la web.
    • Dice que últimamente no está satisfecho con Mozilla, y que, pese a ser una organización sin fines de lucro, siente que hay mucha corrupción y casos en los que no está alineada con los usuarios.
    • Ve que Chromium depende de Google, Safari de Apple y Firefox va en declive, por lo que faltan alternativas, y piensa que no sabe qué se debería hacer hasta que los nuevos proyectos de navegadores maduren.
  • Si volvería a empezar Zig incluso regresando a 2015

    • Responde que, incluso si volviera a 2015, sin duda empezaría Zig.
    • El día en que dejó OkCupid y comenzó Zig a tiempo completo fue, viendo la trayectoria de su vida desde entonces, el mejor día de su vida.
    • Zig le dio una profunda sensación de realización, independencia, autoestima y de estar contribuyendo a la sociedad.
    • Siente que, por naturaleza, es una persona difícil de emplear; para ser feliz necesitaba ser su propio jefe, y una vez que llegó a ese estado, encontró la felicidad.

1 comentarios

 
GN⁺ 4 시간 전
Opiniones en Lobste.rs
  • Ojalá que la gente fuera de la Zig Software Foundation también reconozca la pasión y filosofía que Andrew y el equipo central han tenido al empujar el proyecto hacia adelante
    No se puede culpar a JetBrains por intentar hacer la entrevista más provocadora para volverla viral, pero al final las mejores preguntas no fueron Zig vs Rust, sino las sobre Zig como un proyecto hecho desde lo no lucrativo, la sostenibilidad y el cariño
    Creo que Andrew mostró muy bien al mundo ese lado humano que arde en silencio detrás del proyecto
    • La verdad, ni siquiera me parece que JetBrains la haya llevado en una dirección particularmente provocadora
      El video parece estar mucho más dirigido a personas curiosas por Zig y a quienes están interesados en cómo se gestiona un proyecto, que a gente que ya ha usado bastante Zig, y simplemente sacó temas que ese público probablemente conoce, sin evitarlos
      El entrevistador también dejó que las palabras de Andrew hablaran por sí solas en lugar de avivar el fuego, y para este tipo de entrevista fue bastante considerado
      Eso sí, me dio risa ver algunas de las palabras que decidieron poner como subtítulos, aunque no sé cuánta gente interesada en Zig habrá que no sepa qué es Linux o qué significa abstracción
      En general, me dejó una impresión muy positiva, tanto por la forma en que mostraron Zig como por el equipo de marketing de JetBrains
  • Andrew mencionó a mitad del video una herramienta que hice para ayudar con Zig y el uso de IA; para quien quiera probarla, la herramienta es zigdoc: github.com/rockorager/zigdoc
    Básicamente es una herramienta para ver desde la línea de comandos la documentación de la biblioteca estándar de Zig y de las dependencias encontradas en el grafo de build
  • Me encantó la parte, en los últimos segundos del video, donde Andrew dice que es feliz
  • La expresión “trabajo por amor sin concesiones” le queda perfecta
    La idea de no apresurar la 1.0 es atractiva, aunque Zig también ha tenido la suerte de contar con usuarios dispuestos a aguantar la inestabilidad de los cambios en el ecosistema
  • En lo embebido, durante años la herramienta principal ha sido C
    No C++, simplemente C
    Llevo tiempo pensando si hacer mi próximo proyecto embebido en Zig o en Rust, y ahora siento que “ha llegado el momento”
    Esta entrevista podría ser el empujón decisivo para mí, y aquí hay una vibra general con la que conecto mucho
  • Me gustó muchísimo la respuesta sobre por qué Zig quiere alejarse de LLVM
    Abordó muy bien las partes donde el equipo necesita tener más control, porque corresponden a funcionalidades centrales de Zig