¿Qué especificaciones de computadora son las mejores para los desarrolladores de software y cuáles son los costos?

Para mí, la RAM y la velocidad de E / S marcan grandes diferencias en el desarrollo. Hoy no especificaré una máquina de desarrollo con menos de 16 GB de RAM (se prefieren 32 GB) y una SSD. También incluyo una tarjeta gráfica discreta que puede manejar un monitor 4K. Dos monitores no son un requisito y solo uso uno en casa, pero los bienes inmuebles que ofrece la resolución son la necesidad principal. Dos pantallas de 1080p o una 4K es una cuestión de preferencia personal.

También especifico una CPU con soporte completo de virtualización de hardware. Algunas versiones de CPU tienen soporte VT-x limitado ya que están dirigidas como CPU de juegos o rendimiento. La virtualización de hardware le permite ejecutar emuladores e hipervisores de manera más eficiente. Dado que muchas tecnologías más nuevas están basadas en la nube, la capacidad de ejecutar VM locales en la nube con aceleración de hardware es un beneficio de rendimiento significativo. En su mayor parte, esto solo implica verificar las especificaciones en la CPU.

RAM y SSD minimizan el tiempo de espera de E / S y una CPU con capacidad VT-x es más que lo suficientemente rápida como para admitir cualquier herramienta que le arroje. Con muchas herramientas en ejecución, la gran cantidad de RAM minimiza el uso de archivos de intercambio / página. En máquinas de 32 GB no tengo ningún intercambio y / tmp está montado en un disco RAM para mayor velocidad.

Obviamente, esto implica un escritorio. Mientras escribo código en las computadoras portátiles, son máquinas temporales y cualquier trabajo serio que hago se realiza en una computadora de escritorio. Más barato y más poder por dólar. Básicamente, obtenga la mayor cantidad de RAM, una SSD y los mejores monitores que pueda pagar. Las máquinas como las que describo se pueden adquirir por $ 1500 USD o menos, dependiendo de lo bueno que sea para armar piezas y aprovechar las ofertas.

No necesitas una bestia, pero una computadora más capaz siempre es bienvenida.

UPC; i3 o mejor, AMD Phenom o mejor. El procesador se usa mucho, pero el rendimiento entre la gama superior y el rango medio no es tanto para justificar el costo adicional. En una computadora portátil es más importante ahorrar energía que ahorrar 0,12 segundos de tiempo de compilación.

RAM; Mínimo 4 Gb, 8 Gb cómodo. Depende de lo que quieras usar. Un IDE como Eclipse o Android Studio comerán felizmente 1Gb de RAM. Ejecutar un emulador o una máquina virtual es otra tarea de calentamiento de RAM.

GPU; suficiente para soportar múltiples pantallas. Tener dos o más pantallas es muy útil cuando se programa, más RAM visual. A menos que trate con juegos o aprendizaje profundo, no se preocupe.

Disco; SSD Un disco rápido ahorra tiempo al arrancar todo incluido sus programas. Esto es mucho más visible que un procesador más rápido, ya que el acceso al disco es el cuello de botella más frecuente.

Pantalla: tanto como la definición que tus ojos pueden ver. Vaya a una tienda para ver las diferencias entre los monitores HD, 2K y 4K. Si no ves mejor en alta definición, no te molestes. Es mejor invertir en un monitor lateral.

Ratón; Los ratones baratos para juegos son útiles porque puedes asignar atajos de teclado como “compilar todo” o “git push” en los botones adicionales.

Las computadoras portátiles son mejores para llevar, las computadoras de escritorio son mejores para el precio / rendimiento. Si es una computadora de escritorio, un UPS pequeño puede darle tiempo para guardar y apagar de manera segura en caso de un apagón.

¿Estos días? 8 GB de RAM, 500 GB de disco duro. O mejor para cada uno. (Si se trata de una computadora de escritorio, incluso 4GB de RAM están bien para comenzar, siempre que se pueda actualizar [tiene el zócalo] para expandirse a 16GB, que eventualmente necesitará).

Cualquier otra cosa es tu elección. ¿Un SSD para arrancar? Eso es bueno, pero he estado arrancando desde discos duros desde los años 70 (y otros probablemente han estado usando discos duros por más tiempo) y aún funciona. ¿Un monitor de 28 ″? Un poco grande para mí, estoy contento con mis 24 ″. Monitores duales? Eso puede ser útil, pero no es necesario.

