Executando verificação de segurança...
9

[ Dúvida ] Linux ou Windows para programar (no sentido corporativo)

Introdução

Não é de hoje que temos ouvido de várias pessoas que Linux é superior ao Windows e vice-versa. Eu particularmente não ligo para isso. Linux ao meu ver é mais leve e perfeito para trabalhar, mas com o windows para mim que gosta de jogar, é muito melhor por questões de compatibilidade, porém, é muito mais pesado. O ponto é enfatizar que eu não quero abrir uma discussão sobre qual é o melhor, afinal ambos tem suas respectivas tarefas. O ponto é em específico sobre o sistema operacional usada nas empresas.

Dúvida:

A minha dúvida: Eu realmente sou obrigado a usar Linux para programar em uma empresa? Bom, eu particularmente faço tudo no Windows e sempre fiz tudo desde os meus 7 anos, lá na época do Windows vista pro windows 7 (pelo o que eu me lembro), e hoje programo também no windows e me sinto muito confortável trabalhando nele. Mas, e quando chegar na empresa? Se hoje eu fosse numa empresa, eu não conseguiria utilizar nada pois meus conhecimentos de Linux são básicos demais.

Eu não me importo em aprender como funciona, para que serve e etc... Mas trabalhar e usar mesmo, só me sinto seguro no Windows pelo o costume. Eu poderia tentar instalar o Linux, mas como eu não tenho um HD extra pra isso, não rola (e eu não posso simplesmente migrar tudo pra Linux)

Por isso a minha dúvida sobre o sistema operacional utilizado nas empresas. Se tem um padrão, ou se depende da empresa. Algumas vagas deixam explícito a experiência com Linux, outras não...

O que você me dizem? É interessante criar uma maquina virtual com linux só para aprender de fato ou é dboa? Eu ainda estou relutando pois tenho apenas 8GB de Ram para virtualizar uma maquina, não sei se é o suficiente para ter uma experiência decente.

9

Em primeiro lugar, se é "obrigatório" usar Linux para programar em uma empresa, depende muito do tipo de trabalho que você estará fazendo, da tecnologia que a empresa utiliza, e da infraestrutura de TI deles. Mas, vamos mergulhar nesse tema, considerando nossa discussão anterior sobre Unix, Linux, e como eles se encaixam no mundo do desenvolvimento profissional.

No mundo corporativo, você encontrará uma grande variedade de sistemas operacionais, não apenas Windows e o Linux, mas também outras variantes Unix como Solaris e BSD. Muitas infraestruturas críticas, bancos de dados de alto desempenho e sistemas de armazenamento em nuvem operam nesses ambientes.

E por que, perguntas tu, deverias embarcar nessa jornada rumo ao desconhecido território do Linux? Porque, jovem Padawan, a web é construída e mantida sobre servidores Linux. Entender como o Linux funciona, como ele gerencia processos, memória, arquivos e rede é fundamental para verdadeiramente entender como esses aplicativos funcionam. Considere o Node.js, essa peça fundamental da engrenagem web, mesmo para aqueles que desenvolvem exclusivamente para o navegador, até a Microsoft, abraça o Linux (WSL2) como a plataforma recomendada para desenvolvimento profissional com Node.js no Windows.

Agora, quanto ao teu receio de adentrar esse novo domínio, o Windows Subsystem for Linux (WSL) é uma ponte maravilhosa que te permite experimentar o Linux direto do teu sistema operacional natal. WSL é, em muitos aspectos, ainda melhor do que uma distribuição de desktop Linux que tenta imitar o Windows (Ubuntu, estou olhando para você). O WSL oferece uma experiência puramente Unix, destilada até sua essência mais básica: um terminal bash e uma coleção de ferramentas de linha de comando. Este é o verdadeiro poder do Unix, um ambiente onde a elegância e a eficiência são elevadas ao extremo, onde cada comando, cada script, cada pipeline é uma ode à simplicidade.

Mesmo com limitações de hardware, como uma quantidade moderada de RAM, ainda é possível explorar o Linux através de máquinas virtuais. Optando por distros sem ambiente gráfico, você pode obter uma experiência de aprendizado valiosa sem sobrecarregar seu sistema. Além disso, a ideia de uma distribuição USB persistente, como o NomadBSD, permite que você tenha um sistema operacional Unix completo e funcional em um mídia externa.

Portanto, deixe de lado as desculpas. A jornada para o domínio do Unix é uma aventura que espera por você, repleta de aprendizado, descoberta e, sim, de uma beleza e eficiência que só a linha de comando pode oferecer. Não é apenas uma mudança de ferramentas, mas uma mudança de paradigma.

