Esto necesitas saber al comprar un PC para: Desarrollo de software
Matti Piiroinen - Flickr (CC)
Mientras unos ocupan el PC para hacer cosas básicas, servir medios o derechamente jugar, hay quienes realizan tareas más serias en sus equipos. El desarrollo de software es algo más exigente en términos de fuerza bruta y espacio, requiriendo mayor seriedad y estabilidad a la hora de probar cosas. Es como un laboratorio en una caja.
¿Para qué personas les serviría esta computadora? Por desarrollo entendemos desde crear sitios y aplicaciones web, hasta compilar software de mediana altura para otros equipos de escritorio como múltiples dispositivos móviles – algo que es la moda hoy en día. Nuestros ojos verán gran parte del tiempo líneas de código y listas interminables de archivos y varios programas corriendo simultáneamente.
Metamos a la ecuación Aptana Studio, Zend Studio, Eclipse, NetBeans, o hasta el propio Microsoft Visual Studio y Dreamweaver. Otros con algo más de conocimientos estarán pegados en Linux y los múltiples programas que existen para crear aplicaciones, como lo es el Android SDK. Una computadora de medio pelo demora bastante en cocinar una versión de Android para un dispositivo, y lo que menos queremos es estar esperando a que termine o dejar tiempos muertos. Otros estarán con varias máquinas virtuales haciendo diferentes tareas por múltiples razones.

Alison Chaiken - Flickr (CC)
Con todo lo anterior, tampoco queremos tener una pantalla pequeña ni un teclado poco amigable con las manos. Hoy en día se puede aprovechar muy bien dos o tres pantallas de forma simultánea, especialmente cuando estamos corriendo múltiples cosas a la vez. Con todo esto, ya tenemos más o menos el perfil del equipo que queremos:
- Mucha fuerza bruta para compilar y procesar datos.
- Que soporte muchos programas grandes de forma simultánea.
- Cómodo en el aspecto visual y táctil.
No suena a tanto equipo, pero claro, todo depende del presupuesto.
Buen procesador
Quizás en algunas aplicaciones de desarrollo, especialmente web, un procesador doble núcleo con “suficiente” poder de cálculo debería bastar porque no es un pilar fundamental, pero en otros donde hay compilar muy a menudo o bien estar constamente requiriendo más fuerza bruta para calcular cosas, esto sí es importante.
Lo mejor sería algo con más núcleos dado el alto paralelismo que pueden alcanzar algunas tareas. Sí, el paralelismo en algunas aplicaciones se está transformando en algo obligatorio hoy en día, no como antes donde un procesador doble núcleo veloz podía dejar atrás cualquier ofrecimiento similar. Tampoco hay que dejar de lado la posibilidad de tener un procesador overclockeado al máximo si cumples con las 5 razones para hacer overclock.
Múltiples pantallas o una grande
Múltiples pantallas, o una grande, será de especial agrado para los desarrolladores de aplicaciones, o aquellas “armadas de un sólo hombre” – muy común en el mercado de freelancers. Con tanto espacio a la vista para ocupar en código y vista previa, la gente que realiza aplicaciones puede tener el esqueleto de su programa en un monitor y el resultado en el otro, evitando cambios constantes de aplicaciones que a la larga son molestos. Obviamente, mientras más grandes, mejor, dado que no hay que centrarse en letras pequeñas y esforzar demasiado la vista.

