r/linuxbrasil • u/Unknow_6768 • Jul 25 '26
Pergunta Dicas do que fazer como desenvolvedor
Decidi mudar definitivamente para o Ubuntu, já utilizei algumas vezes, mas pelo fato de eu ter iniciado ciência da comp achei melhor me habituar com esse ambiente. Teriam dicas do que eu preciso fazer daqui pra frente? Já baixei o vscode, mysql server, postgresql, docker, node, php, xampp e afins. Tmb baixei o build-essentials para ter o gcc instalado no notebook (vou precisar de C/C++ pros primeiros períodos do curso)
Enfim, tenho um pouco conhecimento de programação, porém pretendo melhorar isso a partir desse ano. Quais dicas vcs dariam pra que eu possa usufruir ao máximo desse S.O? Tipo comandos no shell, onde são os melhores lugares pra eu buscar essas informações e afins.
6
u/Sarom28 Jul 25 '26
Olha, recomendo estudar um pouco o básico do Linux, sem conhecimento do seu próprio OS, não tem como fazer nada, depois de aprender o básico, muda para o Debian, vai ser bem parecido e vai ser melhor, no futuro aí você escolhe qual distro quer.
3
3
6
u/DonKG Alpine Linux Jul 26 '26
não é bem uma dica de Linux, mas como veterano de compsci perto de se formar: quando começar a trabalhar com alocação dinâmica em C e C++, tenta se familiarizar com o valgrind e o ASan (address sanitizer), principalmente o ASan, porque tem uma grande chance dele vir instalado por padrão nos computadores de prova (que geralmente são máquinas ubuntu sem acesso à internet). Eu tenho a impressão que alguns professores não ensinam isso de propósito (porque presumir que não sabem é feio), mas se eu soubesse quando estava aprendendo, teria entregue meus trabalhos e provas práticas em C muito mais rápido hehehe
mas, fora isso, respondendo a pergunta do post: eu diria pra se familiarizar com o terminal, porque vai ser obrigatório. Compila e roda seus programas pelo terminal, se familiariza com as linhas de comando do GCC/Clang... O passo dois seria tentar resolver explorando a pasta /etc/, systemctl e lendo as saídas do terminal antes de tentar usar as ferramentas gráficas, isso vai te ajudar bastante a entender o funcionamento do Linux. Quando se sentir intimo o suficiente, escolhe um projeto legal pra se dedicar a aprender mais à fundo: uma instalação do Gentoo, um servidor, essas coisas...
também pode ser uma boa hora para treinar touch typing (aquela digitação correta e ergonômica com os dez dedos repousando na linha do meio do teclado) e aprender a usar vim/neovim! Não existe coisa melhor pra programar em um laptop do que as vim motions. A curva de aprendizado existe, mas pensa que se você escolheu compsci, vai passar uma porção significativa da vida encarando o teclado do computador, então sempre é válido ter uma intimidade muito boa com ele. Não é coisa que te ensinam no curso, mas é algo que eu decidi aprender quando comecei e acho que o investimento se pagou e muito! Para digitação eu usava o monkeytype, para o vim... Eu não lembro o que eu fiz pra aprender além de desligar o mouse e ir apanhando com as motions até ficar rápido kkkkkkkk
por fim, não caia na armadilha de entrar pro clube do rice/unixporn do Linux! É uma toca de coelho que vai engolir todo o seu tempo -- mas não vou mentir que é divertido e muito bom pra aprender sobre Linux *wink*). Enfim, se eu lembrar de mais coisas eu acrescento depois. Boa sorte no curso!
3
u/visit_user_123 Jul 26 '26
Eu como dev e vimuser a anos diria que nao e tao essencial assim, ainda mais agora que ele começou a estudar. Vim e mt mais gosto do que realmente algo essencial. Minha dica e tenha um editor de texto que te ajude a identificar problema, e que tenha ferramentas que te ajudem, o proprio vscode com um plugin de LSP instalado ja resolve a maioria dos problemas. Apenas aprenda a usar os comandos que ele tem pra te oferecer que melhora muito a vida. Se quiser se aventurar no vim vai fundo, de fato é maravilhoso eu uso a anos e nao vi necessidade de trocar ate hoje. So que a curva de aprendizado e bem maior e enquanto se está estudando talvez nao seja a melhor opção, e voce nao vai ganhar anos luz de desempenho a frente de alguem usando vscode so pq esta no vim, o esforço x resultado talvez nao compense tanto, ainda mais nesse começo
2
u/Careless-Neck-6791 Jul 26 '26
Essa digitação é aquela que os indicadores ficam no F e no J?
1
u/K_878 Linux Mint Jul 26 '26
exatamente isso
1
u/Careless-Neck-6791 Jul 26 '26
Achei que todos sabiam, mas eu sei, pratiquei pra conseguir durante um tempo. Não acho difícil na verdade.
2
u/K_878 Linux Mint Jul 26 '26
eu também acrescentaria comprar um teclado mecânico, não precisa ser caro, um da Pichau ou terabyte com switches preferencialmente vermelhos já vai te salvar da LER, claro, tem as tocas de coelho de layouts alternativos (tô aprendendo colemak agora, recomendo!), teclados ergonômicos e montados do zero, e mesmo eu sendo um usuário de todos eles (um hobby bem caro, diga-se de passagem), só um teclado mecânico minimamente decente já te salva e muito!
1
3
u/Queijocosmico Hannah Montana Linux Jul 25 '26
depende do que exatamente você quer fazer e sua área em específico
5
u/shirotokov Gentoo Jul 26 '26
configura git, cria repo, etc
2
u/Unknow_6768 Jul 28 '26
Fiz isso
2
u/shirotokov Gentoo Jul 28 '26
então vai para uma parte legal: linux containers com namespace and cgroups
docker/kubernetes é feito em cima disso
1
3
u/TwoBiits Debian Jul 26 '26
Minha maior dica é não fazer o que você fez. Instale as coisas na medida que você for precisando delas, não faz sentido você instalar uma porrada de ferramentas que não usa ainda. Estou moderadamente certo de que, estudando C/C++ você não precisa usar Docker ainda.
2
2
2
u/arkt8 Jul 26 '26
Aprenda shellscript, regex... tente aprender vi se for capaz e a usar tmux, crontab e ssh. Isso vai ser um canivete suíço que vai te acompanhar o resto da vida. Use e abuse do man você vai aprender muito.
Você disse desenvolvedor... é bem abrangente. Node e PHP te coloca próximo de web. Mas pode dar uma olhada em makefiles também, você pode usar pra qualquer linguagem.
Tente instalar Nginx e configurar com PHP e Node... lembre que Nginx suporta Lua que em muitos casos coloca Node e PHP no bolso e mesmo se não quiser ir direto pra Postgres ou MariaDB pode fazer muito com SQLite.
Olhe para seu redor... coisas da vida que você pode simplificar...
- menu de rádios online usanso rofi e mpv pra tocar
- se tem câmera de vigilância, configure atalhos para assistir ela (mpv dá conta) ...
2
u/K_878 Linux Mint Jul 26 '26
fora o que já aconselharam, eu acho que é válido você comprar um teclado mecânico (switches preferencialmente vermelhos, que tem força de ativação leve), não precisa ser nada caro ou montado do zero, mas só de ser mecânico já te dá um conforto muito maior pra digitar e reduz a chance de ter uma lesão por esforço repetitivo, claro, pode acontecer de você ter isso mesmo assim, aí você pode cair no buraco dos teclados ergonômicos, switches e layouts alternativos de teclado, e já adianto, são hobbies caros em tempo e dinheiro😂
por mais que eu não recomende cair na toca do coelho do ricing, eu recomendo customizar seu sistema de acordo com suas preferências, já que, é melhor trabalhar numa ferramenta genérica ou em uma que é feita pra se acomodar em suas mãos?
1
2
u/thiagoR14 Jul 26 '26
Você considerou usar uma WSL para cada um dos seus projetos ou temas de estudo?
Tem funcionado muito bem pra mim...
2
u/Unknow_6768 Jul 28 '26 edited Jul 28 '26
Só fiz a instalação, não cheguei a me aprofundar tanto. Sei alguns comandos do shell e optei mudar definitivamente pro ubuntu pra eu me habituar com esse ambiente, já que não tava usando tanto o windows msm.
2
u/Zinho3311 Arch Linux | Debian Jul 26 '26 edited Jul 26 '26
Xampp pra quê? Xampp é lixo e só faz sentido se você não sabe instalar o servidor MySQL por conta própria (que realmente é um inferno no Windows). No Linux, não serve de porcaria alguma além de atrapalhar.
C/C++ tu só precisa do build-essential, GDB e cmake.
build-essential (sudo apt install build-essential) já vem com o GCC (compilador C), g++ (compilador C++), make e libc6-dev (que contém is headers padrões do C).
GDB (sudo apt install gdb) é o debugger padrão do GNU.
CMake (sudo apt install cmake) é um build generator praticamente indispensável hoje em dia (porque compilar projetos C++ pode dar uma dor de cabeça infernal).
Sobre lugares para encontrar informações, recomendo:
- Arch Wiki (é a wiki do Arch, mas a maioria das informações ali servem pra qualquer distro -- é uma das fontes de documentação mais completas e confiáveis já criadas para o ecossistema Linux).
- Open Source Alternative (site muito útil que compara e sugere alternativas open source para software proprietário)
- cppreference (site de referência do C++ que tu vai usar muito quando se deparar com as bizarrices do spec e da STL do C++, mas também serve para C)
- Man7 (cópia online das manual pages do Linux -- muito útil para desenvolvimento POSIX e contém a documentação da maioria das utilidades/comandos do coreutils/comandos padrão do Linux)
Lembre-se de que: 1. Liberdade exige responsabilidade, e você é o único responsável pela segurança e integridade do seu sistema 2. Tudo é um arquivo (incluindo comandos, que são apenas binários que ficam em /usr/bin) 3. Idealmente, tudo deve fazer apenas uma coisa, e fazer corretamente e de forma reproduzível 4. Tudo é modular. Linux é apenas o kernel, de resto tudo pode ser reiniciado ou remontado. 5. O computador trabalha e obedece à você, e não o contrário
6. Eventualmente, você vai começar a vestir programming socks, codar em Rust, ouvir música estranha, usar Arch Linux e achar rapazes estranhamente atraentes (brinks...ou não)
Dito isso, bem-vindo ao Linux!
É um universo maravilhoso que parece intimidador de início, mas, uma vez que você se acostuma, não consegue mais sair.
1
u/Unknow_6768 Jul 28 '26
Muito obrigado pela sua contribuição, fico feliz que a comunidade é mt receptiva e ajuda dms os iniciantes. Só pelas dicas que eu recebi desse post serão mt úteis daqui para a frente. Deixo aqui o meu sincero agradecimento.
2
1
u/frostelrick Jul 26 '26
Primeiro sair do Ubuntu, segundo começa a estudar uma linguagem só e fazer pequenos projetos de lógica, se você já estiver mais avançado, pega um framework e cria um projeto de crud básico, com banco em docker.
1
1
u/OldGuy001 Justin Bieber Linux Jul 26 '26
Por acaso você é o Imu Sama? Não gosta de "D"? eu gostaria muito de saber da história desse D aí kkkkkkkkk
22
u/Conscious-Speed4642 Linux Jul 25 '26
Crie máquinas virtuais com debian e hospede projetos nelas em modo bridge como servidores locais. Tente gerenciar tudo sem interface gráfica e use comandos de ssh para gerenciá-los de sua máquina principal pelo terminal. Você aprenderá bastante. Você pode começar hospedando páginas html, programas em python ou até modelos de LLM. em algumas semanas vai sentir que avançou muito.