Sobre Windows, Linux, paixões e times de futebol

Discussões sobre o melhor sistema operacional, o melhor navegador ou a melhor linguagem de programação tendem a entrar em loop infinito. Cada um dos lados parece achar o outro um completo idiota por não se convencer de suas opiniões.

Semana passada troquei algumas mensagens com o René de Paula que me fizeram pensar bastante sobre o assunto. O René provavelmente não me conhece, mas eu tenho aprendido muito com ele nos últimos anos, principalmente em seu podcast, o Roda e Avisa. E esse post não é um desabafo “estou chateadinho”. Estou citando o nome do René porque a conversa se deu no Twitter, ou seja, em público, e realmente me fez pensar.

O René recomendou esse artigo da ZDNet, analisando um estudo de segurança dos navegadores web. O artigo começa apresentando os resultados do estudo, em que o Internet Explorer ganha de lavada, e segue explicando porque, na opinião do autor, o estudo patrocinado pela Microsoft é tendencioso e irrelevante.

Respondi ao René dizendo que concordava com o artigo que ele havia indicado, que realmente o estudo era tendencioso. E usei a frase “o rei está nu.” Para mim, a crônica da roupa nova do rei é uma excelente metáfora para a situação. Ele me respondeu que havia visto meu blog e que achava que havia um “viés oculto” em tudo o que eu dizia. Em seguida twittou sobre o fato de as pessoas tratarem essas discussões como se fossem sobre times de futebol. Isso me fez pensar um bocado.

Eu gosto de, numa discussão, ouvir o outro lado. Também gosto muito de lógica. Se tem uma coisa que eu vou defender numa discussão, mais do que meu time de futebol, é o bom uso da lógica. Tento nunca ser irrazoável. Sei que todos somos tendenciosos, mas sempre tento ser mais imparcial que a média.

Talvez seja o fato de a discussão ter acontecido no Twitter, meio pouco propício, mas confesso que fiquei muito preocupado com a impressão que o René teve. Quem me conhece, sabe, trabalho com Linux, Windows ou Mac, sem rabo preso, escolhendo sempre o jeito mais simples de resolver cada problema.

Cada cabeça, uma sentença

Em primeiro lugar, não há um sistema operacional “melhor” e outro “pior”. Há um “melhor para você”. O fato de aquele seu amigo usuário de Windows não ter enxergado ainda que o Linux é o melhor sistema operacional do mundo talvez seja porque, para o perfil de uso dele, o Windows seja realmente o melhor sistema operacional.

Dificilmente eu tento convencer alguém a usar exclusivamente Linux. Sempre tento convencer as pessoas a experimentar. Se o sujeito me diz que é um heavy gamer, por exemplo, recomendo o uso de Windows. Sei, o Wine está muito evoluído e tal, mas se ele tem dinheiro para pagar as licenças e pode rodar a versão mais nova de cada jogo no ambiente em que ele foi feito para rodar, por que complicar?

Sim, não me esqueci, para certos perfis de uso, Mac OS X também é um sistema fantástico. Estou quase comprando um para minha mulher.

Existem, porém, padrões absolutos

O fato de não existir uma solução “bala de prata” e a paixão que costuma cercar essas discussões têm levado muita gente, principalmente programadores, a uma posição morna tão irrazoável quanto os extremos. É comum ouvir frases como “a melhor linguagem é aquele com a qual você sabe trabalhar” ou “a melhor ferramenta é a que resolve seu problema.”

Acredito sim que há casos de uso os mais variados. Mas, dentro de determinado caso de uso, há métricas objetivas que você pode usar para dizer o que é melhor. Falando em linguagem de programação, por exemplo, a melhor não é aquela que faz você se “sentir bem”. A não ser que programar para você seja só um hobby, a melhor é aquela que vai te permitir resolver mais rápido o problema do cliente, com a qualidade e a performance necessárias.

Dado um determinado problema do cliente, e uma determinada métrica de performance, deve ser possível apontar a melhor linguagem para essa situação.

Que problema seu software se propõe a resolver?

