Porque eu uso Vi(m) ou Uma Reflexão sobre Complexidade na Tecnologia

Já faz um tempo que eu troquei meu editor de escolha pelo vim. Enquanto eu estava dando uma procurada sobre outros editores de texto, eu li bastante sobre pessoas dizendo como vim melhorou sua produtividade, sobre como eles conseguiam se acostumar melhor com os atalhos e o incrível poder de customização do vim, permitindo que eles não precisassem sequer tocar no mouse etc. Essa não foi a razão pelo qual eu troquei.

Especificações

Lá estava eu, sentado na frente do meu antigo notebook, em um dia meio nublado e escuro de uma tarde de sábado. Eu tinha tomado a importante decisão de reviver o meu velho e empoeirado Lenovo G450 e com sucesso tinha instalado o Arch Linux (isso não é um endosso) nele. Instalei nele o Gnome e de uma forma muito bizarra, ele não funcionou muito bem. Também pudera, tinha apenas 2GB de RAM e usava um disco rígido ao invés de um SSD. Acabei trocando o ambiente dele pelo LXQT que conseguiu dar folego para que eu pudesse instalar os 5 softwares que eu uso mais: Sublime Text, Chrome, Spotify, Slack e um Terminal.

Bom, dado o cenário limitado eu me vi obrigado a ter que ir matando os problemas conforme eles apareciam. Veja bem, o Chrome, por si só, já possuí a fama de ser um navegador que devora a memória RAM do seu computador. Curiosamente, ele também é o navegador mais utilizado e o grande líder da infame “Guerra de Navegadores”. Infelizmente, no meu velho computador, ele sequer conseguia abrir o email da sua própria empresa, pois simplesmente a aba travava. Youtube então? Nem pensar. Acabei trocando pelo Firefox, que apesar da constante e bizarra necessidade de questionar meu email e me sugerir criar uma conta, me permitia navegar a web de forma considerada.

Spotify e Slack são por natureza lentos e pesados, pois veja, eles utilizam por baixo dos panos o Electron. O que significa que eles possuem um navegador inteiro, incluindo suporte a tecnologias como WebVR e controles de Xbox disfarçado de uma aplicação nativa bonita. Entenda o problema óbvio aqui, duas das mais simples aplicações que um computador dispõe, comunicação/chat e um reprodutor de música são um navegador inteiro maqueado de uma aplicação nativa lentas e pobremente otimizadas para o computador comum. Acabei trocando pelas páginas web delas, que apesar de não ser tão dissoante, ocupavam menos espaço em disco e tinham significamente uma performance melhorada.

E enfim, chegamos ao assunto desse artigo. Veja bem, o Sublime, apesar de ser um editor de texto consideravelmente leve, conseguia ainda de vez em quando congelar por alguns segundos. Claramente ainda performava 10x melhor que o navegador, mas tinha eventuais dificuldades. Entretanto, eu notava que o meu Terminal sequer tinha soluços para executar quaisquer tarefas designadas a ele. Pois bem, um belo dia enquanto eu configurava um servidor, me dei por conta que eu estava utilizando Vim e ele em nenhum momento sequer tinha problemas em ler os arquivos que eu editava. A constatação era óbvia e acabei passando o resto da semana experimentando ele no meu cotidiano.

Simplesmente acabei me apaixonando. Ele era simples e funcional. Cumpria a função essencial de um editor de texto: editar texto. Além disso, de quebra eu ganhava um corretor ortográfico, abas, rodar comandos de dentro do próprio editor, reconhecimento de sintaxe e linguagens. “Ah, mas isso tem em qualquer editor”. Pois bem, e para todas essas funções eles precisam gastar 200MB de memória RAM? 1. Além disso, instalando uma parcela de plugins recomendados ele ainda conseguia ser mais leve que Sublime. Era perfeito. Obviamente, a parte mais difícil e complexa foi acostumar com os atalhos de teclado, que diga-se de passagem, são feitos para serem fáceis mnemônicos que devem ser combinados para uma utilização mais efetiva. Dando um exemplo simples, d é um atalho para Delete (Deletar), combine com w que representa Word (palavra) e fica fácil de memorizar.

O que aprendi

Softwares estão cada vez mais complexos e não empáticos. Pois veja, esse tipo de software não estão sendo mais produzidos para que o cidadão comum possa utilizar. De tal sorte que considerando que a grande parte da população, em especial a população de países vulgarmente chamados de países de terceiro mundo, não tem acesso a computadores de ponta, existe uma limitação de quem pode utilizar esses softwares mesmo sendo softwares considerados “berços” da nova era de software como Spotify ou Slack. Estamos falando aqui, nada mais nada menos, do que a grande epifania de comunicação moderna2 que se auto-intitula “Uma forma melhor de se trabalhar”. O spotify é indiscutívelmente a maior plataforma de streaming de conteúdo audível (música e podcasts) 3. E que reinventam atividades que existem desde o nascimento de computadores pessoais e da internet, que é um reprodutor de música e uma ferramenta de chat online. Ferramentas tão antigas e simples, que se tornam tão complexas com o tempo e através de qual motivo? Qual a justificativa? Isso se alastra dentro do mundo de desenvolvimento de software também, com editores da moda como Atom e Code que conseguem realizar a tarefa de oferecer mais produtividade aos programadores em troca de performance e espaço em disco. Um editor tem a simples tarefa de que quando eu pressione uma letra no meu teclado, ele desenhe essa letra na tela e que eu possa salvar e abrir esse arquivo. Simples assim. O resto, se não atrapalhar ou definhar a performance é sempre bem vindo.

Proponho a seguinte reflexão: em qual momento decidimos entrar em um processo massivo de complexificar elementos/softwares básicos do cotidiano e em troca do quê? Emojis? Autocompletes? Interfaces mais bonitinhas? E acima de tudo, será que vale esse processo? Ele é acessível para a maior parte da população?


  1. https://medium.com/commitlog/why-i-still-use-vim-67afd76b4db6 ↩︎

  2. https://www.dailymail.co.uk/sciencetech/article-8158065/Slack-messaging-software-hits-record-number-active-users-employees-work-home.html ↩︎

  3. https://marketrealist.com/2019/12/us-music-streaming-apple-music-and-spotify-dominate/ ↩︎

Ficou com alguma dúvida ou viu alguma coisa que não curtiu em relação a esse post? Vamos discutir sobre, manda um email lá na minha caixa de entrada pública ~porcellis/public-inbox@lists.sr.ht