18 pontos por GN⁺ 2025-02-25 | 2 comentários | Compartilhar no WhatsApp

Filosofia (Philosophy)

  • Somos uma comunidade que desenvolve softwares de alta qualidade como dwm, dmenu, st, e temos Simplicity, Clarity, Frugality (Simplicidade, Clareza, Frugalidade) como valores centrais
  • Somos contra a realidade generalizada na indústria de TI de softwares desnecessariamente complexos, cheios de erros e lentos
  • Nossos projetos têm como objetivo ir contra essa tendência e permanecer simples, mínimos e fáceis de usar
  • Nossos projetos são voltados para usuários experientes de computador e profissionais
    • Acreditamos que a maior parte do software comercial e a maioria dos projetos open source são desenvolvidos para não especialistas e usuários em geral, fazendo com que usuários experientes sejam ignorados
    • Em contrapartida, acreditamos que o mercado de usuários experientes continua crescendo e que usuários avançados podem encontrar a solução ideal para seu próprio modo de trabalhar
  • Projetar software simples e elegante é muito mais difícil
    • No entanto, esse é um preço que precisa ser pago em nome da confiabilidade e da manutenção
    • Ao manter o minimalismo (minimalism), é possível ter objetivos racionais e alcançáveis
    • Nós nos esforçamos para preservar o minimalismo e a clareza

Manifesto (Manifest)

  • Muitos desenvolvedores confundem escrever código longo com uma conquista
    • No entanto, ter mais código não significa necessariamente melhorar a qualidade do software
    • Pode parecer que, quanto mais se avança, mais habilidade se ganha, mas isso é apenas uma ilusão
  • Muitos desenvolvedores não se preocupam com a qualidade do código e se satisfazem apenas com algo que funciona e parece resolver o problema
    • Se essa abordagem continuar, com o tempo restarão uma quantidade enorme de código, uma estrutura de código completamente arruinada e um design de sistema cheio de falhas
    • Isso acontece por falta de clareza conceitual e integridade no processo de desenvolvimento
  • A complexidade do código é a causa fundamental de softwares ineficientes e inconsistentes
    • Código complexo provoca queda de desempenho, desperdício de recursos e vulnerabilidades de segurança
    • A única solução é descartar o projeto inteiro e reescrevê-lo do zero
  • O problema é que reescritas de código de alta qualidade quase nunca acontecem
    • Muitos desenvolvedores se orgulham da quantidade de código e, por acreditarem erroneamente que compreenderam a complexidade, acham que não há necessidade de reescrever
    • Eles se consideram gênios e confundem software complexo com o objetivo ideal
  • Ideias brilhantes são simples. Software excelente também é simples
    • A simplicidade é o núcleo da filosofia Unix
    • Quanto maior o número de linhas de código removidas, maior foi o progresso; quanto menos código houver, mais habilidoso se torna o desenvolvedor e melhor fica o software

2 comentários

 
aer0700 2025-02-25

É um manifesto cheio de energia mesmo kkk, muito legal.

 
GN⁺ 2025-02-25
Comentários do Hacker News
  • O FAQ do Stali Linux da Suckless teve um grande impacto em mim. Eles construíram um espaço de usuário completamente ligado estaticamente para Linux

    • Antes, eu considerava natural a abordagem do Linux de "bibliotecas compartilhadas para tudo"
    • Ao criar pequenas ferramentas de CLI, eu fazia um pacote de distribuição ou configurava bibliotecas usando um tarball
    • Percebi que isso não é necessariamente preciso
    • Desde então, uso linkagem estática sempre que possível e, caso contrário, uso AppImages
    • Linkagem dinâmica também é necessária, mas acho que a distribuição de software não precisa ser complicada por padrão
  • Graças ao dwm e ao dmenu, minha área de trabalho quase não mudou por 10 anos. Adoro a estabilidade que o minimalismo traz

  • Não entendo a ideia de não usar declaração inicial no loop for. Acho estranho dizer que macros variádicas tudo bem, mas for(int i = 0...) é complexo demais

  • Posso aceitar o minimalismo, mas nem tudo é necessário

  • A filosofia de programação da Suckless é bela. Queria que todo software fosse escrito com essa filosofia. Mas o gerenciador de janelas e o X-menu não são os melhores exemplos

  • O drama da comunidade é uma bobagem. Uso essas ferramentas porque adoro a filosofia de software. Não me importo com as crenças pessoais ou inclinações políticas dos autores

  • Depois de avaliar vários terminais, voltei para um fork do st. Uso há anos, e é estável e sem bugs

  • Essa filosofia não é perfeita, mas é a abordagem mais próxima de criar software confiável. Conter a complexidade é a tarefa mais difícil e mais importante

  • surf é um navegador web simples baseado em WebKit2/GTK+. Ele consegue exibir sites e seguir links

  • O dwm é personalizado por meio da edição do código-fonte, então criar pacotes binários não faz sentido. A base de usuários é pequena e elitista

  • É Suckless, mas quero software assíncrono e para tudo. Estou procurando apps que funcionem de forma cooperativa com muitos aplicativos de thread única

  • É bom que eles existam. Sou grato pelo que fazem. Mas prefiro software com um pouco de inconveniência. A configuração do BSPWM é razoável, mas recompilar código C já é demais