Se você é desenvolvedor de software, é importante entender isso. Você dificilmente vai encontrar uma oportunidade de desenvolver um produto que é o melhor para todo mundo. Não há unanimidades.

Você pode desenvolver algo que é o melhor para a maioria, pode achar uma minoria endinheirada, ou pode desenvolver algo legal para você mesmo e torcer para que haja gente parecido com você lá fora.

Mas, se você tentar ouvir todas as sugestões que receber e superar os concorrentes em absolutamente todos os perfis de uso, nunca vai terminar de desenvolver.

Mente aberta

Na Visie hoje temos 7 máquinas Windows, 6 Linux e 3 Macs. Sem contar as VMs, o ambiente de testes, e os servidores onde estão hospedadas as aplicações. Desenvolvedor, abra sua mente. Aprenda uma linguagem de programação nova, experimente outro sistema operacional, teste outra solução. Você vai aprender muito.

Aprenda Python, Ruby, Haskell ou Scala. Isso vai tornar você um melhor programador PHP, Java ou .Net. Desenvolva um projeto com uma banco de dados não relacional (estou usando MongoDB em um projeto.) Se você ama WordPress, faça alguma coisa com Joomla, e vice-versa. Tente outro framework, outro editor, outro jeito.

Sobre navegadores

No dia seguinte a essa conversa estive no escritório do W3C Brasil, assistindo ao Café com Browser com o pessoal do Internet Explorer.

Eles passaram boa parte do tempo falando sobre os recursos do navegador para o usuário final. Coisas como abas (oh!) e favoritos mais legais, webclips, processos independentes em cada aba, melhorias de performance e segurança. Tudo muito interessante mas, eu acho, apresentado para o público errado. Estávamos dentro do W3C, afinal de contas. Queríamos saber sobre as melhorias para o desenvolvedor.

Ao final, a palestra sobre melhorias para o desenvolvedor foi, para mim, parte surpreendente, parte decepcionante. Me surpreendi principalmente pela reação dos desenvolvedores no Twitter. Muita gente não conhecia as developer tools do IE8, ou os modos de compatibilidade, por exemplo. Quando foi apresentado o querySelector, muita gente twittou revoltada, porque a Microsoft estava “inventando um novo jeito proprietário de fazer as coisas”. Gente, o querySelector é uma recomendação do W3C (está em Working Draft, mas está lá.)

A parte decepcionante, expressei em minha pergunta:

Em suma, não tenho ódio da Microsoft ou de quem quer que seja. Não quero que o Internet Explorer suma do mapa. Ainda tenho projetos em ASP, VB e .Net, e sou feliz com isso. Só quero poder desenvolver uma vez só minhas aplicações. Quero não ter que cobrar do cliente pelo custo de fazê-la funcionar no Internet Explorer. Quero entregar mais rápido aplicações melhores, mais estáveis, com menos código.

Publicado por

Elcio

Elcio é sócio fundador da Visie Padrões Web. Pioneiro no uso e divulgação dos padrões do W3C no Brasil, Elcio já treinou equipes de dezenas de empresas como Globo.com, Terra, Petrobras, iG e Locaweb. Além disso, tem dirigido as equipes da Visie no desenvolvimento de projetos web para marcas como Brastemp, Itaú Unibanco, Johnson & Johnson e Rede Globo.

