Posso até parecer pedante, mas não se fazem mais coisas como se faziam antigamente. Principalmente na parte de programação.
Vamos falar a verdade, um administrador de sistemas, atualmente, faz a mesma coisa que se fazia na década de 70, olhava para um computador com luzes piscando, e mudava alguns botões, de acordo com as luzes que piscavam, porém agora eles fazem isso com anotações.Agora, nem se fala com programação. Se tentou mudar, não programamos mais em Assembly, agora programamos em Java, um salto exponencial diria, porém, quem programa em Java, realmente sabe o que está acontecendo com o computador? Como o S.O. aloca memória cada vez que o programador usar new? Como programa faz para realmente chamar a função, o que é uma pilha no ponto de vista de registradores, todas essas perguntas, se você pegar um programador Java, será que ele sabe te responder da mesma forma como um programador em Assembly? Ou até mesmo C?
A bronca não é com o Java em si, mas com essa nova leva de programadores que aparecem por ai, que dizem saber “C/C++ avançado, Java avançado, PHP avançado”, quando se você perguntar como fazer uma lista ligada em C, ele irá te responder para utilizar a STL de C++. Ora, eu pedi em C ou C++? Sem contar, que honestamente, quem consegue saber C e C++ avançado, Java avançado, PHP avançado, e todo o resto, ao mesmo tempo, sendo que são linguagens completamente diferentes uma da outra? Será que ele sabe o que é um ponteiro para uma função, e qual a sua utilidade? Será que ele sabe que você pode colocar uma função dentro de uma struct?
Vamos esquecer um pouco os programadores agora, e pensar nos programas em si. Eu utilizo Linux desde 1994, sempre utilizei Slackware, demorei aproximadamente 6 meses para conseguir fazer o driver da minha antiga placa de vídeo funcionar corretamente no X, e quando consegui, meu Window Manager era o FVWM, utilizei por umas 2 semanas o OWM, passei pelo Blackbox, Fluxbox, KDE, Gnome, Window Maker, Enlightenment, FVWM-Crystal, TWM, MWM, etc. E no final, eu sempre voltava para o FVWM, e agora estou novamente no Enlightenment. Não vou mentir, utilizei durante um bom tempo o KDE, ainda mais depois que retirei o Gentoo de casa, e voltei para o Slackware, que já vem com o KDE belamente configurado e funcionando.
Enquanto utilizava o KDE, você acaba ficando “preso” a muitas das ferramentas do KDE, como por exemplo o Konsole, que é uma ótima interface para a shell, meio fresca e cheia de coisas inuteis, mas podemos dizer que é um ótimo substituto para o xterm, se você tiver bastante memória. Um belo dia, resolvi checar como estava o Enlightenment DR17, adorei, bonito, leve, minimalista, claramente usável, porém algumas coisas não foram com a minha necessidade, então voltei para o KDE. Já acostumado com o KDE, resolvi tentar o Enlightenment DR16 dessa vez, que usei durante anos a fio, e não fui decepcionado, melhorou muito, inclusive com suporte a composite, porém sem deixar o sistema lento, como o DR17 estava deixando (veja bem, não possuo uma ótima placa de vídeo, nem processador, nem RAM, e ainda gosto de utilizar 1600×1200 como resolução mínima). Resolvi então utilizar o E16, e estou utilizando até hoje, porém tive uma surpresa, fui carregar o Konsole, demorou muito para carregar, e simplesmente não funcionou. A transparência estava dando um problema, que ele não renderizava novamente o fundo, ou algo do tipo, resolvi retirar a transparência, e nada.
Pensei com os meus botões, ora, antigamente não utilizava o Konsole, não preciso utilizar ele, claramente deve ter algum que eu use, com transparência, que eu goste, e me lembrei do Eterm, baixei, compilei, utilizei, e achei muito bom, porém após utilizar um tempo, vi que ele tinha alguns problemas com o vim, jed e ncurses, resolvi tentar novamente, e epremendo um pouco a memória lembrei do aterm. Agora eu estava quase lá, o aterm é leve, suporta transparência, porém tinha um horrível problema com as teclas HOME e END, que consegui resolver obviamente, google está ai pra isso, porém, mesmo assim, sua configuração deixava a desejar, após tentar várias configurações diferentes, cheguei no meu ideal, e falei, é isso ai.
Os bugs com o jed retornaram no aterm também. Extremamente chateado, resolvi utilizar o rxvt, que sempre funcionou sem problemas, e também está funcionando sem problemas até agora, porém estava sem transparência, que convenhamos, é muito boa, foi ai que me toquei, eu tinha o composite habilitado como nativo no E16, botão direito na barra do rxvt, opacity, 80%, depois foi apenas colocar para lembrar sempre, e configurar a inicialização do rxvt com o tamanho e as propriedades que eu queria, ele suporta Xdefaults também, e funciona agora exatamente da forma que eu quero, e mais bonito até que um Konsole da vida.
Resumo da ópera, meu caminho com Linux foi basicamente:
- Terminal
- FVWM
- TWM
- Blackbox
- Fluxbox
- FVWM-Crystal
- E13
- E14
- Window Maker
- Gnome
- KDE
- E17
- KDE
- E17
- E16
Dentre isso, se formos ver pelos terminais no X:
- xterm
- rxvt
- aterm
- Eterm
- Konsole
- Eterm
- aterm
- rxvt
Em linguagem de programação:
- C
- C++
- Assembly
- Java
- PHP
- Perl
- Ruby
- C
Agora, se pegarmos essas listas, em breve vou estar utilizando novamente o Terminal, e fim de papo. Que é exatamente o que eu faço em todos os servidores que utilizo, que possuam Linux, OpenBSD, FreeBSD, ou qualquer UNIX like. Afinal, pra que raios eu vou querer ter uma interface bonitinha em uma Firewall?
Mas veja bem, o grande detalhe, é que eu não voltei a como eu utilizava antigamente, apenas por diversão, mas sim por que as coisas não davam tantos problemas, consumiam menos memória, e faziam exatamente o que deveriam fazer, e nada mais.
As pessoas relacionadas à informática deveriam parar e pensar um pouco sobre isso, especialmente os programadores novos, por que as coisas antigamente funcionavam melhor do que funcionam atualmente?