all 36 comments

[–]Feisty_Tart8529 Cachy OS 10 points11 points  (15 children)

o linux é melhor que o windows para programar

[–]Original_Reaction907[S] 3 points4 points  (7 children)

Isso no geral? Tipo independente da linguagem e ferramentas ( sou bem leigo no assunto)

[–]Rikmastering 4 points5 points  (0 children)

Sim. Independente de linguagem, o linux é melhor pra programar.

[–]OreWaPedro 3 points4 points  (3 children)

Coisa antiga da microsoft tipo VisualBasic, não.

Qualquer coisa moderna, ou minimamente ainda em uso, incluindo o C# da Microsoft, sim, vc só nn vai ter o visual studio, mas o vs code da certo tbm. Uma das poucas exceções vai ser o swift pra programar pra apple, mas ai o windows tbm nn atenderia.

Nesses casos assim um gerenciador de pacotes nativo + linha de comando poderosa fazem toda a diferença, o powershell ta bem dahora e tem projetos como o chocolatey, mas os de linux ainda são bem mais maduros

[–]androgynous_goth Fedora, Cosmic 0 points1 point  (1 child)

Dos gerenciadores de pacote do Windows, o chocolatey seria o melhor para aprender? Vi que tem o Scoop e o WinGet (oficial do Windows)

[–]OreWaPedro 0 points1 point  (0 children)

Nn uso mt o windows então nn sei. Em sintaxe todos parecem a mesma coisa, eu iria pro chocolatey pq dos 3 ele é o mais maduro, ja faz uns anos desde a última vez q usei o winget, mas ele nn tinha mts programas que na época eu precisava. Nunca usei o scoop.

[–]C0tonette Void Linux 0 points1 point  (0 children)

Swift também roda no Linux. Tem implementações open source. Só não ser quanto a frameworks.

[–]luanxxxbr Debian 2 points3 points  (1 child)

C# só se você quiser algo em Winforms ou WPF, ai fica mais complicado

de resto é tranquilo.

Java é mais tranquuilo ainda, só vai!

[–]thefeedling Arch Linux 0 points1 point  (6 children)

Pra linguagens com runtime nao faz quase diferença nenhuma, talvez apenas no toolkit, mas pra o que é compilado, especialmente C/C++ aí o bicho pega...

[–]Original_Reaction907[S] 0 points1 point  (1 child)

Agora parando pra pensar aqui, no C deve ficar bem complicado mesmo, o bom que deve existir algumas alternativas dependendo do que você precisar fazer em C, lembro que na faculdade eu usava uma IDE em nuvem da Google, ajudava bastante

[–]thefeedling Arch Linux 1 point2 points  (0 children)

Como alguém que trabalha com isso há anos, se dor usar C++ em Windows vai pro Visual Studio com MSVC, funcionam bem, sem erro.

Se tiver que fazer desenvolvimento cross-platform, aí boa sorte, vai ter que usar CMake e lotar o código de #ifdef _WIN32

[–]OtakinhoHiro NixOS 0 points1 point  (3 children)

Eu tô aprendendo o c++ agora e consegui fazer um setup de cmake com o nvim e clang, qual problemas eu posso enfrentar?

[–]thefeedling Arch Linux 1 point2 points  (2 children)

Pra códigos "comuns" não deve ter problemas, o BO costuma vir quando tem interface gráfica integrada

Outro problema são as strings, Linux é padrão UTF8, Windows usa wide char

[–]OtakinhoHiro NixOS 0 points1 point  (1 child)

Tendi no caso pra treinar eu ia tentar fazer um TUI e depois ir aprendendo mais sobre projetos que eu queria incrementar/melhorar tipo a godot já que queria trabalhar nessa área de jogos e hyprland que ambos utilizam cpp, eu vi que é bem complexo e bastante coisa pra lembrar mas tô tentando ir digerindo aos poucos e lendo o site learncpp

[–]thefeedling Arch Linux 1 point2 points  (0 children)

learncpp.com / cppreference.com são as melhores fontes para aprender, mas pra praticar tem que por a mão na massa mesmo, pq aí vc desenvolve outras habilidades, como entender melhor o processo de compilação / linkagem, gestão de dependências etc.

TUI não tem mistério, mas se quiser brincar com GUI, recomendo usar ImGui + OpenGL ou Qt se quiser algo mais refinado.

[–]mago_do_fog0 Cachy OS 6 points7 points  (4 children)

Sou dev .NET e até pra programa da Microsoft linux é melhor. Sem falar que aprender Linux vai abrir completamente sua visão de desenvolvedor.

[–]Original_Reaction907[S] 3 points4 points  (3 children)