2

"WSL é, em muitos aspectos, ainda melhor do que uma distribuição de desktop Linux que tenta imitar o Windows (Ubuntu, estou olhando para você)."

Eu acho que é o windows que tenta imitar o linux.

0
1

o windows até adicionou a opção de "abrir no terminal" no menu de contexto do mouse. coisa que já existia faz tempo no linux. sem falar na interface totalmente inspirada no kDE.

1

Eu entendo totalmente o que fiz quis dizer. "Mesmo que pouco, você tá aprenendo". Isso era o que eu precisava. Começarei a estudar Linux sim, muito obrigado pelo o tapa. Sempre me esquivei de comando via CLI, mas recentemente tenho encontrado uma paixão nisso.

1

Veja que quando vamos gerenciar um servidor Linux é pela linha de comando (através do SSH, por exemplo)... Em servidores Windows até tem a interface gráfica, mas Linux, nunca vi... Então, instale o WSL que com teus 8 GB ainda deve rodar e comece a aprender.

6

Dica: Não use o termo "obrigado a usar Linux".

Você mesmo foi capaz de citar qualidades e defeitos do Windows e do Linux. Cada sistema tem sua particularidade e forma como lida com processos / threads.

Eu posso te passar alguns motivos para usar Linux e se pretende ser um programador (independentemente da área), isso te fará um profissional muito melhor:

  • Se você acha mais prático ir no site e baixar um instalador de programas em Windows, é pq vc ainda não conheceu como o terminal Linux te poupa tempo. Usando por tempo suficiente, posso te garantir que vc vai se irritar pelo Windows n ter um terminal de qualidade.

  • Você aprende a lidar com bugs, ausência de pacotes e demais problemas fazendo sempre a mesma coisa: digitando um comando no terminal

  • Tudo que você instala no Linux trabalha de forma muito coesa quando o assunto é programação. Não estamos falando somente da IDE, mas trabalhar com diferentes linguagens, softwares, bancos de dados e demais ferramentas, se torna muito mais simples com o Linux. Vc perde menos tempo montando ambientes e n se irrita com erros pouco explicativos que existem no Windows

  • Eu considero Linux uma comunidade, n apenas um sistema operacional. A maioria dos erros são reportados mais rapidamente, resolvidos com mais soluções e com certeza existe um exército de desenvolvedores que provavelmente já lidaram com o problema. Conforme o Windows vai avançando na versão, ele ou tenta copiar coisas que existem nos sistemas Unix ou tenta transformar as coisas em interfaces de usuário com menor poder de alteração (isso é chato e pouco produtivo)

Enfim, eu poderia dar mais exemplos, mas o que vc precisa entender é que a única coisa realmente agradável no Windows é sua compatibilidade com jogos. Isso ao custo de perder um rico ecossistema de ferramentas do Linux. Desde que eu fiz a mudança, realmente ficou mais chatinho jogar jogos, mas eu nunca mais uso um computador da mesma maneira, e o hábito de investigar bugs e erros faz parte da minha vida como usuário de pc.

Eu recomendo vc instalar o Linux e futuramente comprar um hd para por o Windows pra jogar. Vale a pena e tenho certeza que vc será um dessenvolvedor muito melhor.

Atualmente eu estou usando o Vim como ferramenta para programar, com extensões que me ajudam a ter uma experiência semelhante a uma IDE. Cara, devo dizer que abandonar o mouse e fazer o máximo de coisas possíveis no terminal é satisfatório e te dá uma flexibilidade muito grande. Dependa menos de softwares que mimam o usuário e de interfaces e vc descobrirá um mundo novo

1

Obrigado pelo o comentário! Estou determinado a aprender Linux, só vou organizar melhor agora e ver as possibilidades já para começar.

5

Depende.

Acho mais prático e prudente programar no mesmo SO onde a aplicação vai rodar em produção, pois você vai lidar com os mesmos problemas.

Posso pegar o exemplo do Ruby, você até pode rodar ele no Windows, mas vai ter um monte de Gem que não é compatível, e acaba ficando inviável, daí eu recomendo a desenvolver num ambiente Unix (Mac, Linux), ou pelo WSL, caso não queira abandonar o Windows ou achar mais conveniente.

4

Depende:
Você está desenvolvendo pra web?
Se a resposta for "sim", provavelmente você deveria migrar pra Linux.
Pode usar wsl também. O que eu recomendo. Mas com 8gb fica complicado.

