Olá, tudo beleza com você? Hoje, trago mais um artigo dessa vez até um pouco polêmico, ok? Bem, eu não vou falar sobre qual é melhor, Linux ou Windows. Até porque ao meu ver isso não faz sentido nenhum. Quem tem que escolher qual sistema operacional usar é você e talvez nada que eu falar aqui vai modificar isso.

O objetivo desse artigo é falar sobre isso mesmo, eu vejo muitas pessoas que falam que é melhor usar Linux ao invés de Windows para desenvolver, porém nenhuma delas falam as reais diferenças entre elas.

Então, vamos comparar algumas coisas que realmente fazem diferença para quem desenvolve na hora de escolher Linux ou Windows para programar:

Navegue pelo índice

    1) Terminal

    Um ponto que sempre ouvia falar que era um dos motivos para as pessoas escolherem Linux como sistema operacional preferencial era você poder escolher o terminal. Sei que temos muitas pessoas devs que passam o dia todo só utilizando o terminal e poder escolher um tipo específico de terminal é importante para o desempenho da pessoa dev.

    Mas em geral, ter qualquer terminal (de preferência não sendo o cmd) é mais do que suficiente para as pessoas desenvolvedoras. Tendo em vista que muitas delas ainda preferem interfaces gráficas. Como tortoise svn (na época que usávamos SVN), gitkraken e por que não falar na maravilha que era desenvolver “vendo a tela” no Dreamweaver ou Visual Studio e no Borland Delphi.

    Brincadeiras a parte, há um bom tempo eu tenho utilizado o Git Bash como terminal no meu Windows, realmente o uso há muitos anos e não reclamo do que ele me proporciona. Lembro também de pessoas que utilizam cygwin e até mesmo o power shell (que eu particularmente também acho um ótimo terminal).

    De todo modo para quem quer ter EXATAMENTE as mesmas opções de uma distro Linux em seu Windows você poderá utilizar o WSL2 (Windows Subsystem for Linux), que nada mais é que você disponibilizar um ambiente Linux dentro do seu sistema operacional Windows.

    Com isso você terá exatamente os mesmos terminais disponíveis para o Ubuntu, por exemplo, dentro do seu Windows. Bem como você pode utilizar apenas desse sistema Linux dentro do Windows para você desenvolver.

    Vale lembrar que antigamente podíamos também ter sistemas Linux “dentro” do Windows utilizando simuladores de máquinas virtuais como: VirtualBox, Vagrant, entre outros.

    2) Custos de licença software

    Eu sinceramente acho que hoje essa é a principal diferença entre os dois sistemas operacionais. É possível desenvolver para Linux sem gastar nenhum centavo com softwares. Utilizando Windows você deverá pagar pelo menos pela licença do sistema operacional, porém, é muito comum gastarmos dinheiro comprando outras licenças. A maioria das distros linux são gratuitas. Bem como basicamente toda a stack básica para o dia a dia de uma pessoa que utiliza um sistema operacional.

    Um argumento muito utilizado por usuários de Windows é a qualidade de softwares feitos para o sistema. Obviamente que não é possível jogar um LOLzinho nativamente no Linux. Porém, temos alternativas free para grandes softwares do mercado como: GIMP, kdenlive, Libreoffice, OpenOffice, entre outros (hoje em dia todos esses softwares também podem ser usados por quem utiliza Windows) que são gratuitos e bons. (Bem, mas às vezes é muito melhor usar realmente aqueles que a gente sabe que são líderes de mercado).

    3) Stack de desenvolvimento

    Agora quando falamos de stack de desenvolvimento mesmo. Muitas pessoas falavam que era difícil simular um ambiente de produção Linux em Windows. Até pouco tempo atrás (sei lá uns 10 anos) podia ser verdade. Hoje, com a utilização em massivo de conteinerização (Linux Containers, Docker, Kubernetes, etc) juntamente com o WSL2 (que falamos anteriormente) é possível simular qualquer ambiente Linux dentro do Windows.

    Em questões de linguagens de programação. Existem algumas que só rodam ou buildam para Windows. E as que só buildam ou rodam em Linux, você pode utilizar o WSL2 para rodar ou buildar.

    Por exemplo, até um tempo atrás a linguagem C#, bem como o framework .NET como um todo, só rodava em sistemas Windows, mas agora já roda no Linux sem nenhum problema.

    Existem algumas linguagens e ferramentas que você deve pagar a licença. Daí nesse caso não tem para onde fugir em questão de custos de software e esse valor é independente de sistema operacional. Porém, a maioria das linguagens (principalmente para web) são isentas de pagamento de licença.

    Sobre IDEs e outros editores de código existem ótimas opções gratuitas como: VSCode, Netbeans, Eclipse, embora nos últimos anos eu tenha preferido utilizar ferramentas pagas da JetBrains para desenvolver. A grande maioria dos editores funcionam em qualquer sistema operacional.

    linux ou windows

    4) Custo de manutenção de servidores

    Se pensarmos em servidores, aí o negócio fica mais complexo. Sem sombra de dúvidas manter servidores Linux é muito mais barato em todos os sentidos de ter servidores Windows. As licenças necessárias e o custo de hardware de se manter servidores Windows é muito maior. Ponto para o Linux. Você pode ver essa diferença nos servidores VPS da Locaweb, por exemplo.

    Mas, nada impede que você tenha seus servidores de produção em Linux e os acesse utilizando um terminal no Windows. Que é exatamente o que eu faço, por exemplo. Meus servidores são Linux e eu os acesso usando SSH no meu terminal Windows

    Então nesse caso é mais um ponto pro Linux.

    5) Automação

    Quando falamos de automação em geral, principalmente de ferramentas de DevOps. O Linux ganha disparado aqui. As ferramentas para esse tipo de atuação performam melhor em Linux, muitas das vezes foram feitas para serem utilizados em Linux. Embora possam também ser utilizadas sobre o WSL2, existe uma camada a mais o que pode influenciar a performance das ferramentas.

    Não estou dizendo que não tenham ferramentas similares ou que performem melhor em Windows. Eu estou dizendo a maioria. Afinal, Docker foi feito baseado em Linux, Kubernetes, Ansible, até mesmo o crontab que dá de 10 a 0 no agendador de tarefas.

    6) Jogos

    Bem, aqui nem vou falar muita coisa, até porque não tem muito a ver diretamente com todo tipo de desenvolvimento. Mas sim, é um tópico que temos que falar aqui e com toda certeza nesse caso o Windows ganha.

    Além de termos muitas engines para desenvolvimento de jogos que só funcionam em Windows, muitos jogos grandes também só rodam nesse sistema operacional. Sendo assim é algo que eu por exemplo levo em conta, já que jogo em bastante parte do meu tempo.

    Um grande ponto pro Windows aqui.

    Afinal, qual é melhor? Linux ou Windows?

    Sinceramente? Eu acho que você deve escolher o sistema operacional que mais lhe agrada. Hoje em dia, e também nesse artigo. Vimos que muitas das funcionalidades que antes estavam mais presentes no Linux podem ser simuladas ou utilizadas integralmente no sistema operacional Windows.

    As questões que mais complicam são o custo de licença mesmo, já que você realmente tem que comprar a licença do Windows para poder utilizar e manter sistemas em servidores Windows é mais caro. Mas se você for só utilizar, você compra a licença uma vez e utiliza “pra sempre”.

    Eu particularmente uso Windows há bastante tempo, muitas pessoas brincavam comigo por causa disso. Mas eu gosto muito de jogar mesmo, além disso parte do meu trabalho hoje é streamar. As ferramentas para fazer lives em windows são muito melhores que as do Linux. E como falei antes, meus servidores de produção são todos Linux e eu acesso por SSH. Como disse acima.

    Mas no fundo? A escolha é de gosto. Conheço muitas pessoas que não trocam o Linux por nada e elas têm argumentos sensacionais para essa escolha. Tem também aquelas pessoas que adoram trocar de distro toda semana e isso não é possível para quem usa Windows, por exemplo.

    Independente do sistema operacional que você utiliza, Linux ou Windows. Seja uma boa pessoa. Respeite as escolhas das outras pessoas. Seja por sistema operacional, tipo de desenvolvimento: web, mobile, desktop, etc. Seja pela linguagem: Ruby, PHP, Python, Java, etc. Seja se a pessoa é desenvolvedora, tester, cientista de dados, tech lead, ou qualquer outra coisa. Precisamos de mais inclusão em nossa área e não de mais tretas desnecessárias.

    Um grande abraço para você do Pokemaobr.

    Até a próxima!

    O Servidor VPS Locaweb tem o melhor custo-benefício para Linux!

    CONFIRA
    O autor

    Rodrigo Cardoso (Pokemaobr)

    Conhecido como Poke, é Streamer (Live "Coder") na Twitch, Web Developer e apresentador do talk show "The Velopers". Com bacharelado em Matemática e MBA em SOA, Poke atua como desenvolvedor e organizador de eventos de TI. É evangelista PHPSP e criador do PokePHP, focando em disseminar conteúdos técnicos e humor para a comunidade de desenvolvedores. Nas horas vagas, ele adora se conectar com a comunidade e compartilhar seu conhecimento de maneira divertida e informativa.

    Veja outros conteúdos desse autor