Is it easy to program Windows programs on a Mac?

Discussion in 'Mac Programming' started by macuser1232, Jun 25, 2012.

  1. macuser1232 macrumors 6502a


    Jan 20, 2012
    Hey I was wondering if it would be easy to program windows applications and programs on my mac. I just love Mac's UI a ton and I absolutely hate windows, but if a company ever hires me to program for them it will most likely be for windows computers.
  2. chown33 macrumors 604

    Aug 9, 2009
    descending into the Maelström
    Install Windows on your Mac, either under Boot Camp or a virtualized environment (VirtualBox, Parallels, etc.). Then you can run any Windows development environment, and any Windows programs.

    If you mean "cross-develop for Windows", it's almost certainly going to be more difficult. Maybe try something like Mono for a C# dev environment. Or there's Eclipse or NetBeans, which are cross-platform. But you'd still want to do test runs on real Windows, so I don't know how well something like that would work in real life, especially if Real Life is paying you Real Money for your work.
  3. macuser1232 thread starter macrumors 6502a


    Jan 20, 2012
    ya i guess i could use bootcamp but how would i run the program that i made in osx when i have to reboot for windows.
  4. Mac_Max macrumors 6502

    Mar 8, 2004
    First, what programing languages do you know?

    Some languages are fairly cross platform out of the box including languages used for both desktop and web development, i.e. Perl, Python, & Ruby. They would just require their GUIs & any platform dependent dependencies to be rewritten.

    Otherwise if you were to develop a native apps for both platforms, your best bet would be Objective C/Objective C++ on the Mac & C#/C++ on Windows with all of your shared components written in pure C++. Mono is an option as well if you know C#.
  5. Member(TM) macrumors member

    May 21, 2011
    If I've understood correctly, you want to develop for Windows but you want to spend as little time as possible using Windows. Although I haven't used it myself, I think that for desktop applications Real Studio may be the right solution for you. But it forces you to use a particular language (RealBasic).

    There seems to be a free trial:

    Apparently, with the Mac OS X version of Real Studio you can build Windows executables from the same source code you use to build Mac OS X applications, so you can test most things on Mac OS X and only boot into Windows when you want to see how good everything looks there.

    To test on Windows, a virtualization solution like Parallels would probably be preferable to Bootcamp, so you don't have to restart your computer.
  6. gnasher729 macrumors P6


    Nov 25, 2005
    1. There is quite a demand for both Mac and iOS developers.

    2. Forget about writing Windows code in MacOS X. Don't even think about it. Nobody in the world will hire you to write Windows code on a Macintosh. The best you can do is develop some libraries in a portable language (C, C++) on the Mac and move the source code to Windows, but you'll have to do the real development on Windows.
  7. jtara macrumors 68000

    Mar 23, 2009
    If you're contemplating a career in programming, but hate Windows, you probably should focus on something other than Windows. ;)

    So, there isn't as much demand for Mac software. Understood.

    How about focusing on server-side development? A lot of server development is done on Macs, or at least Linux, which will be more comfortable for a Mac user. The Ruby crowd is particularly fond of Macs.

    Many employers actually give developers a choice. At Sony San Diego Studio, for example, developers have the choice of doing Ruby on Rails development on a Windows PC, a Linux PC, or a Mac.
  8. CylonGlitch macrumors 68030


    Jul 7, 2009
    I use VMWare fusion as my development environment. It works great. There are two benefits to doing this as well. One you only launch windows when needed and thus you can keep it stripped down to the bare minimum meaning not a lot of bloat. Second is for testing. You can create images of different versions of windows (I have W7, W7x64, Vista, Vistax64, XP SP3, XP SP2 images) all clean and with nothing installed on them. Make a copy of the one you want to test with, install your app and see how things go. When done, delete the copy. Works great (although uses lots of disk space).

    I do the same thing with my engineering tools. Often we get contracts that require specific versions of tools and such. So we set it up in the contract that they pay for a license of the OS and tools (most tools are actually free), and we deliver them a VMWare image (VMPlayer or Fusion can use it) with all the tools already installed with the environment all set to continue development. In the end the customer, once they learn how to use the VM, doesn't have compatibility problems because they are using our exact environment.

    Highly recommend this for developers, both hardware and software. Especially if you're working contracts. Doesn't matter if your main system is Windows or Mac, this way, your main machine can be anything you want.
  9. djharris macrumors member

    Jun 10, 2009
    Virginia, USA
    VMWare Fusion has a neat mode where each Windows program/window you open (i.e. IDE window, program window, web browser window, etc.) inside the Windows VM is separated and accessible as a separate window via the Mac OS X interface... dock, expose, mission control, etc. If you have a big screen, you can put them side by side like usual, too. This might be something the OP would like.

    This is as opposed to running a VM in one box which contains an entire virtual Windows desktop, complete with taskbar, start menu, etc.

    Can anyone confirm if Parallels can do this too?
  10. ronjon10 macrumors regular

    Dec 9, 2009
    What is that you're wanting to program?

    If you're developing business applications for internal company use or SAAS software, you'll probably be developing web based tools using Java. There's no problem using Mac or Windows in that case.

    If you're developing client software (ie Adobe Photoshop or whatever), I think you faaaaaaaaar better off using the machine that you're developing for.

    Honestly, it's just an OS. They all load on boot and let you launch your applications by clicking on an icon.
  11. Bobby.e macrumors 6502

    Mar 11, 2012
    Either copy it to a flash drive or the Windows HDD should show up even in OSX.
  12. macuser1232 thread starter macrumors 6502a


    Jan 20, 2012
    I want to thank everyone so much for posting!!! The languages I plan to program for a carrer are Java, C, and C++. Based on what everyone has said, I can program all of these langages on any computer I want and still be able to use it on a windows, linux, or os x computer. I also may do a little web design/development, but i know that that also doesn't matter what OS i'm using :)
  13. softwareguy256 macrumors regular

    Jun 5, 2010
    Sounds like you have conflicting goals. I would suggest you resolve these first before moving forward. <-- this advice is worth at least $100,000 BTW.

Share This Page