ginnerobot - Flickr (CC)
También es posible pensar en sólo un monitor grande, pero con el precio de los monitores LCD debería ser relativamente asequible conseguir dos de buena resolución. Lo que menos haremos allí será jugar o tener una buena calibración de colores; nuestros requerimientos no aumentan los costos.
Mucha memoria RAM
Programas de desarrollo tienden a necesitar entre harto y bastante, y es algo a considerar si el tamaño del proyecto es enorme y hay varios programas relacionados. Por ejemplo, el caso más clásico: Dreamweaver (u otro similar) abierto con 5 navegadores diferentes para visualizar cómo se renderea el código. Eso sin contar el resto de programas en segundo plano que pueden haber, como Photoshop o Fireworks.
Por lo tanto, tener más memoria RAM disponible para ser populada es lo ideal. Mucho mejor considerando que Windows x86-64 — mal llamados “64 bits”– ya es una plataforma estable y que no tiene problemas al soportar sistemas con más de 4GB. Sin embargo, quizás otros pasen por alto esta opción para centrarse en mejorar la pantalla, aparato que verán la mayoría del tiempo al escribir.
¿Y el teclado?
Aquí entramos a campo de gustos. He tenido cientos de teclados encima de mis manos, desde esos clásicos de los años 90 que tendían con teclas altísimas hasta las últimas joyas de Apple. Si es por comodidad, mi recomendación sería un teclado como el de Apple pero con teclado numérico y no necesariamente inalámbrico. Está bien, no es para nada barato, por lo que les agradará saber que el SlimStar i220 de Geniusno cobra un ojo de la cara y se acerca bastante. También está la opción de conseguir versiones más clásicas, o parecidas si no te gusta la marca o del diseño.