Mas pq deveria migrar pra linux? Pq seu sistema muito provavelmente rodará no linux. E você desenvolver com o mesmo ambiente em que seu sistema rodará é um fator a menos de bug. Às vezes não dá problema. Na realidade, na maioria das vezes não dá. Mas quando dá, você vai perder tanto tempo tentando entender o porque de estar funcionando na sua máquina e não estar funcionando em produção, que você vai endoidar.

Em resumo: sempre tente desenvolver usando o ambiente mais próximo de onde seu sistema vai rodar.

3

pro desktop do desenvolvedor, melhor usar windows.
pro ambiente de produção, melhor usar linux (hospedagem, cloud, servidor, DB, etc).

2

Esse seu "medo" do linux é proporcialmente igual ao medo da galerinha que começou a usar o GitHub Desktop e agora tem medo de usar git pela linha de comando. Você precisa aprender essas tecnologias se quiser ser um programador de respeito, pois na hora que precisar fazer um deploy via SSH, irá sofrer MUITO.

Faça dual boot, instale WSL, tanto faz, mas aprenda a usar o sistema linux

2

Bem, geralmente a empresa vai prover um computador e dizer como que eles trabalham e provavelmente vai ser windows pois é o mais popular e todos sabem mexer. As empresas que pedem conhecimento sobre linux na vaga provavelmente é porque hospedam suas aplicações em servidores linux, mais comumente o apache.

Eu particularmente acredito que quem é da área de TI, seja desenvolvedor, analista de redes ou de dados deve pelo menos uma vez na vida aprender a usar o Linux, não precisa virar um expert, mas pelo menos baixe umas imagens, instale e tente mexer, configurar, se familiarizar com o terminal e aprender alguns comandos. Isso melhora muito seus conhecimentos na área.

E claro, no mínimo deve tentar até conseguir, instalar e configurar um sistema com o famigerado Arch Linux hehehe, é um grande aprendizado.

2

Não é obrigatório, mas é uma alternativa que dominada as pedras, cada uma que você supera vai te deixar mais preparado. Windows está bom para trabalhar, mas lembre que é seu ambiente ... parece que não tem nada haver, mas é pirata? é cheio de hacks para poder funcionar a contento? Não que o Linux seja perfeito, mas para programar ele cumpre bem a tarefa e cada por ser um ambiente que pede mais configuração e entendimento de onde se quer chegar, dependendo da distro. Nem olho mais pra essa coisa de máquina fraca e sim saber que controlo o ambiente e as possibilidades disto ser real são muito amplas. Windows ainda tem muitas camadas por baixo, mas é inegável que muitas aplicações que não tem no Linux. Queria algo que vi no MacOs - Hackintosh - o Paralels - rodar o app Windows ou Linux como se fosse uma janela dentro MacOS.
Resumindo, será uma boa experiência usar Ubuntu, Debian ou Linux Mint, esse último meu predileto. Em tempo, dominar o ambiente pede dedicação, acho que bom seria ter conhecimento no Windows, Linux Likes e MacOS - original ou hackintosh (que é um Unix bem resolvido afinal).

2

Como todo bom dev diz, depende meu jovem.

Quando começei, isso faz mais de 3 anos, usava windows com wsl e funcionava muito bem, inclusive funcionava com docker.

Mais conforme ia abrindo apps no windos sentia lentidão, a integração do vscode com o wsl as vezes dava uns bugs e precisava reinicar o PC.

Tinha outro problema que me incomodava profundamente usado windows, quando me conectava na vpn da firma, o wsl ficava sem internet, ai tinha que ficar nesse de liga vpn, desliga vpn. Meio chato não?

Foi então que migrei para o Pop_os! e consegui me adaptar bem, fazem mais que 3 anos que estou usando GNU/Linux no PC para trabalhar. E olha não volto mais para windows não viu.

Outro ponto que senti na migração para o GNU/Linux foi a velocidade que as coisas abriam. Isso realmente vai te inpressionar se for usar.

Atualmente no meu notebook estou usando Linux Mint para trabalhar, e no dasktop estou testando o Zorin.

Mas respondendo realmente sua pergunta:
Cara você não precisa sair do windows, só que como todo sistema operacional vai ter seus problemas, e voce pode contorna-los e continuar usando.

Boa sorte na sua jornada! Qualquer duvida estou por ai :)

2

Já ouviu falar da iniciativa WSL?


A microsoft, de uns anos para cá através do WSL (WSL2, é a versão mais recente) permite a execução de um Linux dentro do Windows.