26 comentários em “Sobre Windows, Linux, paixões e times de futebol”

  1. ola elcio.
    sou estudante de web developer, tenho um conhecimento minimo, se é que minimo é a palavra sobre desenvolvimento web. porem sou muito dedicado, trabalho a 13 anos como metalurgico, tive poucas oportunidades de estudo antes, mas no momomento estou conseguindo, apesar de ter familia e trabalhar muito.
    bom eu queria dizer o seguinte, assim que tive meu primeiro pc, passei a pesquisar sobre o assunto,e decidi que minha profissao estaria ligada a isto, os anos se passaram e agora estou buscando as qualificaçoes necessaria na area de web.
    comecei usndo o win xp, muito facil a operaçao para usuario final, entao resolvi ver o linux, muito complicado para usuario final, voltei para o xp e descobri a verdade(minha verdade): o win e seus aplicativos sao feitos para musculos, assim com marretas, pas tijolos. ferros , maquinas de solda; o linux para o cerebro como musica, pintura, escultura, leitura, sorriso.
    porem quando decedi nao voltar masi para o win, veio o problema: como estudar desenvolvimento web em linux? se so existe cursos para programas win? entao a soluçao, fazer no curso em win e aplicar no linux. a principio estou evoluindo; contudo estou com dificuldade na utilizaçao dos programas.
    vi sua pergunta realizada para o apresentador(acho?) do ie8, e veio uma luz, espero que voce nao a apague: sgv que voce fala, sao os arquivos feitos no inkscape? existe algum livro que fale sobre desenvolvimeto web em linux?
    qual o conselho voce daria para uma pessoa que tem interesse nesta area?
    ps: no momento faço tec. web developer e tec. informatica linux.
    desde ja agradeço se puder me respomder.

  2. O Elcio levantou uma questão muito importante, o caso do Firefox!

    Com esse lance de nome, os caras do Debian pegaram o código do Firefox e chamaram de Iceweasel(http://pt.wikipedia.org/wiki/Iceweasel), mas ele não deixa de ser o Firefox por causa disso.

    Acho que o merito do Stallman não deve ser tirado, mas ficar se preocupando em chamar de GNU/Linux ou Linux, não vai mudar nada.

    Feliz ou Infelizmente nós que somos da área de informática não seremos ovacionados pelos usuário por nossos programas, salvo algumas excessões!

    Quem é da nossa área sabe muito bem quem faz ou deixa de fazer alguma coisa, mas para os usuários tanto faz se ele fez o sistema ou roubou de alguem, o que eles querem é que o sistema funcione e ponto, ou seja, o nosso trabalho é não ser notados, pois quando as pessoas(usuários) não percebem que há tecnologia envolvida no processo, isso quer dizer que tudo esta correndo bem!

  3. Nao vejo a minima diferença em chamar linux ou gnu/linux!
    Pq no final de tudo vou estar dizendo a mesmo coisa!
    Agora quando estivermos discultido algo mais profundo até
    vale apenas resaltar (GNU/linux) do contrario nao vejo necessidade! =D

  4. Inclusive, o próprio Stallman recomenda que você pronuncie “guinú sléchi linux”, ou, em português, “guinú barra linux”, para evitar parecer que o Linux é um pacote Gnu. Ridículo.

    Enquanto isso, Linus Torvalds e Eric S. Raymond estão do meu lado. Não insistindo que tenha que se chamar “Linux”, apenas que não tem importância. Veja o comentário do Raymond no último parágrafo:

    http://www.catb.org/jargon/html/L/Linux.html

  5. Ah, mas esse texto é do Stallman! Ele é um cara legal, mas vive em outro planeta. Fica magoadinho quando as pessoas chamam o sistema de “Linux”.

    Posso criar um fork de um projeto Open Source e dar outro nome a ele? Posso pegar o código do Firefox, modificar ou adicionar componentes, empacotar e chamar de “Fire’n-da-hole”? Ou vou precisar chamá-lo de “Firefox/Fire’n-da-hole”?

    Porque o Joomla não se chama Mambo/Joomla?

    Pra mim, o que o Linus fez foi pegar o sistema Gnu e construir um kernel para ele, criando um novo sistema, o Linux. E o Stallman, vendo a visibilidade que o Linux ganhou, inventou esse papo de “GNU/Linux”.

  6. Elcio, a conversa está ficando interresante =)

    Sim o Linux é o Kernel, Quem definiu? Você mesmo não disse que gosta muito de Lógica? Então se o Linux é o Kernel sem o GNU você só terá o núcleo do sistema, o que da pra fazer com o núcleo? As funções normalmente atribuídas ao kernel são:

    1. Criação, agendamento e finalização de processos;
    2. Alocação e liberação de memória;
    3. Controle do sistema de arquivos;
    4. Operações de entrada e saída com dispositivos periféricos (discos, interface serial — mouse, p.ex., interface paralela — impressoras), acesso à memória, entre outros.

    Ou seja não faz mais nada além de reconhecer e carregar drivers de placas!

    Vejamos:
    Quando falamos Linux estamos nos referindo ao Kernel Linux, quando chamamos de GNU/Linux estamos falando de uma Distribuição.

    Caso queira entender visite esse site http://www.gnu.org/gnu/linux-and-gnu.html

  7. Sim, entendi a regra. Mas quem a definiu?

    Eu já acho que Linux é o nome do Kernel, e eu estou usando Linux. Se tem aplicativos GNU em cima ou não, não me interessa 😉

  8. Tudo bem Elcio, mas é bem legal discutimos isso =) (Pelo menos eu gosto)

    Então… O Ubuntu já é uma Distro GNU/Linux. Vamos entendendo melhor, o que é uma Distro? Uma Distro são vários aplicativos do GNU + uma versão do Kernel Linux, empacotando tudo isso temos uma Distro, batizamos com um nome por exemplo Ubuntu =)

  9. Então, quem decide quando o nome deve conter os créditos e referências e quando não precisa? Porque GNU/Linux, GNU/FreeBSD e não GNU/Ubuntu?

    (Sei que essa discussão não tem a menor importância, mas é interessante assim mesmo 😉 )

  10. Sim eu sempre falo “Guinu/Linux” =)

    E sim também chamo de Microsoft Windows… Ué se o BSD estiver usando nos seus repositórios pacotes do GNU também vou chamar de GNU/FreeBSD…

    Em relação ao nome do Ubuntu também não precisamos exagerar só Ubuntu basta, caso a pessoa não saiba o que é Ubuntu ai eu digo que é uma Distro GNU/Linux =)

  11. Alexandre, você realmente fala “Gê-êne-ú Linux” quando está conversando? E o Windows, você sempre chama de “Microsoft Windows”? E os diversos BSDs rodando aplicações GNU sobre eles? Você os chama de GNU/FreeBSD, GNU/OpenBSD, GNU/NetBSD e etc.?

    Se a questão é dar o crédito, quando eu disser o nome de meu sistema operacional, vou ter que dizer que uso “Ubuntu Debian Gnome GNU/Linux”?

  12. Bom… Não quero ser chato mas já sendo, o nome correto é GNU/Linux “Vamos dar crédito a quem merece crédito” Linux é o Kernel 😉

    Em relação ao melhor S.O dependerá do que você irá fazer com seu sistema, Por exemplo:
    Um usuário que só usa o micro para Orkut, MSN, YouTube, Pesquisas do Google, Editar testos para escola ou trabalho… Eu sempre recomendo o Ubuntu, por ser bem fácil. Por quê? Oras, esse usuário não terá problemas com vírus e outros tipos de Malwares, logo não precisara deixar seu sistema pesado por causa dos Antivírus, Antispyware, Antitrojan, Anti-Isso e Anti-Aquilo… E também porque vai economizar bastante O Ubuntu é de graça =) Sem falar da quantidade de aplicativos já com ele!
    Agora, para usuários mais “experientes” recomendaria outra Distribuição GNU/Linux como Debian(Pai do Ubuntu), um ótimo sistema para Servidores e para Desktops. Esse sistema nem mesmo o Pidgin(Software Multi-Protocolo) vem instalado nele, porque ele lhe permite instalar o que você quer por isso vem quase sem nada. Já o Ubuntu vem com muita coisa que para alguns não é necessário =\
    E para aqueles super experientes que “manjam” mesmo do assunto e são apaixonados ou querem aprender como tudo funciona no GNU/Linux recomendo o Slackware por ser o mais perto do UNIX… Essa Distro não faz nada por você, ou seja, tudo é feito manualmente, Mas isso não é Ruim? Não, para aprendizado é bem legal, porque você estará vendo como tudo funciona de verdade, ao contrario dos sistemas proprietários que esconde tudo que acontece do usuário =\ No que desrespeita uma das liberdades do Software Livre que é a liberdade de poder estudar o software…
    Existi uma Distro GNU/Linux para cada Tipo(perfil, nível) de usuário, e para cada situação, por isso não vejo necessidade de usar um outro S.O proprietário para executar minhas tarefas. Sempre acho uma Distro GNU/Linux que faz exatamente o que procuro =) E se não tiver? Difícil, sempre tem uma, as vezes não gostamos de algumas coisas como “menus, opções, e tals” mas nada que não possamos mudar ou corrigir, afinal se trata de um software Livre 😉
    A questão do navegador não tenho nem o que comentar só pelo fato da MS não seguir as normas do W3C já um grande motivo para não usar esse browser =\

  13. ótimo post, parabéns Elcio

    Na minha opinião a microsoft quer chamar atenção por que sempre foi o foco dela chamar a atenção assim como foi lançado o HTML5 e eles falam que investem em tecnologia poooooo por quer não existe ainda suporte, se eles se dizem os maiores por que não tem um sistema de update fácil.

    Olha o firefox, a atualização dele é automática e vamos mais recente chrome equanto o ie tem mais de 10 anos e tem problemas constantes o chrome já esta ganhando seguidores.

    Creio que isso vai demorar a mudar por que eles gostam de saber que nós desenvolvedores ainda dependemos deles por que eles acharem que tem o PODER(usuário).

  14. uhsauhsuahuhs, nossa é muita coragem!!!
    Mas eu sei.. a MS vai ganhar, afinal, o que vai mais? os usuários ou os desenvolvedores? husahushua desculpa, mas eu morro de rir destes meninos ai da Microsoft.

  15. Foram despreparados para palestra. Não acho que tenham pesquisado sobre seu público alvo nem o que dizemos sobre o IE6.
    Gostaria que tivessem aproveitado o espaço para levar respostas e não só ouvir reclamações para ouvi-las bastava pesquisar no google.

  16. Bahh, Élcio, essa questão específica da Microsoft olhar para os desenvolvedores ainda é muito nebulosa.
    As apresentações feitas do IE8 são para “usuário ver”, quem é desenvolvedor sabe que a vida continuará difícil… estava, por acaso, vendo ontem a especificação do XMLHttpRequest 2, em especial na parte de CORS (para as requisições javascript cross-domain) e me deparo com um porém, que o IE8 não implementa (ainda) o XMLHttpRequest mas dá um outro objeto, XDomainRequest; ou seja, temos que ficar fazendo, novamente, ifs, para saber qual objeto instanciar para poder usar apropriadamente.

    Sobre o começo do post, nada a acrescentar!

    []s!

  17. É só seguir as recomendações da W3C, e navegar um pouco na internet pra saber quais são os padrões de desenvolvimento que estão usando por ai. Se a MS fizer isso como todo mundo e que tudo fica bem, contente e feliz. Mas por que isso é difícil pra Microsoft?

  18. Em relação aos sistemas operacionais, eu no geral racionalizo que de principio você deva rodar aquilo que você pode pagar, eu tenho como ideial essa luta contra pirataria, foi isso que abrir os olhos de muitas empresas/pessoas para o mundo openSource, mudando um pouco até filosofia de elas serem!

    Minha mãe tem usado linux e tem até trabalhado com gimp, tão bem quanto ela mechia no photoshop, e já falo, ela não sabe nada de computadores… minha ex esposa, também, começou com linux e está até hoje, talves na primeira oportunidade ela volte para o windows, já que não dou suporte, mas nunca ouvi muitas reclamações, com windows era pior…

    Porém concorda que que há questões onde o windows é inevitável, casos como heavy gamers (eu sou), porém tenho jogados jogos no videoGame ou para linux, existem muitos mmorpgs e dentre outros que rodam linux/mac/windows.

    Há, claro que meu virtualbox está sempre com sistemas novos, coisas novas! Experimentar é a palavra!

    abraços

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *