When you win over the developers, things are gonna change. Developers, developers, devel...
When you win over the developers, things are gonna change. Developers, developers, devel...
It was a boisterous claim, but there is a movement. Two things I think are causing it...
1) I think though something major happened with the move to intel chips and a nix backend to OSX. Dropping PowerPC and the old Mac OS is something Microsoft couldn't do and now Windows is stuck.
2) Also major market changes that push it that direction.
- iPhone/Touch device and market
- Dynamic languages like python + ruby and rails/django web frameworks associated with them
- XBOX 360 caused people who were windows PC gamers to go console, making the main reason to buy a PC in the past (games) largely moot.
- New multi-platform game engines like Unity3D and now that Mac is Intel you can develop for both easily. (unity3d is what initially made me make the switch)
- The cloud computing paradigm (yes it is buzz but real) is pretty much not windows based, it pushes cheap nix OSes and a nix based OS as your base is much better.
- Distributed source control such as git that weren't and aren't very Windows friendly
- Finally good systems, right click, and killer machines (one dude I know has a 30 inch Mac screen and a 32GB 8 processor Pro, it is a monster). These things look like giant iPods now rather than colored beads.
- OpenGL is resurging with Khronos support (ES for mobile and all associated libraries)
Every developer that I know that has gone that direction has not come back, typically these are talented developers as well and long time windows people (myself included, C++ MFC, MCSD C++, MCSD.NET, .net developer for 8 years, did one of the first public .net sites with Microsoft for a large CPG packaging goods company, game developer on windows)
There are more reasons but I see the change, do you? The fact that you can run lots of great tools even Windows within parallels or bootcamp also added to the move.
Once you go Mac you never go...
Windows will still be needed for development for some time, but all new, fun and multi-platform development it is not required anymore. That being said I have two monster machines, Vista 64bit PC and an iMac and I need and use them both. I can tell you which one is more fun to work on though...
As a counterpoint, I have a friend who's done .Net based web development for some years. I couldn't convince him to dump it and join me in open source land, but he is just starting to get into .Net MVC. He has purchased a new high end Dell laptop that he will run Windows 7 on and this will be his main machine. He won't be moving from Windows any time soon, likely never. He says he's invested too much time in .Net. It's what he's comfortable with and that pretty much trumps anything else for him.
My previous computer was PB12. Yes, it is dated, but until unibody MBP13 introduction Apple didn't have any other model to replace it. Well, they still don't have anything able to replace it. MBP13 has shiny display, non-replaceable battery etc. Combined with unavailability of next OSX release for PPC, I had to choose what's next. So I got an Thinkpad, that has proper display instead of mirror, easily replaceable batteries and few other perks (you can put a second battery into DVD-RW bay, and it has built-in WWAN card with great antena, oh and the keyboard rules, yay!).
Regarding Unix-yness, you can run Linux of your choice either natively or in vmware (I run mine in vmware), and I'm satisfied. I don't care for iLife (I used just iTunes anyway; winamp is OK replacement) or iWork. Things that I do care for are equally well done on Windows and OSX.
Game consoles have been around as long as, if not longer than, personal computers. For the past 10 years straight, the top selling games have been...computer games, like WoW and the Sims (and Myst, before them).
Distributed source control is not the end all of programming. At best, it's a niche. Real companies use commercial source control systems.
Name one major game coming out next year that uses OpenGL. PS3 games don't count. Can't think of one, can you?
BTW, last month, Windows Vista shipped more copies than OSX sold in its entire decade-long run. So...Windows is not likely to become irrelevant soon.
As for fun...Clicking the pretty buttons to close windows may amuse folks of a simpler persuasion, but I find it more enjoyable to play actual games on my computer.
I was just stating due to the recent consoles there is largely not a reason to get a PC solely for gaming as much as there always was. I personally am a PC gamer but I also develop games and most new stuff is multi-platform.
Part of this is the hardware (MacBooks, etc. are very powerful). Syncing and staying mobile are very easy with Macs. It's becoming more typical to get useful work done in airports, coffee shops, back porches, etc. over wireless.
If a shift to web applications continues, the majority of them will surely be developed on Macs. If you're using Ruby, Python, Apache, etc. anyway, it's sure nice to have them all pre-installed. On Windows, not only do you not have any of this, you don't even have SSH or a decent terminal, or equivalents to the core Unix utilities. (Oh wait, you don't even have a real text editor!) There's always a few hours of work to download enough to make Windows usable. Not to mention doing it all again 6 months later, when the machine is hosed and you reinstall.
I don't use Windows over VM, but I know many do, and it would seem perfect for web development. From anywhere, you can basically run the vast majority of likely browsers and test changes immediately. That is a killer feature.
I prefer it for desktop application development too. While the environment can sometimes be "weird", there are good reasons for most differences. For example, I'm used to passing the same options to GCC on Solaris and Linux; although Mac OS X does its own thing, it's hard to argue with the fact that -F is simpler and loses no real information over -L + -I.
Apple also includes some amazing code analysis tools in Instruments. You could spend a lot of money just acquiring those tools on other platforms, even if the Mac had no other advantages at all.
Couldn't Microsoft just start doing this?
Good luck with that.
That's why Europeans get to pay for Windows 7 without a browser or a media player in the year 2009.
I understand not having a preference, say, but thinking there's no functional difference is ignoring a decade of user studies and reports and a lot of common sense.