Eu odeio quase todo software

Nota tradutor:

Recentemente, Rain Dahl, criador do NodeJS, abriu a conferência HolyJS em São Petersburgo. E lembrei que tinha uma tradução não publicada do blog dele e decidi publicá-la. Em alguns lugares, a tradução é bastante franca. Espero que você esteja interessado. A data de lançamento deste artigo é outubro de 2011. A data de lançamento do NodeJS é 27 de maio de 2009.

É desnecessário e complicado em quase todas as camadas. O melhor que posso fazer é parabenizar alguém pela solução rápida e fácil para o problema, dada a merda que eles fornecem. O único software que eu amo é que consigo entender facilmente e resolve meus problemas. A quantidade de dificuldade que concordo em suportar é proporcional ao tamanho do problema que precisa ser resolvido.

No último ano, acho que finalmente entendi os ideais do Unix: os descritores e processos de arquivos são orquestrados usando C. Essa é uma ótima idéia. Mas não é com isso que estamos lidando. Complexidade não estava implícita. Pelo contrário, eu tenho que lidar com DBus, / usr / lib, Boost, ioctls, SMF, sinais, variáveis ​​voláteis, herança de protótipo, _C99_FEATURES_, dpkg e autoconf.

Aqueles de nós que escrevem software sobre esses sistemas acrescentam complexidade. Agora você precisa saber não apenas $ LD_LIBRARY_PATH para fazer o sistema funcionar, mas também $ NODE_PATH - saiba, esse é o meu negócio, essa é a minha complexidade adicional! Usuários - aqueles que desejam ver uma página da web - não se importam. Eles não se importam com a forma como organizamos / usr, não se importam com o funcionamento dos processos zumbis, de qualquer maneira a adição de comandos no bash funciona, não importa como o zlib esteja vinculado estaticamente ou dinamicamente ao Node. Chegará um momento em que a complexidade acumulada de nossos sistemas existentes será maior que a complexidade de criar um novo. Quando esse momento chegar, toda essa merda vai para o lixo. Podemos liberar o boost, o glib e o autoconf para o banheiro e nunca pensar neles.

Aqueles de vocês que ainda gostam de aprender os detalhes de, digamos, uma linguagem de programação - por exemplo, aqueles que ficam felizes em saber se o NaN é nulo ou não - você nem entende como é foda. Se você acha que seria bom alinhar todos os caracteres iguais no seu código, se você gastar tempo configurando seu gerenciador de janelas ou editor, se inserir marcas de verificação unicode no corredor de teste, se adicionar hierarquias desnecessárias nas suas pastas de código, se fizer isso pelo menos algo além de resolver o problema - você não entende o quão entediante é. Ninguém se importa com o modelo de objeto simples.

Uma coisa que importa no desenvolvimento de software é como o usuário se sente (experiência do usuário).

Source: https://habr.com/ru/post/pt454214/


All Articles