¿Los nuevos desarrolladores eligen entre programar en Windows 7 o Mac OS X 10.7? ¿Cuáles son los beneficios y las limitaciones de cada alternativa?

Ninguno . Los nuevos desarrolladores, por definición, no están capacitados y comienzan con el tipo de programas más simple posible, que probablemente esté basado en la consola (por ejemplo, “hello world”) de modo que las diferencias de plataforma entre OS X y Windows no importen. Además, la programación GUI trae demasiadas complejidades para las personas que acaban de comenzar a programar.

A medida que avanzan y comienzan su carrera, su primer trabajo probablemente sería trabajar en aplicaciones web y, por lo tanto, probablemente incursionaría en JavaScript, PHP o Ruby on Rails, debido a la gran demanda de estos trabajos. Una vez más, la elección de OS X frente a Windows no será muy importante para los programadores de estos lenguajes: es principalmente una cuestión de preferencia y otras consideraciones.

Algunos otros probablemente comenzarían sus carreras de programación en ofimática, por lo que es probable que sean macros VBA de Microsoft Office y tal vez hasta cierto punto AppleScript. Si tienen suerte, pueden hacer una carrera con esto y ascender de rango. Conozco a personas que hicieron su carrera de esta manera programando hojas de cálculo para comerciantes en un banco de inversión y algunos de ellos acaban de recibir sus promociones AVP hace unos meses, esencialmente se convirtieron en gerentes de desarrollo para programadores de VBA que escribían calculadoras para comerciantes. Es probable que estas compañías usen Windows, excepto probablemente algunas editoriales que ya tienen flujos de trabajo basados ​​en AppleScript.

En conclusión, la elección de la plataforma para los nuevos programadores no importa, ya que inicialmente comienzan a escribir el tipo de programas más simple que existe desde que las computadoras tienen teclados conectados. Además, los caminos de las opciones de carrera a partir de allí generalmente comienzan en la web o en la automatización de la oficina. Si optan por lo último, Windows será la respuesta más probable, pero en el primero la elección de la plataforma no importará.

Depende de las preferencias personales. Windows es bueno si desea desarrollar con .net pero puede usar C # en mono en Unix. OSX y Linux son mucho mejores para las tecnologías de código abierto y tienen las herramientas y comandos típicos de Unix (más de 1000). OSX tiene un gran terminal, Bash o Zsh, iTerm es un mejor terminal, Tmux es un gran multiplexor de terminales, vim y emacs son los editores de programadores más versátiles, ligeros y estables.

Por lo tanto, encuentro que Windows es bastante limitante en general, especialmente para la programación. Prefiero el software de código abierto porque puedes leer el código y aprender de él si quieres; no tiene que pagar ninguna licencia, la instala y la usa; la comunidad es abierta y colaborativa y hay más innovación allí.

La forma normal de trabajar en aplicaciones de escritorio es desarrollar en la plataforma en la que se ejecutará el producto. Dichas decisiones se toman como decisiones comerciales, no de ingeniería. La demografía del usuario y el mercado objetivo son los más importantes, no las características técnicas de la plataforma.