Se você não está programando nada para desktop com Delphi, Windows Forms (C#), ou coisa do tipo. A combinação de WSL + Docker + DevContainers do VSCode te permite ter um ambiente de desenvolvimento excelente.

A grande questão não é que o Windows ser pior que o Linux para desenvolvimento, o ponto é que no Linux há uma gama de ferramentas muito maior para essa finalidade e algumas outras. Quando você começa a entender e usar essas ferramentas dificilmente volta para o windows.

2

Olá Araujo, tudo certo?

Sobre a sua dúvida, eu vou contar como eu achei a resolução para esse impasse que também aconteceu comigo.

A um tempo atrás eu instalei uma distro Linux em Dual Boot com o meu windows para poder utilizar os dois até porque eu gosto de Jogar e no Linux é praticamente impossível. Mas eu acabei não me acostumando e sofri com vários "problemas" que o dual boot pode ocasionar, o que me demandava muito tempo concertando.

A segunda solução que eu encontrei foi a WSL que é uma máquina virtual Ubuntu dentro do próprio Windows que permitia que eu rodasse o Linux junto ao Windows. Para codar eu utilizava o Code Tunnel que faz um Port Tunelling criptografado pelo GitHub que você pode acessar de qualquer lugar.

Essa segunda solução me supriu por um bom tempo e funcionaria perfeitamente mas por causa de uma necessidade de alguns projetos migrei para um servidor local (um computador velho que eu tinha em casa), utilizando o mesmo modo para codar da segunda solução.

Espero que eu tenha ajudado.

2

Cara, eu vejo que se a empresa usa linux, ela talvez preze por um certo nível de segurança e de base tecnológica própia. E outra coisa que tambem vejo que pode ajudar-te é que desde das últimas cinco versões do windowns 8, a Microsoft vem deixando o windowns mais linux, tanto que, sistema de printscreen, o pronpt de comando e o modo deus do windowns são inspirado no linux/GNU.

2

A zona de conforto é o que mata a gente.

Sabe quando vc se torna no f0da naquele framework e então aparece alguém dizendo que ele vai morrer e que na vdd agora todo mundo vai usar o outro?

Partindo do pressuposto que isso fosse mesmo verdade (to aaqui ate hj esperando o Deno matar o Node kkkk), bastaria aprender a ferramenta nova e pronto!

Mas estamos na zona de conforto. Já comhecemos cada palmo da tecnologia que a gente domina. Agora vamos ter que começar do zero dnv?

Pra mim, a grande questão da guerra Linux vs Windows ou qualquer outra briga de torcida da programosfera é só isso mesmo.

Veja se não é esse o seu problema. Por diversas vezes esse foi o meu.

1

Eu realmente sou obrigado a usar Linux para programar em uma empresa?

Não. Quer dizer, depende. É diferente se a questão for usar um sistema específico para um projeto que o necessita.

É interessante criar uma maquina virtual com linux só para aprender de fato ou é dboa? Eu ainda estou relutando pois tenho apenas 8GB de Ram para virtualizar uma maquina, não sei se é o suficiente para ter uma experiência decente.

Já tentou utilizá-lo pelo WSL? Leia mais: https://www.tabnews.com.br/pedromclaro/linux-park-a-melhor-criacao-da-microsoft

1
1

Vou te dar uma visão pessoal.
Eu cresci mexendo em Windows como a maioria dos profissionais de TI.
Na faculdade tive o primeiro contato com o Linux e achei top a opção de modificar o ambiente de acordo com o que queria.
Eu sou de infra e vez ou outra desenvolvo algo.
Basicamente a minha visão é: use o que você mais fica confortável.
Usei windows durante a minha adolecencia e vida profissional toda, hoje é algo que voltaria a usar por questões de compatibilidade a determinados programas apesar de que muita coisa hoje é web.
Linux é minha paixão pela facilidade e por ser um sistema leve.
Atualmente to usando Mac que é um grande Unix rodando por trás que facilita ainda mais a forma de trabalho.
E o windows tem a possibilidade de vc usar o WSL2 que foi o que me ajudou a suportar mais o windows por tanto tempo.
Mas basicamente o conselho que eu dou é:
Não se apegue a Ferramentas e SOs.
Use o que mais te tras conforto pra trabalhar!
Porque há mercado para windows, linux e outros

1

Não tem uma regra, hoje eu prefiro ter maquinas virtuais para cada ambiente, precisa de um PC com memórias mas prefiro isso isolar total, vem falar de docker pra mim, não obrigado.
Outras opções que uso é o VScode com Remote SSH programo direto no ambiente de teste sem ter o ambiente em minha máquina.
As opções hoje são muitas, eu acho importante saber se virar bem no Linux e no Windows.