Computador para programar. Qual o melhor e como escolher?
Computador para programar. Muitas pessoas me perguntam “qual computador comprar para aprender programação” ou “qual a melhor configuração de pc para programar”, “programar em PC ou notebook”, “precisa de SSD pra programar“, então resolvi escrever este post levantando os pontos que considero importantes em um computador para programação, com o que aprendi nos últimos 20 anos de experiência nesta área. Dai você vai anotando, ponderando o que é melhor pra você e se restar alguma dúvida manda como comentário que te respondo.
Alguns detalhes importantes antes de começarmos:
- Computador mais rápido significa sempre computador mais caro;
- Não veja o computador como um custo, veja como um investimento, é um dinheiro que você gasta agora e volta pra você com seu trabalho;
- Computador para programação não é brincadeira, é uma ferramenta de fazer dinheiro como resultado de seu trabalho;
- Seja qual for o computador que tiver, cuide muito bem dele, tanto por dentro quanto por fora, pois é sua única ferramenta de trabalho.
Acho importante você refletir e investir um pouco mais, porque certamente ficará uns quatro anos ou mais com este computador, e se tudo der certo, irá recuperar o dinheiro investido nele em poucos meses quando trabalhando com programação.
Inclui ao longo do post vários links para pesquisas na amazon (que é uma loja super confiável, onde compro sempre), para você poder pesquisar melhor e enteder os preços, sem precisar me enviar email pedindo os links.
Notebook ou Desktop? (Computador para programar)
O que você prefere, notebook ou desktop? Até uns anos atrás os notebooks eram bem mais caros que os desktops. Hoje é o contrário, os notebooks estão mais em conta ou na mesma faixa de preço. Mas qual a vantagem e desvantagem de cada um então?
Em linhas gerais, o notebook é um equipamento com tudo junto e isso tem (no meu ponto de vista) três principais diferenças; conforto, mobilidade e expansão.
Mobilidade: vai sair de férias, ir para um evento ou passar a maior parte do dia fora de casa? Então o notebook te permite em qualquer lugar, abrir e usar. Se tiver um wi-fi para se conectar então, você vai longe. Se não tiver, compartilhe seu 4G e tá tudo certo. Você pode usar o notebook no sofá ou até deitado na cama (eu fico todo dolorido nestes casos). Já o desktop não te permite mobilidade alguma. Você pode até levar o desktop pra algum lugar, mas vamos combinar, é um trabalho danado. Notebook ganha no quesito mobilidade.
Conforto e Expansão
Conforto: com o notebook você sempre fica meio curvado, pra poder digitar e olhar pra ele. Por maior que seja o teclado ou o monitor você sempre ficará em uma posição igual. Ter um mouse externo irá te garantir mais conforto. Já o desktop te permite uma posição mais confortável, com o teclado pra cá, mouse pra lá e a tela você pode até colocar em cima de um suporte pra ficar na altura dos olhos. No quesito conforto pra mim o desktop ganha.
Expansão: é comum quem tem um desktop resolver comprar uma placa de vídeo, colocar um segundo HD, ou trocar a memória. Com notebook isso é mais difícil, porque alguns modelos e marcas deixar algumas destas peças “fixadas” na placa mãe, não tendo como aumentar ou substituir. O desktop neste ponto é melhor, pra quem pensa em ir melhorando aos poucos a máquina.
Atualmente eu recomendo em 80% dos casos comprar um notebook, e se possível ter um monitor externo. A dica neste sentido é já comprar com a configuração “perfeita” (ou quase isso), porque não poderá ficar fazendo upgrades nele.
HD vs SSD (Computador para programar)
Quando usamos o computador, a todo segundo centenas de operações de leitura são realizadas no disco. As leituras acontecem não só quando abrimos algum arquivo, mas a todo o tempo o sistema operacional ou algum software em segundo plano precisa carregar uma biblioteca, ler configurações ou registrar algo.
Programando, o acesso ao disco é ainda maior, porque o código em execução é sempre uma junção de centenas de arquivos, que são compilados, misturados, pra gerar a aplicação. Neste momento, a performance de acesso ao disco é ainda mais necessária.
Existe um tipo de disco, o SSD (Solid Stated Disk) que irá ser em média três vezes mais rápido para gravar e ler arquivos, além de não fazer nenhum ruído.
Sabe o cartão SD, ou MINI-SD de seu celular? É isso. Um disco SSD é basicamente uma série de cartões, ao invés de um disco que fica rodando. Ele não é mecânico, e é mais rápido. Porém, como eu disse no começo, mais rápido significa mais caro. Um disco SSD terá menos capacidade de armazenamento e custará mais caro que um HD.
Porém, acho que é um investimento que realmente vale a pena. Quando trocamos todos os HDs dos computadores na App Masters por SSD, o resultado foi incrível, tanto nos i7 quanto no i5. Com Android Studio aberto, rodando emulador e tudo mais, a máquina oferece uma boa performance e mantém a usabilidade.
Mínimo: SSD de 120GB
Ideal: SSD Kingston de 480GB
Como escolher o tamanho do SSD (Computador para programar)
Recomendo que o SSD seja sim seu disco principal, não pense nele como secundário. Talvez ter um HD como secundário faça mais sentido.
Quanto ao tamanho, 120GB, 240GB, 480Gb ou mais.. a melhor maneira de visualizar é ver quanto espaço você tem em disco agora, e quanto está usando. O disco de 120GB, sendo o disco principal do Windows, fica BEM apertado. Não demora muito ele lota.
Existe uma recomendação de ter pelo ao menos duas vezes sua memória RAM em espaço em disco livre. Ou seja, se tem 16GB de RAM, tenha ao menos 32GB livre no disco. Quando você tem menos disco livre que isso o computador fica estranhamente lento, porque não está tendo o espaço suficiente para o SWAP, que é um processo do sistema operacional. Basicamente falta espaço pra ele gravar uma informação temporária ou outra, enquanto as coisas acontecem.
Uso de disco por tipo de projeto
Falando no tipo de projetos que você irá desenvolver, o espaço em disco poderá variar bastante. Um projeto simples em React (olhei aqui agora) ocupa 220MB no disco. O código que eu escrevi em si, ocupa poucos KB, mas o node_modules fica com milhares de arquivos e pastas, dai cresce deste jeito.
Um projeto backend node, com docker (olhei aqui alguns agora), chega a 1GB sem muita dificuldade. Porque nele ficam todos os arquivos temporários, o banco de dados inteiro, e logs do docker e tal. Quando preciso liberar espaço apago tudo que tenho do docker, de todos os projetos, sem perder efetivamente nada. Mas enquanto estamos no projeto isso vai tomando algum espaço.
Para desenvolvimento mobile, o Android Studio e umas poucas imagens de emulador chegarão perto de uns 10GB, nem é tanto.
O ambiente de desenvolvimento para C# você precisará de pelo ao menos 40GB livres, para instalar o Visual Studio, bibliotecas e dependências. Os projetos em si não ocuparão muito espaço.
Memória RAM (Computador para programar)
O processador é o elemento mais importante quando se pensa em velocidade, quanto melhor o processador, mais rápido o computador irá responder.
Mas a memória RAM, porém, pode boicotar sua performance, se ela for pouca. Uma analogia seria ter uma Ferrari (processador i7) com pneu de carrinho de mão (4GB de RAM).
Mínimo: 8GB de RAM
Ideal: 16GB de RAM
Então já anote ai, 8 gigas é o mínimo do mínimo. Menos que 8GB, não dá. 8GB já será bem pouco. Se você for usar o PC só para internet, facebook, ler email, 8 gigas são suficientes, mas para programar 8 gigas serão o mínimo, 16GB é o ideal.
Um detalhe a se observar é que a memória RAM tem que ser maior conforme o processador é melhor, para ficar mais bem combinado. Você pode pensar em linha gerais algo como i3 com 8GB, i5 com 16GB, i7 com 32GB.
Diferença entre memórias DDR4 e DDR5
DDR significa “Double Data Rate” (Taxa de Dados Dupla), uma tecnologia de memória que permite que a transferência de dados ocorra duas vezes por ciclo de clock. Muito técnica essa informação.
Mas a principal diferença entre DDR4 e DDR5 é a velocidade de transferência de dados. O DDR4 tem uma velocidade máxima de transferência de dados de 3,2 Gbps, enquanto o DDR5 tem uma velocidade máxima de transferência de dados de 6,4 Gbps, ou seja, o dobro.
O DDR5 tem vantagens notáveis na velocidade de transferência de dados, portanto é mais eficiênte no uso de energia e principalmente no desempenho.
Marcas memória RAM confiáveis (Computador para programar)
Quando pensamos em memória RAM de alta qualidade, algumas marcas saltam a mente: Corsair, Kingston, Crucial e HyperX. Mas se você não for um especialista, a qualidade entre elas é praticamente a mesma.
Processador i3, i5, i7, i9, Intel ou AMD
O processador é sem dúvida alguma a peça mais importante do computador, o recurso que mais deve ser pensado na hora da compra. Ele é a base de todo o sistema e é quem irá segurar o tranco, quem irá gerar boa parte da performance que você vê enquanto usa o computador, como usuário ou programador.
Não compre Dual Core de maneira alguma, são processador muito primitivos e que não darão conta do recado. Falando em i3, i5, i7 e agora i9, em linhas gerais, quanto maior o número, melhor e mais caro.
O i3 será o processador mais simples, irá te atender bem para tarefas simples apenas. Se eu pudesse te diria, “não compre um i3“, porque ele irá se tornar lento muito rapidamente, se já não for lento quando comprado. O i3 é bom pra sua mãe usar facebook, sua irmã ver youtube, seu pai ler notícia… mas para programar o i3 será lento, e você não quer isso.
Logo, a partir do i5 serão as melhores opções. Entre o i5 e o i7, o que muda é a velocidade mesmo. Claro que vou te recomendar o i7, mas é o mais caro e você precisará ponderar e ver o quanto pretende investir. Mas considere apenas do i5 em diante para ter algo realmente bom.
Mínimo: i5
Ideal: i7
Já o processador i9 tem o foco em altíssima performance, e você não precisa mesmo dele. Mas pode querer te-lo, para seus jogos ficarem mais rápidos e as coisas acontecerem ainda mais rápidamente. Mas é meio que um luxo.
Intel ou AMD
Se você não sabe do que se trata, são dois fabricantes com estratégias totalmente diferentes. Claro que os dois lutam para oferecer o processador mais rápido. Se você não sabe a diferença, recomendo comprar intel. Se você sabe a diferença, já sabe escolher.
Monitores, tamanhos de tela e resoluções (Computador para programar)
Pra você, tamanho importa?
Algumas pessoas gostam de tela grande, outros preferem ter um computador pequeno e leve, mais prático de carregar. Para notebook, eu sempre preferi tela grande, mesmo que isso aumentasse o peso, porque gosto de ter espaço na tela para trabalhar.
Se você gosta de telas imensas, então o desktop é a melhor escolha. Claro que você pode comprar um notebook e ter uma tela externa, que ficará na sua mesa para usar quando estiver em casa, mas isso exigirá um investimento ainda maior (cerca de mil reais a mais). Você poderá usar o notebook fechado, ou aberto como se fosse uma segunda tela. Em qualquer caso, quanto maior a tela, mais caro.
Atualmente alguns devs preferem ter um monitor ultrawide, que são bem “esticados” horizontalmente, e te permite ter muitas janelas dividindo o espaço, como se fossem dois monitores lado a lado. Dai de uma lado fica a IDE aberta com o código, e do outro fica o projeto rodando, o que te permite rapidamente ver o sistema em funcionamento e ver o código. É prático, mas não é obrigatório.
Resolução
O que acho importante observar é a resolução. Você não quer investir uma grana no seu equipamento e depois ver que tá tudo meio “esticado”, cheio de pixel aparecendo… você quer o negócio bonitão, e a imagem transmite a ideia se o computador é bom ou não.
A resolução é a quantidade de pixels (pontos) na tela e afeta diretamente a qualidade da imagem. Monitores com resolução mais alta oferecem imagens mais nítidas e detalhadas. Não queremos nada abaixo de Full HD, porque realmente ficará ruim. O 4K é um objetivo, mas se for de WQHD/QHD ou WQXGA também tá bem de boa!
Mínimo: Full HD – 1920 x 1080
Ideal: 4K – 3840 x 2160
Quanto ao tamanho, irá do seu gosto, dai recomendo você ver outros computadores, na faculdade, no trabalho, de amigos, e olhar o tamanho da tela estando de frente, conferir a resolução em uso, para determinar se te dá uma boa sensação.
Falando em marcas, existem várias que são muito boas: Dell, Asus, Samsung, LG, Acer, HP, AOC, Philips. Qualquer uma destas irá te atender realmente bem (dependendo do modelo, claro).
Atributos avançados de monitores
Se o monitor pra você é algo bem importante, talvez porque queira jogar nele, ou porque você já tem um senso crítico quanto a qualidade, então existem alguns atributos adicionais a serem observados. Falo dos três principais abaixo.
A taxa de atualização é a frequência com que a imagem na tela é atualizada, medida em Hertz (Hz). Monitores com taxas de atualização mais altas oferecem uma experiência de visualização mais suave, especialmente para jogos ou filmes.
O tempo de resposta é o tempo que leva para um pixel mudar de cor, e irá afetar a qualidade da imagem em movimento. Monitores com tempo de resposta mais rápido são melhores para jogos e filmes, enquanto monitores com tempo de resposta mais lento são mais adequados para uso em geral.
O tipo de painel é outra característica importante a se observar quando escolhendo um monitor. Os tipos principais são TN (Twisted Nematic), IPS (In-Plane Switching) e VA (Vertical Alignment).
Estas três características irão ser cruciais na escolha de um monitor “perfeito” para você. Recomendo aprender mais sobre elas e começar a comprar os preços, porque elas afetam pra valer o valor final.
Marcas de computador (Computador para programar)
Computadores Dell são normalmente muito resistentes e duráveis, além de um serviço de suporte e garantia incrível. Porém são mais caros. Depois temos Samsung, ASUS, LG, HP, Acer, Lenovo que irão te entregar uma máquina boa, e quase sempre com um design especial, por um valor um pouco mais em conta.
As outras marcas não são tão conhecidas, justamente porque não são tão boas, não serão tão rápidas e não irão durar tanto. Eu diria para você evita-las.
Evite tudo da Positivo e Multilaser o máximo que puder, porque são produtos de baixissima qualidade, e quando programamos precisamos confiar nos equipamentos que usamos.
Preço, performance e qualidade
Você que sabe quanto pode investir e não vou te falar para se endividar todo para comprar algo caro demais. Vá até você consegue pagar.
Mas, fique ligado, pagar menos agora e comprar uma máquina que em breve não te atenderá tão bem seria certamente um desperdício, seria um investimento ruim. Eu sempre preferi pagar um pouco mais, mesmo se me deixasse um pouco apertado por um tempo, em troca de ter um computador que me facilitasse a vida e durasse um tanto mais.
Pensando em um computador que irá usar para trabalhar e ganhar dinheiro, você investiria 4 mil reais? Se pagar este valor em 12 parcelas seriam R$333,00 mensais. Você acha que conseguiria realizar algum tipo de serviço com este computador que te renda mais de R$333,00 em cada mês? Pense nisso.
Não fique sismado que estou linkando a amazon, mas é só para facilitar eu comparar os modelos e benefícios. A cada bloco irei apresentar computadores melhores, até chegar ao Mac.
Computador para programação web (Computador para programar)
Se você irá programar pra web, usará certamente Visual Studio Code e seu navegador, ou seja, usará poucos recursos. Seja com React, Angular, PHP, Python ou outro framework/ferramenta qualquer, uma máquina simples já irá te atender. Não é preciso uma máquina top de linha pra programação web. Você poderá investir entre 3 e 5 mil em uma máquina realmente boa pra este fim.
Computador para programar desktop, mobile ou C#
Você pretende desenvolver para celulares? Então precisará ter uma máquina realmente boa. No caso da programação mobile, o Android Studio é muito pesado, em conjunto com o emulador que você precisará rodar fará sua máquina se arrastar, não estou brincando. Seja sua máquina qual for, programação mobile deixará ela processando ao máximo.
Pensa em programar em C#.Net? O Visual Studio é uma IDE excelente, porém, quando rodando junto com o Sql Server na máquina local, e com todas as facilidades que ele oferece, exige muito recurso de hardware.
Nestes dois casos nada menor que um i7 com pelo ao menos 12 gigas irá te atender, ou seja, algo entre três e quatro mil. Eu te recomendaria seria um i7 com 16 gigas para esta finalidade, que custaria perto de cinco mil reais.
Programação para iPhone, iPad, iOS
Se você pretende desenvolver para iOS, só existe um tipo de computador que poderá faze-lo adequadamente… um Mac!
Neste caso estamos falando de máquinas bem mais caras, porém, muito melhores, difíceis até de se comparar com os PCs.
O Macintosh é um computador diferenciado, que oferece uma performance e estabilidade fora do comum, tanto por causa do sistema operacional, quanto pela arquitetura, e pelo hardware que usualmente é utilizado. Desde 2013, todo Mac vem com SSD, o que o torna bem mais rápido e ágil.
Arrisco dizer (por minha conta) que um mac i5 com 8gb seria equivalente a um PC i7 com 12gb, em função desta combinação SO x arquitetura x hardware. Já com os novos processadores Apple Silicon, ficou impossível comparar com os demais. Eles fazem um uso aprimorado da memória RAM, é meio que “rende mais” a memória.
Você pode acha que pessoas que usam mac são “fãs da apple” ou coisa do tipo, mas, para para alguns segmentos são máquinas incríveis em todos os aspectos, incluindo programação e edição de videos.
São os computadores realmente caros. Um computador adequado da apple não sai por menos de oito mil reais.
Mínimo: MacBook (air ou pro) i5 com 16gb
Ideal: Qualquer Mac i7 em diante, ou M1
É possível também fazer o “hackintosh“, que é uma forma de instalar o sistema operacional da Apple em um pc comum, mas neste caso é preciso pesquisar bem para adquirir o hardware que seja totalmente compatível. Mas nunca vi alguém manter um hackintosh por muito tempo, não sei porque.
Mac é melhor para programar?
Eu diria que para programar não existe nada melhor que um Mac.
Se você desenvolve para Windows Desktop, talvez seja melhor um PC com Windows. Digo talvez, porque quando migrei para o Mac em 2013, programei uns anos para Windows ainda usando uma máquina virtual (Parallels) e ficava impressionado como o Windows rodava suave. O Windows rodava melhor na máquina virtual do Mac, do que no PC que eu tinha ao lado.
Talvez você não saiba, mas o macOS é um sistema operacional Unix-like, ou seja, veio do Unix (tal como Linux), o que significa que inclui muitas ferramentas e utilitários de linha de comando. Coisa de programador.
O macOS também é conhecido pela estabilidade e confiabilidade, o que faz toda a diferença pra mim, porque eu sei que ele sempre funciona. Ele funciona, o tempo todo. Parece besta essa informação, mas realmente ele está sempre funcionando e em raríssimas vezes dá algum tiuti.
O sistema operacional da Appe é considerado mais seguro do que o Windows, então você não fica naquela nóia de pegar virus. Isso pode ser importante para programadores que trabalham com dados sensíveis ou projetos críticos de segurança.
Processadores Apple Silicon (Computador para programar)
A Apple é sinistra. Não sei se você sabe, mas ela lançou no final de 2020 uma linha própria de processadores “Apple Silicon”, os famosos M1 (e agora também M2).
Eles são baseados na arquitetura ARM, enquanto os processadores Intel são baseados na arquitetura x86. Eles oferecem melhor eficiência energética e desempenho em relação aos processadores Intel, o que resulta em melhor duração da bateria e desempenho mais rápido em qualquer tarefa. Além disso, os processadores Apple Silicon são projetados especificamente para os sistemas operacionais da Apple, o que causa a uma melhor integração e desempenho geral do sistema.
Em outras palavras, a performance é INACREDITÁVEL. Poucas vezes no mês eu paro pra pensar “deixa eu fechar algo para ficar mais rápido”. Ele é extremamente rápido para tudo que você imaginar.
Xcode, Swift, Objective C
O macOS vem pré-instalado com o Xcode, que é a IDE para criar aplicativos para iOS, macOS e outros sistemas operacionais da Apple.
Com o Xcode você programa principalmente em Swift, que é a linguagem atual da Apple para o iOS. Você pode tambem programar (ou manter o legado) com Objective-C, que é a linguagem anterior e um tanto “mais feinha”.
O processo de deploy e publicação de um app iOS não acontece como um sistema web ou android. Diretamente no Xcode você realiza o deploy e a distribuição, enviando os binários por ali diretamente para Apple.
Se sua meta é programar nativo pra iOS, te aviso que o Xcode é pesadão, e recomendo começar mesmo de um i7 com no mímimo 16gb pra isso.
Concluindo
Enfim, não tenho como te dizer que máquina exatamente deve comprar mas espero ter te ajudado levantando alguns aspectos relevantes aqui. Preciso te dizer que você não conseguirá comprar nada de qualidade por menos de dois mil reais. Um computador barato irá durar pouco, irá processar lentamente e estragar antes da hora.
Recapitulando o que te recomendo:
- Compre um notebook se quiser ir para o lugares
- Compre desktop se quiser conforto e tela grande
- Memória RAM, no mínimo 8 gigas
- Compre apenas de i5 pra cima
- Não compre HD, apenas SSD
- Confie em marcas boas, se quiser ter algo que dure um pouco mais
- É deste computador que você comprará, que sairão todos os programas e códigos incríveis que você fará nos próximos anos
Se tiver qualquer duvida envie pelos comentários que te responderei com prazer.
Outras dúvidas (Computador para programar)
É preciso ter um PC Gamer pra programar?
Não. Para programar é bom ter um computador melhor, mas não é obrigatório ter algo tão potente ou com uma placa gráfica tão poderosa. Agora, se você for programar para games, certamente seria bom um PC Gamer.
Linux roda em qualquer computador?
Sim. Os computadores que rodam Windows também conseguirão rodar o Linux, tranquilamente. A maior parte das distribuições linux serão mais rápidas que o Windows. Além do que você irá aprender sobre terminal e sobre o linux em si, e tirar uma onda de hacker.
Montar ou comprar pronto?
Você irá gastar menos montando o computador peça por peça, porém corre mais risco de ter uma máquina instável, já que as peças nem sempre serão as ideias para trabalhar em conjunto. Se puder comprar toda pronta, será melhor. Montar, só se você já for um usuário avançado e souber detalhadamente sobre cada parte.
Porque o computador vai ficando mais lento?
Isso acontece principalmente porque o Windows (e outros sistemas operacionais) vão ganhando novas versões, mais modernas, com mais recursos, mas que sempre exigirão um pouco mais da sua máquina, tornando-se mais pesados.
Pode programar com anti-virus ligado?
Você deve desliga-lo enquanto programa. Como um interessado em se tornar um programador, deveria entender como os vírus funcionam e sequer ter um anti-vírus instalado… mas, tendo um, desligue-o enquanto programa, porque o processo de compilação fará milhares de leituras e escritas no disco em poucos segundos e o anti-vírus irá conferir cada etapa disso tudo, tornando o processo de compilação muito mais lento.
Preciso de placa de vídeo Geforce/Nvidia para programar?
Não precisa, definitivamente. A vantagem de ter uma seria que ela iria se encarregar de processar o vídeo, deixando assim o processador livre para desempenhar outras funções, ou seja, a máquina ficaria mais rápida no geral. Seria um “plus a mais”.
Leia também nosso artigo “O que é linguagem de programação Ruby?“