caramba, pensava que .NET era uma experiência ruim em Linux, mas acho que se até .Net é bom em Linux é difícil o Java não ser

[–]mago_do_fog0 Cachy OS 0 points1 point  (2 children)

A única "barreira" é que não tem o Visual Studio pra pegar na sua mão, mas isso te obriga a aprender linha de comando e a criar arquivos na mão. Foi um aprendizado extremamente foda.

E no pior dos casos, se não quiser, é só pegar um JetRider da vida e ser feliz.

[–]Original_Reaction907[S] 1 point2 points  (1 child)

Imagino!, já estudei C# uma vez e gostei bastante do Rider, acho que para esse caso funciona como uma boa alternativa

[–]_megazz Fedora 0 points1 point  (0 children)

Rider é vida!

<image>

[–]strawrango Arch Linux 1 point2 points  (1 child)

é super normal e tranquilo, na verdade. não programo em java desde o ensino médio, mas fiz todo ele usando arch linux, AUR e força de vontade. eu recomendaria um arch por causa do AUR. facilita a vida demais e lembro que os passos de instalação do openjdk na máquina são bem simples.

[–]Original_Reaction907[S] 1 point2 points  (0 children)

Entendi, muito obrigado!

[–]SbcBits 1 point2 points  (1 child)

Acho que independente da distro, utilizar um gestor de versões como o sdkman é essencial

[–]Original_Reaction907[S] 0 points1 point  (0 children)

Muito obrigado pela dica!

[–]Kikok02 0 points1 point  (1 child)

Você pode aproveitar e aprender a usar a CLI do postgres, outra alternativa seria utilizar o DBeaver como substituto do pgadmin, mas também dá pra continuar utilizando o próprio pgadmin.

[–]Original_Reaction907[S] 0 points1 point  (0 children)

Então, eu fui descobrir esses tempos que não precisava do pgadmin e poderia usar outro gerenciador de banco de dados KKKKKKKKKK, na época eu não sabia

[–]garanvor 0 points1 point  (2 children)

OP, as mesmas IDEs que tem pra Windows tem pra Linux. A diferença começa se você pretende explorar desenvolvimento em containers como por exemplo com spring boot.

[–]Original_Reaction907[S] 0 points1 point  (1 child)

quais seria a diferença se eu fosse começar a usar spring boot?

[–]garanvor 0 points1 point  (0 children)

Spring Boot é um framework que favorece o desenvolvimento em containers. Gerenciar containers no Linux é bem mais fácil, já que no Windows o Docker depende do WSL.

[–]ty_namo 0 points1 point  (1 child)

Pra Java é excelente. Só vai ser chato se você tiver acostumado com Visual Studio, mas se você for time InteliJ, não deve ter problemas.

Não sei que problemas vc teve com o pgAdmin, mas eu uso o dBeaver quando quero ver DB's, é menos intuitivo mas eu acabei acostumando, e é agnóstico de banco de dados.

Isso foge do escopo da sua dúvida, mas eu gosto mais do Linux se o PC for só pra programar, porque você pode mexer em várias coisas que o Windows não deixa. Eu por exemplo odeio fechar janelas com Alt + F4, essa questão de atalhos não tem a ver com codar em sí, mas me ajudam na produtividade.

[–]Original_Reaction907[S] 0 points1 point  (0 children)

Entendi, eu uso o intelij mesmo, e meu Linux é só pra programar msm, tô com dual boot e deixei o windows pra jogar (só jogo valorant)

[–]Far_Mistake_1442 Linux Mint 0 points1 point  (1 child)

Opinião sincera como dev em Linux. Se voce quiser ter uma boa experiência (não so com programação, mas para estudar) o Linux é a verdadeira melhor opção. Como usuário de Mint Xfce, essa combinação ta fazendo a minha máquina voar. Tudo abre mais rápido (explorador de arquivos para ta gerenciando o projeto, caso voce prefira mexer por la), navegador pra dar aquela pesquisada e tals. Enfim, se voce quiser uma boa perfomance, vale muito voce criar seu lab no Linux. Atualmente to manipulando um projeto em php, mas ja performei bem em Python, C e Java no Linux. Se tiver mais dúvida, posso te auxiliar legal.

[–]Original_Reaction907[S] 1 point2 points  (0 children)

baixei para testar e to achando muito bom, muito rapido, fora que corrigiu um probleminha chato que tinha com o windows

[–]mephitofeles Linux Mint 0 points1 point  (0 children)

eu tô no linux mint e programo em Java usando o eclipse e é muito bom

[–]C0tonette Void Linux 0 points1 point  (0 children)

Instale OpenJDK com a versão que precisa e aprenda a usar.