Deploy na Sexta #13: Computador ideal para programar
Um guia de especificações técnicas para quem está perdido
Chegando na primeira aula de algoritmos na universidade, uma clássica universitária em seu primeiro dia: arrumadinha, caneta bic no bolso e um caderno em baixo do braço. Fui procurando a sala de aula. Fiquei encantada quando descobri que as aulas eram em um laboratório de informática, afinal na escola pública usar o laboratório era uma ocasião especial. Com o tempo, lembro de ficar constrangida por ser uma das únicas que usava os computadores velhos de lá, mas sabe, eles eram mais do que suficientes para aprender programação.
Após dois anos juntando o meu salário do estágio, em uma garrafa pet rotulada carinhosamente de “poupança do notebook”, consegui acumular o suficiente para dar entrada no meu notebook. Mas e aí, qual é a configuração ideal?
Primeiramente, se tu acredita que precisa de um super computador para aprender a programar, essa pode ser uma apenas uma justificativa que tu usas para não começar hoje. Qualquer computador que roda um navegador web é suficiente para escrever os primeiros códigos usando um editor web. O Replit é uma opção de editor gratuito que atende a 50 linguagens de programação diferentes.
Mas se tu queres investir em um computador, a melhor escolha depende do orçamento, das preferências pessoais e do que se pretende aprender. Na época, também considerei que meu primeiro notebook deveria ser bem aproveitado pelos próximos 3 anos de curso e suficiente para eu construir coisas para começar a ganhar dinheiro com programação. Para chegar na máquina ideal em custo-benefício montei um guia que pode te ajudar.
O que tu quer aprender?
Após dar os passos iniciais com a máquina que tu tens ao alcance, tu vais desenvolver interesse por uma área da programação, e isso pode ser decisivo na escolha do teu próximo computador. Por exemplo, a programação web geralmente demanda menos capacidade de processamento em comparação com o desenvolvimento de jogos, aplicações desktop ou projetos de inteligência artificial. Na época eu queria construir sistema desktop em Java, então eu precisava de um computador que rodasse pelo menos a IDE Eclipse + um sistema de gerenciamento de banco de dados.
Além disso, é importante considerar que certos ambientes de desenvolvimento são restritos a sistemas operacionais específicos. Por exemplo, o trabalho com .NET Framework exige Windows. Enquanto o desenvolvimento para iOS com Swift necessita de um Mac. Agora se tu não tem limitação quanto ao sistema operacional, em um mesmo computador, o Linux costuma ser mais rápido do que o Windows. Como eu sempre fui acostumada com Windows, uso esse sistema operacional até hoje.
A portabilidade também é um fator a ser considerado. Se tu viaja muito, ou não fica em casa, não precisa investir em um desktop. Um notebook pode ser uma escolha melhor. Para mim, a portabilidade de um notebook me ajudava a estudar em qualquer lugar.
Especificações mínimas que recomendo
Processador: Um bom ponto de partida é um processador Intel Core i5 ou AMD Ryzen 5 de, mas te liga, normalmente foco em pelo menos a penúltima geração. Será suficiente para a programar por alguns anos.
Memória RAM: É interessante ter pelo menos 8GB de RAM, foi somente ano passado que fiz upgrade para 16GB porque preciso executar máquinas virtuais, contêineres e às vezes várias instancias de IDE simultaneamente.
Armazenamento: Um SSD com pelo menos 256GB é preferível a um HD tradicional, pela velocidade na inicialização do sistema e o carregamento de programas. Mas se estiver muito caro, um HD a partir de 500GB é uma ótima opção.
Tela: Eu não ligo para qualidade de imagem porque trabalho e estudo em local fechado com luz controlada. Mas quanto ao tamanho, depende da preferência pessoal, uma tela maior pode melhorar a produtividade, mas também aumenta o peso do equipamento. Hoje tenho um de 15 polegadas (aprox. 38 cm), com monitores adicionais que estendem a tela.
Placa de vídeo: Uma placa de vídeo dedicada não é um requisito fundamental, a menos que tu trabalhes com edição de vídeos ou jogos. Caso contrário, uma placa de vídeo integrada já é suficiente.
Portas: É legal prestar atenção na quantidade de portas disponíveis. A porta HDMI, por exemplo, é indispensável para mim, porque coloco um monitor adicional nela, e facilita a projeção de apresentações em eventos. Além disso, uso também a USB 3.0 para um terceiro monitor. Outras portas USB são igualmente importantes para a conexão de teclados, mouses, microfones e fones de ouvido.
Vale lembrar que estas são recomendações gerais que acredito que vão durar um bom tempo contigo, mas a escolha final deve ser baseada nas tuas necessidades específicas, preferências e orçamento. A programação é mais sobre a habilidade e menos sobre o hardware, então não deixe que a falta de um "computador perfeito" te impeça de começar.
Me conta nos comentários, o que tu acha dessas especificações? Exagerei ou fui humilde demais? Essas recomendações foram bem na minha experiência pessoal, eu trabalho com desenvolvimento backend para windows e até ano passado estava com as configurações citadas acima. 🖖
🧠 Exercício da Semana
Falei sobre plataformas que permitem programar diretamente pelo navegador, mas também usei no início da jornada de aprendizado algumas plataformas que tem versão gratuita para resolver exercícios de programação online, sem precisar instalar nada. Que tal explorar uma delas durante a semana?
Beecrowd: Minha favorita! Oferece um repositório de problemas de programação gigante, que tu podes resolver em 20 linguagens de programação diferentes, além de participar de competições, concursos e maratonas de programação competitiva.
Exercism: Uma organização independente, sem fins lucrativos, financiada pela comunidade, onde tu podes programar em até 70 linguagens diferentes e resolver problemas de programação.
CodeWars: O site possui pequenos exercícios de programação chamados “kata”, criados pela comunidade. Tu também pode escolher uma entre várias linguagens de programação suportadas pelo site.
LeetCode: uma plataforma voltada para a preparação de entrevistas técnicas, com exercícios disponíveis em 14 linguagens de programação.
HackerRank a proposta dessa é te preparar para entrevistas técnicas, e também oferecer um canal para conseguir empregos através de desafios e hackathons.
Praticar programação com exercícios de plataformas online, me ajudou a reforçar conceitos teóricos da programação, e a desenvolver criatividade na hora de resolver problemas. Algum desses sites também oferecem sistemas de feedback, que ajudam a melhorar nossas soluções. Se tu conhece mais algum, compartilha comigo nos comentários?
💡 Indicações da semana
Série Maniac: Eu to super engajada com séries de ficção científica né? Dessa vez assisti Maniac, ambientada em uma cidade retro futurista cheia de robôs, onde um supercomputador realiza teste farmacêutico de um medicamento psiquiátrico em humanos e analisa os resultados e efeitos.
BR MetaVerso: Uma loja brasileira com produtos imersivos e inteligentes, como óculos de realidade virtual, casa inteligente e robôs inteligentes. Usa meu cupom SPACECODING para garantir um desconto adicional na compra.
15% OFF na Alura: Estude programação quando e como quiser. Na Alura tu sai do zero na programação em mais de 1400 cursos em diferentes áreas e tecnologias. Tudo em uma só matrícula. Usa meu link para garantir teu desconto!
SpaceCoders: Nossa comunidade tem um Grupo no Whatsap onde rola sorteios, compartilho eventos de tecnologia, oportunidades, cupons de desconto e tudo que encontro que possa somar.
Já que tu leu até aqui, sabia que temos recompensas por indicação? Indique o "Deploy na Sexta" para mais pessoas e garanta uns brindezinhos que pensei com muito carinho.
Nos encontramos no próximo deploy, sexta às 6:00.
Nossa, descobri o Substrack app! Antes eu lia o Deploy na Sexta pelo gmail mesmo. Bem melhor agora! Vou conseguir acompanhar todas edições que ainda não li ❤️
Obrigada, Gi, pela super indicação! 🥽✔️