SlimStar i220 de Genius tiene las teclas muy "estilo Mac" pero no se sienten igual.
Si quieren algo cómodo para los dedos, elementos que usarán prácticamente todo el tiempo, les digo desde ya que no piensen en cosas bajo los USD $20, buenos periféricos por ese precio son pocos y el resto está a unos billetes más arriba.
En resumen
Lo importante: Pantalla.
A considerar: Buen procesador, Memoria RAM, Teclado.
Una cuarta cosa a considerar por muchos será el disco duro. Si bien algunas actividades de desarrollo no tienden a ocupar mucho espacio de almacenamiento, como son las aplicaciones web, otros que se enfocan derechamente a software tendrán varios archivos, múltiples versiones de ellos y varias copias. ¿Ya no se ve tan grande ese disco de 500GB?
———
También pueden comentar en nuestro foro.
Los nuevos CPUs y APUs AMD Opteron basados en x...
Intel anuncia sus co-procesadores Xeon Phi de s...
Hardware de AMD en las consolas determinará los...
Conociendo a los futuros CPUs Intel Core Extrem...
Conociendo el hardware que potencia a las nueva...
NVIDIA reitera su compromiso con los juegos par...
Rumor: Intel abandonará también el negocio de t...
Intel alista nuevos SoCs Core de cuarta generac...
84 Comentarios
Esto necesitas saber al comprar un PC para: Desarrollo de software
Italo Baeza Cabrera Como que mal llamados “64 bits”, si gracias a los 64 bits que ocupa para direccionar más de 4GB se puede.
ResponderSeguí tirando bolasos si total es gratis :D
"he visto casos de programadores inexpertos que a ultima hora estan tacandomen la puerta pidiendomen ayuda porque su PC de medio pelo se trabo en la mitad de una compilacion con mas de 30 clases y aproximadamente unas 6.000 lineas de codigo y muchas de ellas utilizando librearias graficas y algoritmos matematicos de doble procision, es absurdo quere compilar todo esto en un simple viejo Athlon64 X2 Brisbane con 2GB RAM"
A todo eso, yo te pregunto? Tenes una puta idea de cómo funciona un compilador? 6000 lineas de código son una chotada de compilar, especialmente si utilizas lenguajes de más alto nivel como C# que se compilan a código intermedio como lo es IL. Sin mencionar que una vez compilado todo sólo es necesario recompilar los archivos/modulos/proyectos modificados según el lenguaje que estés utilizando.
"muchas de ellas utilizando librearias graficas y algoritmos matematicos de doble procision"
Nunca se vio que la complejidad de los algoritmos determinaran la complejidad de compilación y mucho menos aún el tipo de datos que se esté utilizando. El código que vos escribís el compilador lo agarra, lo parsea, crea una representación intermedia (árbol AST) y ésto se vuelve a procesar generando el código objeto (previamente haciendo un análisis semántico, optimizando el código por ejemplo mediante análisis de flujos), y luego de compilar se vuelve a optimizar el código objeto. Para todas estas tareas no importa el tipo de datos, los doble precisión no tienen sentido para el compilador, es simplemente un tipo de datos, expresión semántica etc. más del montón que se traduce a un conjunto de instrucción en código objeto PERO NO SE EJECUTA!
"y ademas he visto casos en el cual por darselas de que saben programar a pelo osa sin IDEs, no fue posible hacer debbuger al codigo y hubo que trastear todo el codigo a una IDEs, los programdores Junior, y en alguno cosas los programadores Semi Senior, les dan por pasarsen de copados a desarrollar sin IDEs una locura"
O en tu trabajo generalmente no existe el orden y todos son totalmente improductivos o vos estas cagándonos a mentiras a todos como hacés siempre (me inclino más por esto). A quién le vas a hacer creer que en un trabajo te van a dejar trabajar sobre un proyecto medianamente grande como vos decís utilizando sólo un block de notas? No seas peleador, no usas SVN, TFS o alguna herramienta de repositorio de código? El programador que vos decis trabaja 15 horas como un mongólico sobre un block de notas y sobre un código inaccesible al resto, y que además cuando lo quiera juntar con el del grupo de trabajo se va a querer cortar las bolas con la primer tenaza que encuentre. Que querés que te diga no te creo un carajo.
Me abstengo a comentar sobre la publicidad patética que haces sobre los procesadores de INTEL cada vez que podés, pero pensá en lo poco que te escribí arriba y saca tus propias conclusiones de qué tan sofisticado debe ser el CPU para compilar, nunca en su puta vida usa FPU ni nada, usa sólo los ALUs, para realizar una tarea tan pero tan repetitiva y sin complejidad que va a importar más tener muchos núcleos (si tu proyecto es grande y con muchos módulos que deben recompilarse todos) que tener un CPU super complejo.
FACTS: http://www.tomshardware.com/reviews/fx-8150-zambezi-bulldozer-990fx,3043-16.html
Baja y mira los tiempos de compilación de miranda IM, obviamente compilar un proyecto sólo no trae grandes beneficios para los procesadores multicpu, PERO por más Intelero que seas TENES QUE PODER VER que un phenom está a sólo 3 seg de un sandy clock x clock en un test que es claramente MONO HILO.
Excelente respuesta LM!
Yo habia leido que el compilador ejecuta el codigo para señalar otro tipos de errores, puede ser?
El compilador nunca ejecuta código, y simplemente puede detectar errores en tiempo de compilación, pero no los errores en tiempo de ejecución. Los errores en tiempo de ejecución generalmente los detectas con el debugger, que no es más que ejecutar la aplicación compilada y "attachear" de alguna manera el código fuente al proceso que se está ejecutando (generalmente a través de archivos especiales, por ejemplo PDBs que te dicen qué instrucción del codigo objeto generado se corresponde a qué linea en el código fuente), con esto podés saber claramente dónde se produce el error en el código cuando la aplicación explota.
Aparte de esto para los lenguajes de más alto nivel, administrados por "VMs" como son java o .net generalmente con el IDE y debugger podés ver incluso la configuración del contexto (los valores de todas las variables, métodos etc. accesibles desde la instrucción que se está ejecutando) y tener más pistas de porque surge el error.
En lenguajes de más bajo nivel como C++ es recomendable (y hasta necesario) hacer uso de herramientas externas para encontrar errores en tiempo de ejecución. Un ejemplo, son utilidades que te permiten ver los bloques de memoria asignados en el heap y en qué parte del código se produjo dicha asignación (los programadores experimentados con C y C++ que hayan desarrollado aplicaciones medianamente complejas sabrán el DOLOR de cabeza que es corregir leaks de memoria), un ejemplo de este tipo de utilidades es RuntimeChecker, lo recomiendo totalmente a gente que trabaja o desarrolla con C, C++.
Me molesta la gente que inventa cosas y más todavía cuando queda tan evidente que lo está haciendo, que me tomo la molestia de hacer que las conclusiones sin ningún fundamento a las que llegan caigan a donde debe estar.
Es tan simple como eso, dejate de inventar pavadas y yo no te jodo más. Por tu ortografía podría decir también que eso de las tesis magistrales es otro invento sin fundamento ninguno, nunca vi que un algoritmo ocupe 6000 líneas de código. Cuando se hacen investigaciones de grado, generalmente se utilizan algoritmos específicos y que se ejecutan en entornos controlados, para que el resultado quede aislado de factores externos que puedan afectar al test de hipótesis, por lo tanto el código de prueba se reduce a una fracción de esas 6000 (o 4000) líneas de código que tiraste.
@Just Geek me pareces un ALT de LexDylan realmente y no tengo ganas de discutir con ALTs, pero hasta ahora, los programas con los que trabajo demoran mucho más en compilarse que en ejecutarse, entre un AMD y un Intel quizás haya diferencias, pero el tiempo de ejecución de programas web/escritorio difiere por segundos, si lo hace, la velocidad del disco hace más diferencia.
Bueno, hasta acá llegué, si queres seguí trolleando sólo :)
LM sapbe... nada que decir, no da gusto discutir con gente que dice burradas com o LexDylan .... 4000 lineas de codigo es un proyecto medianamente pequeño. =/
Con animo constructivo y teniendo en cuenta que me encanta chw...este es el articulo mas chorra e insulso que lei en mucho tiempo..?Por que?...Porque el target al que va dirigido ya conoce perfectamente el tipo de maquina que necesita, y lo de la buena pantalla es algo que se agredece en todos los ambitos.
ResponderOs imaginais ver en la teletienda/telecomerciales anuncios de bisturies para cirujanos, pues igual.
Con contadas excepciones los comentarios me dan un poco de vergüenza ajena y risa... Como es posible que supuestos desarrolladores "expertos" se autoproclaman de esa forma por no utilizar un IDE, o por programar en Linux, etc. Si bien no soy de la idea que una persona tiene que saber mas de un lenguaje de programacion como decia uno de los comentarios, si soy de la idea de que cuando uno sabe programar bien no importa el lenguaje con solo saber la sintaxis ya se puede hacer algo mas o menos... Obviamente si se lo compara con una persona que se especializo en el lenguaje la diferencia es abismal.
ResponderMe he especializado en C# simplemente porque me gustan los lenguajes con sintaxis similar a C sin meterme en complejidades de manejar memoria manualmente, en ese sentido si soy comodo y prefiero que el CLR de .NET haga su trabajo. Si es importante que los autodenominados "expertos", recuerden que si se utilizan objetos que implementen la interfaz IDisposable llamen al Dispose para liberar el objeto ya que si no el Garbage Collector creera que el objeto aun se està utilizando aun cuando ya no es asi, a eso se denomina que el objeto esta rooteado.
Porque comento esto? Simple, muchos "expertos" cuando los entrevisto les pregunto acerca de esto y como funcionan los ciclos de recoleccion de basura de .NET y no tienen la menor idea y es ahi cuando se comienza a crear codigo con un rendimiento pesimo y con un alto consumo de memoria
Por ahi lei un comentario de una persona que decia que nosotroas debemos desarrollar interfaces de usuario sencillas y con alta usabilidad... Por favor! No somos diseñadores para eso hay personas que saben mas de eso y por su parte nosotros sabemos de programacion y de codigo altamente performante
Para el chistoso que clamaba que es mejor desarrolllar en un editor de texto, anda a programar en COBOL y dejate de gastar tiempo ahi si no tienes un IDE... En mi caso utilizo harto Visual Studio y es increible lo que ayudan ciertas funcionalidades como la posibilidad de conocer el test coverage de nuestras pruebas unitarias o Intellitrace para depurar de manera offline un bug y sin la necesidad de nuevamente ejecutar la aplicacion y reproducir el bug.
En fin hay muchas personas a las cuales lei en los comentario que dieron comentarios muy inteligentes y ciertos, en cambio otros que simplemente me hacian reir. Sin embargo el comentario mas importante que lei fue el de una persona quien dijo que todo desarrollador deberia tener una silla digna de un rey, porque? Simple son muchas las horas que pasamos sentados y asi evitamos daños a nuestras espaldas :)
Compartiendo mi visión :
ResponderHan oído algo sobre la "zona de confort"?, bueno.... programas mejor fuera de ella.
de hecho creo que un programador entusiasta y apasionado hace las mejores cosas o al menos, las mas creativas con un PC de mierda que con un monstruo. Lleven su notebook regalón a un sillón incomodo por 2 horas, harás maravillas. trust me.
Los IDEs corren en cualquier parte, la programación gráfica está por ahí no mas con la programación "enterprise" en cuanto a necesidades de componentes abiertos y herramientas (incluso creo que necesitan mas), aparte un buen programador puede aislar unidades de trabajo como comentaban mas arriba y trabajar en módulos o test unitarios. (hay mucha gente que parte trabajando : compilando todo y levantando todo un ambiente para probar un if en una clase apretando F5).
Los PCs de ahora tienen mucho poder de procesamiento (de sobra) y para desarrollar están mas que perfectos.
Me atrevería a decir que un modelador 3d o los artistas de juegos en general necesitan mas máquina que el programador.
comparto con el articulo con lo del teclado, pero una vez mas , no hay que ponerse muy cómodo cuando se trata de ser creativo !.
MHO .
Compartiendo mi visión :
ResponderHan oído algo sobre la "zona de confort"?, bueno.... programas mejor fuera de ella.
de hecho creo que un programador entusiasta y apasionado hace las mejores cosas o al menos, las mas creativas con un PC de mierda que con un monstruo. Lleven su notebook regalón a un sillón/escritorio mas incomodo de la oficina/casa por 2 horas, harás maravillas. trust me.
Los IDEs corren en cualquier parte, la programación gráfica está por ahí no mas con la programación "enterprise" en cuanto a necesidades de componentes abiertos y herramientas (incluso creo que necesitan mas), aparte un buen programador puede aislar unidades de trabajo como comentaban mas arriba y trabajar en módulos o test unitarios. (hay mucha gente que parte trabajando : compilando todo y levantando todo un ambiente para probar un if en una clase apretando F5).
Los PCs de ahora tienen mucho poder de procesamiento (de sobra) y para desarrollar están mas que perfectos.
Sobre los monitores, hay estudios que demuestran que un monitor de 22'' es lo optimo, un poco mas y la productividad comienza a decaer, hay que pensar mas en pixeles mas que tamaño http://goo.gl/JDY0 .
Lo mas apropiado para programar es linux, y en mi opinion el mas robusto y userfriendly es Debian
ResponderLinux a diferencia de windows optimiza los procesador AMD FX
Ahi dejo un review del FX-8150 sobre linux
www.chw.net/2011/10/amd-fx-8150-review-en-linux-parte-1/
http://www.phoronix.com/scan.php?page=article&item=ubuntu_1204_virt&num=4
NO tomen en cuenta a ese pobre mitomano de Lexdyyan solo habla incoherencias totalmente contrarias a la realidad.
Linux no optimiza nada, lo que optimiza es el compilador (GCC creo que es el más utilizado en linux). Lo más apropiado para programar es Linux? Si programas en .net metele a windows, no hay chance, es más estoy 100% seguro que en la mayoría de las empresas de software utilizan windows, y visual studio (para .net).
En windows no utilices el compilador de Intel, ni librerías compiladas con dicho compilador y no va a haber problemas de rendimiento para otras arquitecturas.
Tengo procesador core 2 quad, pero me fijé que tuviese compatibilidad con virtualización, corre super bien las máquinas virtuales.
Responder8Gb de RAM lamentablemente no son high end, pero corren bastante bien.
4Tb de disco Duro, de ellos 2 discos los tengo en RAID para rendimiento y seguridad.
Pantalla Full HD.
Normalmente corro 3 instancias de Visual Studio y una de MsSql, 2 máquinas virtuales, una con XP y otra con 7 sobre windows 7, Firefox y chrome, office, a veces Photoshop. La máquina me aguanta super bien, normalmente tengo ocupado 6.5Gb de ram.
Y teclado, solo un Microsoft Comfort 2000
PORQUE YA NO HAY TECLADOS CON LA TECLA ENTER GRANDE? :( (que no sean de marcas pencas)
ResponderJusto mirando un review me acordé de este hilo. Para el idiota de LexDylan si lee denuevo:
Responderhttp://www.hardware.fr/articles/863-14/compilation-visual-studio-mingw-gcc.html
Ahí tenes como se desempeña tu mierda de i3, que recomendabas "como mínimo" compilando. Y de paso vez como el 8150 esta casi a la altura de los i7, y le pasa el trapo fácil a todos los i5.
Deja tu Comentario