Si desea lo mejor: 32 GB de RAM, 4 unidades, 3 TB cada una, en una configuración RAID, por lo que tiene 2 unidades y 2 que se escriben al mismo tiempo. La posibilidad de que 2 unidades fallen al mismo tiempo es muy pequeña. ¿Una unidad falla? Usted compra otro, reemplaza el que falló y su software RAID lo llenará. Al menos 2 monitores grandes (y una tarjeta de video que puede admitir la cantidad de unidades que planea obtener). Un “servidor”, por lo que tiene una fuente de alimentación de respaldo en caso de que falle.

Nunca he tenido una máquina como esa, y he estado desarrollando software de sistema, juegos, todo tipo de software sobre la máquina mínima que podría usarse en ese momento. Y nunca tuve ningún problema. (¿La compilación tomará 5 minutos? Tienes la excusa perfecta para levantarte, estirarte e ir a tomar un café).

El desarrollo de software no es una tarea exigente para una computadora. De hecho, la mayoría de las distribuciones de Linux para una Raspberry Pi vienen con un entorno de desarrollo de programas decente. Debe elegir su computadora basándose en consideraciones para otros usos además de la programación.

Como programador, es probable que desee poder ejecutar Linux, y la mejor manera de hacerlo en una PC con Windows o una Mac es en una máquina virtual. Para hacer eso, quieres al menos 8 GB de RAM. Puede comprar una PC de escritorio adecuada por menos de $ 400. Si está dispuesto a ejecutar solo bajo Linux, puede obtenerlo mucho más barato.

Respuesta corta: depende. Que quieres hacer con eso? ¿Cual es tu presupuesto?

¿Qué quieres desarrollar? Si desea desarrollar aplicaciones iOS, necesita una computadora hecha por Apple. Esto tiende a llevarte al lado más caro de la casa.

Si desea ejecutar Android Studio para desarrollar aplicaciones de Android, puede hacerlo en una máquina con Windows. Esto tiende a ser más barato que una Mac.

Si estuviera en el mercado, iría con una máquina con un procesador i7 con más de 10 GB de memoria. Prefiero monitores más grandes para poder tener varias ventanas abiertas. Comprar una computadora portátil en lugar de una computadora de escritorio le brinda la movilidad y la libertad de trabajar desde una cafetería 🙂

Cuando las personas (generalmente no desarrolladores) me piden consejos de compra, les digo que el espacio en disco no importa, la velocidad de la CPU no importa, solo compre tanta RAM como pueda en la caja. El desarrollo de software no cambia tanto. Un SSD ayudará al rendimiento, probablemente desee un monitor grande y agradable, o varios monitores / tarjetas gráficas si le gusta. A menos que tenga un presupuesto muy limitado, hoy en día es difícil comprar una computadora insuficiente.

La mejor solución que funciona para mí es comprar una computadora portátil en lugar de una PC de escritorio para desarrollar software, por supuesto, si puede tener ambas, entonces es genial, pero si elige entre una u otra, entonces es una computadora portátil. Es porque cuando me voy, al extranjero o simplemente viajo, puedo llevar la computadora portátil conmigo y desarrollarla para llevar.

Las computadoras que uso:

PC para el hogar (para desarrollar juegos y jugar ocasionalmente):

I7 7700K

16 GB de RAM DDR4

GeForce 1080 TI

1 monitor ultra ancho 34 ″ 1440P

Costo: más de £ 1400

Trabajo portátil

MacBook Air 2015 13 ″

i5

4 GB de RAM

SSD de 120 GB

Costo: £ 700 a través de eBay

Mi mac para desarrollar sitios web fue excelente, pero cuando pasé a desarrollar aplicaciones y juegos móviles, sentí que no estaba funcionando correctamente. El procesador está bien, pero la memoria RAM y el almacenamiento son demasiado bajos. Xcode, vs, unity3d y otras aplicaciones ocupan la mayor parte del espacio y se ejecutan muy lentamente. La mayor diferencia que siento es cuando regreso a casa y empiezo a trabajar en la PC de mi casa, ya que todo está más o menos en repositorios en línea como github, unity collab, etc. Puedo cambiar fácilmente las computadoras cuando estoy desarrollando.

La próxima actualización, supongo, es una MacBook Pro y quiero al menos 16 GB de RAM.

Por lo tanto, NO obtenga nada con menos de 8 GB de RAM, confíe en mí tarde o temprano, será infeliz, y si obtiene un nuevo macbook o una máquina que no puede actualizarse, será aún más infeliz.