Quais as vantagens e desvantagens de programar utilizando Linux?

no meu caso, C, desenvolvimento web e java

É como programar em qualquer outro sistema, não existem vantagens ou desvantagens em nada, ter um gerenciador de pacotes ajuda bastante em conseguir libs, mas fora isso, nada.
Ainda mais Web e Java que rodam um no navegador e outro numa VM.
C foi criada pra escrever o Unix, então ela tem um integração legal e lib POSIX junto da interface Linux tem muita coisa interessante, mas se vc usar elas seu programa não vai poder ser rodado em outros sistemas, então né.

5 curtidas

Contando a minha experiência, é muito mais fácil preparar o ambiente de desenvolvimento no Linux.

Na empresa que trabalho utilizávamos o Windows para tudo, e era muito trabalhoso deixar todos os computadores com o ambiente igual, tínhamos que fazer tudo na mão computador por computador.

Quando migrei para o Linux vi o quanto era fácil fazer um script para deixar todos os computadores com o ambiente igual, aos poucos fui convencendo o pessoal da empresa mostrando as facilidades, e hoje a equipe de desenvolvimento java web está toda em Linux.

O mais legal é que com uma linha no terminal deixamos todos os computadores com o ambiente exatamente igual, e se um dia precisar alterar algo nos ambientes é só mudar o script e pedir para o pessoal rodar novamente

Como você trabalha com java web, se tiver interesse tenho o script no GitHub, ta documentado tudo o que vai instalar e como executar o script.

Abraços.

4 curtidas

Para quem desenvolve backend, a grande vantagem é ter o mesmo ambiente do servidor também no computador de desenvolvimento. Isso faz muita diferença para quem trabalha com alguns tipos de containers, por exemplo.

O próprio conceito de DevOps torna a utilização do Linux muito mais interessante, uma vez que você passa naturalmente a trabalhar com as mesmas ferramentas, seja no computador de desenvolvimento ou no terminal do servidor. Ao mesmo tempo em que desenvolve, você já está em contato com ferramentas que utilizará no deploy e manutenção da aplicação e do sistema operacional do servidor.

Por exemplo, para desenvolvimento web, você pode instalar tudo no Windows, Linux e Mac. Entretanto, quem trabalha no Linux pode usar os mesmos binários que estão no servidor, minimizando a chance de eventuais erros de compatibilidade que só apareceriam na hora do deploy.

4 curtidas

muuito obrigado, amigo!

2 curtidas

Ótimas respostas, ajudaram bastante, galera.

1 curtida

Depende da linguagem na verdade, eu desenvolvia em C# no Windows, era tudo muito lindo. Comecei a me interessar em Java por motivos profissionais, era muito estressante rodar a aplicação, simular servidor local, fazer download das dependências do projeto, entre outros. Por isso mudei para o Linux, no entanto desenvolver em C# em Unix é dor de cabeça.

Talvez seja mais pelo processo de adaptação ao Linux do que pelo rotina que deseja executar em si.
Eu comecei a experimentar Linux com o Conectiva, Ubuntu 4.10, Sabayon, Solaris… Mas não vingou no começo e continuei no Windows.
Depois, quando comecei a entregar projetos em PHP, feitos no Janelas, ao subir para o servidor nada funcionava, percebi que tinha que desenvolver no mesmo ambiente que estariam em produção. Com o tempo estar no Linux se tornou essencial para minha rotina.
Varia bastante a necessidade de acordo com o seu cenário de trabalho e implantação… De toda forma, bem vindo ao Linux!

1 curtida

Acredito que a maior vantagem seja simplesmente poder instalar a maioria das ferramentas facilmente pelos repositórios (um dos motivos pela qual a Microsoft adicionar o bash do Ubuntu no Windows) além do kernel Linux ter melhor desempenho com muitas linguagens de programação como o Perl, PHP e Ruby, programar aplicativos para Android também é muito mais intuitivo no Linux, por que a maioria dos dispositivos Android pode ser reconhecido facilmente sem instalação de drivers adicionais.