Hemos recibido algunos emails con dudas sobre si switchear a Mac vale la pena para un desarrollador. En concreto voy a basarme en el mail que nos envía Pepe, pues muestra las dudas más comunes que tienen los programadores al pasarse a Mac, tan sólo os recuerdo que lo que exponga aquí está basado en mi humilde opinión como desarrollador y maquero que soy, está claro que muchas de las preguntas no tienen una respuesta única, ni pretendo dar lecciones a nadie y por supuesto cualquier discrepancia la solucionamos educadamente en los comentarios.
El mail empieza diciendo "Soy Ing. Informático y por trabajo necesito programar para Windows y para Linux..." Aquí ya hay gente que habría parado de leer y le hubiera recomendado elegir un PC. Yo no, porque pienso que para testear las aplicaciones puede tener Windows y Linux en sendas particiones de su disco e incluso con programas como Parallels o Fusion puede lanzar entornos como Visual Studio para un desarrollo puntual o bien arrancar desde Windows si es que va a usar durante mucho tiempo el IDE. Está clarísimo que si va a usar el ordenador un 90% del tiempo para programar en .NET, sí que le recomendaría elegir un PC, pero por el contrario, si además de programar quiere un Mac porque le gusta, porque quiere adentrarse en Mac OS X y va a navegar, escuchar música, utilizar alguna aplicación de retoque fotográfico (estoy pensando en Photoshop CS3) o de retoque de vídeo (como Final Cut) que no lo piense dos veces y se compre un Mac, dirá adiós a virus, troyanos, BSODs o diálogos de Confirmar/Cancelar (como los que trae el grandilocuente Vista).
"¿Se puede programar en Tiger o en Leopard aplicaciones para Windows?" Hasta donde yo sé (y corregidme si me equivocara) sí y no... para el tema OOP en Tiger existe XCode y entornos de desarrollo para Java (eclipse, Netbeans...) pero no hay un Visual Studio (plataforma .NET), ni se pueden compilar aplicaciones directamente, ni se puede montar un SQL Server, hay que virtualizar para correr un entorno adecuado. Otra cosa son temas de HTML, PHP, XML, Ruby... esta clase de lenguaje interpretado y encarado a sitios web sí tiene herramientas y entornos para Mac como el potente Coda (que además integra un gestor FTP) o alternativas gratuitas como Smultron. También hay paquetes que ofrecen instalación de servidores web (Apache), bases de datos (MySQL) y motores PHP como MAMP.
"Por otra parte, ya que el núcleo de MAC OS X es UNIX, ¿puedo programar aplicaciones que luego corran sobre Linux? Supongo que si, pero me preocupa el entorno grafico y la GUI" Para el tema Linux, la verdad es que estoy un poco desfasadete en el sistema del pingüino, pero al estar ambos sistemas basados en UNIX como nos apunta, creo yo como dicen en este post de bloguras que X11 permite correr aplicaciones de Linux e instalar entornos para desarrollar en este entrono. Además existen paquetes como Fink que facilitan esta integración de sistemas. En temas de GUI sí que no puedo asegurar que sea exactamente igual, esto habrá que comprobarlo, en cualquier caso las variaciones serán mínimas entiendo.
Finalmente pepe se despide con "..la verdad me gustaría no tocar a Windows más en mi vida, me tiene hartito hartito.", pues amigo Pepe, la verdad que yo en el trabajo tengo que usar Windows por necesidad, ya que si eres desarrollador en .NET y experto en tecnologías Microsoft (SQL Server, Biztalk, etc.) seguro que lo necesitarás todo el tiempo. Sin embargo cuando llego a casa, para realizar tareas fuera de la programación, como consultar tus feeds, reproducir música, ver películas, etc. etc. vale la pena el switching, eso seguro o al menos es tal como yo lo veo. Cualquier cosa ya sabéis, lo comentamos en los comentarios que para eso están.
Ver 30 comentarios
30 comentarios
Salva Castro
La diferencia amigo Toni M, es que hay muy pocas fotos de Jobs haciendo el ridículo, en cambio das una patada y te salen 30mil de Ballmer.
Ocurre lo mismo con las frases, que vamos el amigo Ballmer tiene un humor mucho más fino que el de Steve con frases como "no me preocupa el iPhone" o "Google lee tus correos" (que hace un par de días soltó).
En cualquier caso, no creo yo que la foto resulte ofensiva ni nada por el estilo… ni me cachondeo directamente en el post (que podría). Es más en este blog siempre nos hemos mostrado muy plurales y es más en este mismo post estoy recomendando la compra de un PC con Windows para cierto sector de gente, joder, dime a mí si eso es ser sectario.
DonkeyG5
Una palabra: RealBasic.
Farve
hola
tengo pensado comprarme un mac book (13.3") y programo bastante en html.
Me dejare los ojos en una pantalla tan pequeña???
Que opinais.
GRACIAS
patton
Solo añadir que también existe MONO para Mac en cuanto a programación .NET se refiere.
Shiroko
Pues este post me viene muy bien por que estoy estudiando Ing. Informática y tenía pensado, en cuanto me compre mi soñado macbook, utilizar parallels o algún programa similar para utilizar linux o windows cuando tenga que hacer algo.
Muchas gracias, más información siempre viene bien.
rezzo
Idem a #1, ya somos 2 a los que ha venido bien este post. Gracias Salva.
Pedro Marce
Francamente yo diría que Mac es a día de hoy el ordenador ideal para cualquier programador, ya que no hay otro hardware donde puedas instalar todos los sistemas operativos mas utilizados (Windows, Mac OS y Linux). Así que para testear tus aplicaciones solo necesitas un ordenador.
Respecto a la programación de Linux y MacOS, las librerías disponibles no son las mismas (de ahí la existencia de Fink y MacPorts), con lo que el software que escribas no tiene porque ser compatible entre Linux y Mac OS (Debe ser portado). El sistema gráfico por ejemplo es completamente distinto, pese a que se puede instalar X11 en Mac OS también.
Y ya por ultimo, incluso aunque tuviera que trabajar con Windows todo el tiempo (a través de Boot Camp) sigo pensando que los ordenadores Apple a día de hoy en relación calidad/precio son de lo mejor del mercado.
Pedro Marce
30161
Si es Java o Flex/Java, Ruby, o lenguajes interpretados como bien indica Salva el mac tiene suficientes soluciones.
Aconsejo en general un PC Clonico baratillo para trastear y programar.
En cuanto a .Net
Hombre la verdad yo programo en .Net y tengo Mac en casa, aconsejo un pc para eso.
Si quieres usar un mac tendra que ser bajo Parallels/VmWare(virtualizado) o BootCamp(fisico).
Yo te aconsejo que cuando tengas que usar varias horas Visual Studio lo hagas reiniciando el mac a Windows con Bootcamp, si en cambio es 15 minutos mas o menos puedes usar Parallels con la particion de BootCamp.
Usar Parallels bajo ordenadores con poca RAM para tareas de consumo mejor optar por Bootcamp.
Tambien hay que tener en cuenta que la particion de Parallels o BootCamp no es pequeña y por ejemplo en portatiles se nota mucho.
#Farve
No creo que tengas ningun problema con un mackbook para html y si te parece pequeña la pantalla le cambias la resolucion.
Un pequeño comentario, html no es un lenguaje de programación, es un lenguaje de marcado, vamos que cuando tecleas codigo html, estas mediante marcas indicando la forma de presentar y estructurar datos.
Toni M
Que graciosos sois los de la secta de la manzana… si en algun foro de programación .NET pusieran una foto de Steve Jobs ridiculizado os cagaríais con todo cristo. En cambio aquí aparece una foto del monito Ballmer y no ha pasado nada.
Enhorabuena.
shongohan
En un monitor de 13" te dejaras la vista… para programar no es nada bueno!!!
Sobre la potencia del vmware es realmente buena, pero claro no puedo opinar pues mi macpro tiene 4 nucleos y 3 gigas de ram… pero en esta configuracion desde luego no echo de menos la velocidad nativa.
Alex Lane
Pues yo me puse Windows con .net para programar con Parallels, y tras subir la ram de mi MacBook Pro a 2GB esto va de muerte
pablo
A mí me encanta el entorno mac, pero como escribía Salva, si vas a programar para windows, mal que te pese usa un pc. ten en cuenta que la virtualización es sólo una solución temporal y socorrida, pero te puede dar problemas serios de compatibilidad, estabilidad y velocidad. Si programas la mayor parte del tiempo para Win., olvídate de mac.
ºº Kako ºº
ke prueba el REALBasic, es un entorno de desarrollo multiplataforma, para poder generar aplicaciones para Wintendo, para Macsito… y de pasadita para Pinguinux….
http://www.realsoftware.com/
http://www.realsoftware.com/products/realbasic/pla...
adriangarzon
Creo que olvidaron a RealBasic… su version de 2007 es capaz de compilar para Mac PPC, Intel, Linux y Windows… es fantastico! y usa lenguaje de Visual… (no es por desmejorar a los demas lenguajes ojo) lo recomiendo 1000% es una razon por la cual me pase a mac… un lenguaje, un proyecto, multiples plataformas… todo un sueño echo realidad para un programador .NET… saludos
damon
Yo he sido programador muchos años. Pensaba que Mac era un terreno vetado a programadores hasta que asistí a mi primer OOPSLA (la mayor conferencia sobre orientación a objetos, componentes,…), y conocí al equipo de desarrolladores de Eclipse y a muchos otros. Puedo asegurar que el 75% de los programadores utilizaban Mac. Está claro que para desarrollar en mundo .NET necesitarás Parallels o Boot Camp. Para el resto, Mac es perfecto. Eso sí, programar en 13” es muy doloroso. Mejor conéctale un monitor externo.
Luis Jose
Por los comentarios que he leido da la sensación de que .NET sólo está para Windows y no es así. Es cierto que fue una tecnología inventada por Microsoft pero en Linux está Mono con el entorno Monodevelop que te permiten programar con C# y si quieres puedes portar las aplicaciones a Windows de una forma muy fácil.
Miguel Ángel Arroyo
Yo soy programador y tengo un iMac. Normalmente uso .NET bajo Parallels y hasta la fecha no he tenido ningún problema.
Lo uso tanto para desarrollo web como de aplicaciones de escritorio. Como servidores de BBDD uso SQL Server y MySQL y también van perfectos.
Todo el desarrollo web fuera de .NET (Rails, PHP, HTML/CSS) lo puedes hacer perfectamente con programas tan fantásticos como TextMate (macromates.com). Java también está totalmente soportado por XCode y por IDE's como Eclipse…
Algún día me liaré la manta a la cabeza y aprenderé ObjC y Cocoa.
Lo dicho, el Mac es totalmente recomendable para programar en Windows. Además, siempre nos quedará BOOTCAMP.
Espero que te sea de ayuda.
Isimac
Yo tengo un Macbook de 13" que es una maravilla porque lo llevo donde me da la gana. Cuando "arrivo a cassa" pues lo enchufo a un montitor (LG de 22" vale 300€), Mighty mouse y teclado y lo conviertes en un "imac" en un momento. con lo tengo lo mejor de las 2 cosas. Lo malo del Macbook es que es pequeñito, y lo bueno es que es pequeñito.
alexinside
Ya que hablamos de esto, alguno de ustedes podrian recomendarme un compilador de C++ para poderlo usar en mac, solo me interesa que funcionen los codigos de la uniersidad, no el executable.
miguel245
Oigan, yo soy estudiante de ingenieria y utilizo frecuentemente programas como Autocad, Catia, Sap, Arcview, wms, mechanical desktop,etc., y mi pregunta es ¿se podra correr dichos programas en una macbook con parallels o vmware y que corran sin problemas, sin ralentizaciones?
OsvaL®
Yo tb estoy terminando la carrera de informatica y esto fue lo primero que se me vino a la mente al querer mudarme a una Mac, al final terminé comprandome una Macbook Pro santa rosa con el miedo de terminar usando Windows en mi Mac y hasta ahora fueron 2 veces las que inicié con Windows. Una vez que te acostumbrás al Mac OS X uno no quiere saber más nada de Windows y maldice el día que todo el mundo se decidió por este último sistema operativo.
pablo
sí que puedes, miguel, pero no he testeado lo suficiente -por esto entiendo más de 400 horas de uso- para decirte qué tal van esas aplicaciones en una plataforma virtualizada. por lo que he visto, parece que bien.
respecto a los comentarios más arriba, sobre Ballmer. bien, está claro que el tipo es un patán y un payaso, pero también que se suele utilizar como arquetipo e imagen de los usuarios pc, o como representación de tal plataforma, y esto sí es insultante.
creo que muchas veces la gente se olvida de que Jobs y Ballmer están aquí para hacer dinero, y que son dos caras de la misma moneda, el capitalismo multinacional electrónico, y que los dos están aquí para hacer dinero a nuestra costa, faltaría más.
Eduardo T.
personalmente lo tengo claro: para desarrollo LINUX. Sobre todo si tus desarrollos están orientados a Java/JSP o a arquitecturas LAMP (Linux-Apache-MySQL-PHP).
En general el artículo no viene a decir "mac es mejor para desarrollar", si no que "no se pasa tan mal".
Como desarrollador de aplicaciones web, no voy a usar final cut, ni voy a usar photoshop para las cuatro cosillas de imágenes que tendré que tocar.
De hecho los únicos lenguajes que dan problemas en linux son precisamente los mismos que dan problemas en Mac (microsoft, ya sea .NET o los viejos ASP).
Sigo pensando que lo mejor que tiene apple es su sistema operativo (personalmente lo "bonito" de las máquinas nunca me pareció un argumento de peso). Su competidor es linux sin lugar a dudas, ya que ms windows está a años luz de cualquier innovación que ambos SO (sobre todo en los múltiples sabores de linux) saquen. Me alivia ver que no se pasa tan mal en mac para desarrollar, pero puestos a elegir me quedo con linux.
Tomas Leal
Yo le recomendaria a Pepe el switch de inmediato. Actualmente, y como ya mucha gente lo ha dicho previamente, gracias a los procesadores intel en los ordenadores apple, se puede perfectamente correr windows. Ya sea en virtualizacion via Parallels o VMware fusion (personalmente prefiero este ultimo) o via BootCamp (el cual lamentablemente ya esta comenzando a caducar como Beta, por lo que hay que esperar a Leopard.
He instalado linux previamente en mi macbook con resultados increibles. Windows tambien corre decentemente y la unica pega que tiene es que pese a estar corriendo en un mac, no debemos olvidar que windows sigue siendo windows y que hay que cuidarlo para que funcione bien.
Yo uso windows en mi mac por motivos academicos, soy estudiante de sociologia y los sofwares de analisis estadistico son mucho mas faciles de conseguir en plataform windows que para mac. Ni decir de SAS, que no existe para mac desde Mac Os 9.
Saludos.
Pepe… ¡Get a Mac! :)
Carlos Paramio
Para programar una aplicación que funcione tanto en Windows, Linux, o Mac OS X, tienes dos alternativas:
1. Programar una aplicación web, ya que lo único que necesitará el usuario es un navegador. Para ello existen multitud de frameworks, como los ya apuntados: Java (con ayudas como Grails, Struts, etc), PHP (Prado PHP Framework, Zend Studio, Symfony, etc), Ruby (Ruby on Rails), Python (Django, TurboGears, Pylons…)
2. Programar una aplicación con interfaz de ventanas, usando un lenguaje común, y lo más importante, una biblioteca para la GUI que sea multiplataforma: wxWidgets, GTK, QT, Swing (para Java solamente), etc. El problema que le veo a esto es que la aplicación no estará bien integrada con el sistema, como lo estaría si se programasen con los toolkits gráficos nativos del sistema operativo en particular. Aún no me he metido a mirar en profundidad Cocoa, pero es la única alternativa que conozco si quieres desarrollar una aplicación perfectamente integrada con Mac OS X (Carbon es historia).
Carlos Paramio
alexinside, el compilador libre del proyecto GNU, que obtendrás por ejemplo al instalar el paquete XCode, te bastará para lo que pides. En la línea de comandos, es g++. Puedes encontrar mucha información en Internet sobre este excelente compilador. Yo te recomendaría pillar un buen editor (como Textmate), y aprender de camino cómo funciona la herramienta "make" (GNU también), ya que te facilitará enormemente las compilaciones. Hace ya unos años publiqué un pequeño documento fruto de una charla en las II Jornadas Andaluzas de Software Libre, que puede que te sirva de ayuda: http://cicode-gcubo.ugr.es/adala/encuentros/jasl2/...
oscarathome
Yo tmb soy estudiante de ing. informática (concretamente en la FIB de la UPC) y desde que me compré mi Macbook Pro, he hecho todas las practicas de programas linux con sus correspondientes ports de fink o compilando el src (./config & make) des de mac nativamente. No hablemos ya de programacion algorismica en c o perl o python… Funciona todo a la perfeccion.
Los programas en Windows (incluido Visual Studio), pues ya se sabe… Emulación (VMWare mucho mejor que parallels en mi opinión) o Bootcamp si quieres trabajar (o jugar :P) mucho rato.
Alex Lane
Por cierto, los que querais probar con parallels mejor instalad primero el windows en bootcamp con su particion y luego le decis al parallels que use ese windows. De esta manera siempre podeis usar parallels y cuando necesiteis chicha, pues reiniciais, y estais en el mismo windows pero nativo! Realmente ha mejorado mucho parallels desde las primeras versiones pero creo, sin haberlo probado, que VMWare es aun mejor (da la impresión de ser más fiable, se lo han tomado con más calma). por cierto, veo mucho fiber maquero por aquí :D …
Alex Lane
…y para rendimiento máximo, mejor en discos separados… no lo he probado pero es de lógica suponer que tener parallels corriendo en un disco por separado de os x aumenta muchísimo su rendimiento. Eso y los 2GB de ram.
Carlos Paramio
oscarathome, sólo quería añadir que, si bien Fink funciona perfectamente como dices, está algo obsoleto. Yo de ti probaba MacPorts, funciona igual de bien pero tienes disponibles más paquetes software (y en versiones mucho más recientes).