18 puntos por GN⁺ 2025-02-25 | 2 comentarios | Compartir por WhatsApp

Filosofía(Philosophy)

  • Somos una comunidad que desarrolla software de alta calidad como dwm, dmenu, st, y tenemos como valores centrales la simplicidad, claridad y frugalidad (Simplicity, Clarity, Frugality)
  • Nos oponemos a la realidad generalizada en la industria de TI de software innecesariamente complejo, lleno de errores y lento
  • Nuestros proyectos tienen como objetivo ir a contracorriente de esa tendencia y mantenerse simples, mínimos y fáciles de usar
  • Nuestros proyectos están dirigidos a usuarios experimentados de computadoras y profesionales
    • Creemos que la mayor parte del software comercial y la mayoría de los proyectos de código abierto se desarrollan para no especialistas y usuarios generales, por lo que los usuarios experimentados son ignorados
    • En cambio, creemos que el mercado de usuarios avanzados sigue creciendo y que estos pueden encontrar la solución óptima que se adapte a su forma de trabajar
  • Diseñar software simple y elegante es mucho más difícil
    • Sin embargo, es un precio que debe pagarse por la confiabilidad y el mantenimiento
    • Mantener el minimalismo permite tener metas razonables y alcanzables
    • Nos esforzamos por mantener el minimalismo y la claridad

Manifiesto(Manifest)

  • Muchos desarrolladores confunden escribir código largo con un logro
    • Sin embargo, una mayor cantidad de código no mejora necesariamente la calidad del software
    • Puede parecer que mientras más avanzan, más aumentan sus habilidades, pero eso no es más que una ilusión
  • Muchos desarrolladores no prestan atención a la calidad del código y se conforman con que simplemente funcione o parezca resolver el problema
    • Si esta forma de trabajar se mantiene, con el tiempo quedan enormes cantidades de código, una estructura completamente rota y un diseño de sistema plagado de fallas
    • Esto se debe a la falta de claridad conceptual e integridad en el proceso de desarrollo
  • La complejidad del código es la causa raíz de un software ineficiente e inconsistente
    • El código complejo provoca degradación del rendimiento, desperdicio de recursos y vulnerabilidades de seguridad
    • La única solución es desechar todo el proyecto y reescribirlo desde cero
  • El problema es que casi nunca se hacen reescrituras de código de alta calidad
    • Muchos desarrolladores se enorgullecen de la cantidad de código, creen erróneamente que entienden la complejidad y piensan que no hace falta reescribir
    • Se consideran genios y confunden el software complejo con una meta ideal
  • Las grandes ideas son simples. El gran software también es simple
    • La simplicidad es el núcleo de la filosofía Unix
    • Mientras más líneas de código se eliminan, mayor es el progreso; cuanto más se reduce el código, más hábil se vuelve el desarrollador y mejor se vuelve el software

2 comentarios

 
aer0700 2025-02-25

Vaya, es un manifiesto con muchísima energía jajaja. Está genial.

 
GN⁺ 2025-02-25
Comentarios de Hacker News
  • El FAQ de Stali Linux de Suckless tuvo un gran impacto en mí. Construyeron un espacio de usuario completamente enlazado de forma estática para Linux

    • Antes daba por sentado el enfoque de Linux de "bibliotecas compartidas para todo"
    • Cuando hacía herramientas CLI pequeñas, creaba un paquete de distribución o usaba un tarball para configurar las bibliotecas
    • Me di cuenta de que esa forma no es necesariamente obligatoria
    • Desde entonces uso enlace estático siempre que es posible, y si no, uso AppImages
    • El enlace dinámico también es necesario, pero en general no creo que la distribución de software tenga que ser complicada
  • Gracias a dwm y dmenu, mi escritorio casi no ha cambiado en 10 años. Me encanta la estabilidad que trae el minimalismo

  • No entiendo la idea de no usar declaración inicial en un bucle for. No entiendo cómo las macros variádicas están bien, pero for(int i = 0...) supuestamente es demasiado complejo

  • Puedo aceptar el minimalismo, pero no todo es necesario

  • La filosofía de programación de Suckless es hermosa. Ojalá todo el software se escribiera con esta filosofía. Pero un gestor de ventanas y un menú para X no son precisamente los mejores ejemplos

  • El drama de la comunidad es una tontería. Uso estas herramientas porque me encanta la filosofía del software. No me importan las creencias personales ni las inclinaciones políticas del autor

  • Después de evaluar varias terminales, regresé a un fork de st. Lo he usado durante años y es estable y no tiene errores

  • Esta filosofía no es perfecta, pero es el enfoque más cercano a crear software confiable. Mantener la complejidad bajo control es lo más difícil y lo más importante

  • surf es un navegador web simple basado en WebKit2/GTK+. Puede mostrar sitios web y seguir enlaces

  • dwm se personaliza editando el código fuente, así que no tiene sentido crear paquetes binarios. Su base de usuarios es pequeña y elitista

  • Es Suckless, pero quiero software asíncrono y para todo. Estoy buscando apps que funcionen de una manera en la que muchas apps cooperen siendo de un solo hilo

  • Está bien que existan. Aprecio lo que hacen. Pero prefiero software con un poco de incomodidad. La configuración de BSPWM está en un punto razonable, pero recompilar código C ya es demasiado