.net and C# on a mac!

Discussion in 'Mac Programming' started by Da321123niel, May 10, 2012.

  1. macrumors newbie

    May 10, 2012
    Hey guys!

    Ok here's the deal, Im gonna start to study this fall and really wanna buy a mac for this! thinking macbook pro 13 or perhaps macbook air 13. But when i checked the courses i am gonna take they are mostly in the .net and C# areas (because they said that these are hot on the market right now, idk if this is true or not but w:e) problem is these are windows-based langugaes... any way around this?

    If I get the Macbook air it will be a problem to dual-boot because of the storage memory...

    and another question while I'm at it, Which one whould be better for programming? gonna bring it to school everyday.

    Than you guys!
  2. macrumors 68020

    Dec 9, 2004
    Mono is an open-source implementation of .NET that runs on Macs. You can use MonoDevelop to write C# code (or any text editor...MonoDevelop technically works, but it's pretty clunky since it's a cross-platform non-native thing).

  3. macrumors 68020


    Apr 12, 2006
    Long Island
    Do yourself a favor and get either VMWare or Parallels and a copy of Windows. Don't make your life harder than it has to be. This way you can have your Mac and still have Windows for what it's good at.
  4. xStep, May 12, 2012
    Last edited: May 14, 2012

    macrumors 68000

    Jan 28, 2003
    Less lost in L.A.
    I agree. The other option is to dual boot into Windows.

    Mucking around with third party or open source projects has the potential of causing headaches where none would appear. PilotError, keep the focus on the learning experience.
  5. macrumors newbie

    May 14, 2012
    .net and C# on a mac!

    It is possible to work with C# in Mac. You can use Mono - it is an open source implementaion of .Net. Start study C# in Mac. check this link also for study c# step by step.


  6. macrumors 65816

    Nov 26, 2007
    Austin, TX
    So if you want to study Microsoft technologies, why do you want to buy a mac? Unless you have some reason other than all the cool kids have one, maybe you should consider saving some cash buying a windows box.
  7. macrumors 6502

    Mar 8, 2004
    I'd just dual boot and use Mono when convenient. For your foundational work, Mono will be fine since you'll only write command line based programs.

    Later on though, there are a couple problems with using Mono (on any platform) as a general learning platform:

    • Mono doesn't support WPF and Moonlight kinda supports Silverlight 4.0. This means means that you'll have a hard time working with any XAML based GUI technology when you get there.
    • If they don't teach WPF/Silverlight, you'll still need to use WinForms. WinForm development on Mono is not their recommended solution so its not very well supported.
    • On every mono supported platform except Windows, you'll lack Win32 so some things might not be available.

    Granted, GUI programing comes a bit later in your studies.

    That said, being familiar with Visual Studio and Blend (not sure how hip they are to modern Windows dev) will help a lot in the job market. Also having IIS to deploy your web apps will make life easier as well (plug and play).

    Also note that doing MS related dev is a great way to get your foot in the door. From there you can branch out into web/mobile/Mac/embedded development. Realistically, a good programer can program anything given proper documentation and a compiler/interpreter.
  8. macrumors 604


    Jan 26, 2008
    Isla Nublar
    +1 for this.

    I do it this way when writing code using DirectX (although for graphics stuff its better to boot natively into Windows if testing performance and such).
  9. macrumors 6502a

    Feb 18, 2008
    +1. I've said for a long time the only difference between various types of programming these days in the API you're using (Cocoa, .NET, Java), most languages are pretty similar once you get the concepts down.
  10. throAU, May 15, 2012
    Last edited: May 15, 2012

    macrumors 68040

    Feb 13, 2012
    Perth, Western Australia
    Whilst this is true, this guy is just starting out. Don't make it harder than it needs to be - focus on learning what you are attempting to learn, not how to install/maintain mono, what the incompatabilities are, how the build process(es) differ from the MS tools you would have been using, etc.

    +1 to VMware or Parallels and a real copy of Windows.

    Trying to make do with an open source reimplementation of the course is only going to distract you from the task of actually learning what you are trying to learn.

    And yes - if you are considering a macbook air, a 128gb drive will be very limiting to run Windows (in a VM or bootcamp). You can run VMs from an external hard drive if required, however I think you'd be better off either going for 256gb of SSD (ruling out the 11" model MBA i think? they're 128gb max?) - or go for a 13" MBP.

    The MBP will be a more suitable machine in general in my opinion - for VM use you can upgrade the RAM to 16gb for about 100 bucks (MBA max of 4gb, non upgradable after purchase), replace the hard drive with SSD if required, and you've got an optical bay you can sacrifice for more internal storage if you need it. You also get ethernet.

    Sure, its a little larger than an MBA, but if you take an MBA, add an external USB hard drive and take into consideration the lack of expandability I think the trade-off is more than worth it for your usage - you'll be able to run multiple copies of Windows on it simultaneously, which will allow you to test client-server applications written with .net, etc.
  11. thread starter macrumors newbie

    May 10, 2012
    Thank you for your answer, this sounds like the best option, I want to focus on my studies, and not wast alot of time on "making the software work".



    Dual boot into windows is maybe the best option after all :)
  12. thread starter macrumors newbie

    May 10, 2012
    I want to study something called "systems knowledge" in Sweden. And I will be learning alot of programming languages like Phyton, java and so on, but they have choses to focus alot on Microsoft technologies and can't really do anything about that.

    I want to buy a mac because I like the look and feel of it. The quality is great and it has a really good screen! it mens alot to have a computer that is aesthetically pleasing to the eye and has a good build quality.. and apple has realized this, that is why I want a mac.

    I know I would save money if i bought a windows computer, but if I would decide one day that I want to sell my computer, it's easier to sell a Macbook than a windows pc.


    Very Helpful! thank you! 13"MBA or a 13"MBP, and I think you are right better go with the MBP, cant be that big diffrence when carrying around.
  13. macrumors 6502

    Mar 8, 2004
    The last bit of advice wasn't aimed at selling him Mono, it was pointed at some underlying equivocal feelings I picked up on in his original post about being at a school teaching him MS related technologies.

    And just to reiterate, my first line of advice was/still is just dual boot OS X & Windows ;).

    Go play with them at the Apple Store. The biggest difference I pick up on is the snappiness of the SSD in the Air. Otherwise they're not going to be horribly different in terms of performance as far as your CS related classwork goes.
  14. macrumors regular

    May 16, 2010
    If you don't want to pay for Fusion or Parallels, you can use VirtualBox for free. It's not quite as nice as the paid offerings, but it's not too far behind.


    If you can wait 30 days, they're almost certainly going to be announcing a new MBP lineup at WWDC (June 11th-15th).

    Source: The "controlled leak" article that was posted earlier today on this site.
  15. macrumors 6502a

    Feb 18, 2008
    Given that 80% of programming involves staring at the screen wondering why your code doesn't work, this is very true...

    What? He might as well learn it early on... ;)
  16. macrumors 68040

    Feb 13, 2012
    Perth, Western Australia
    Don't forget the VM requirement to run .net stuff.

    The MBA is starved for RAM.

    If you could buy them with 8gb of RAM, sure go for it. It is enough for now to run 1-2 VMs on.

    But VMs chew RAM. They chew storage. The MBA has neither in abundance at the moment. If the refresh comes with 8gb or more, maybe then... but until then...

    Sure, you could run your VMs off a USB external drive, but lugging one of them around adds weight, another part to lose/forget, etc - and the performance of USB drives sucks.

    Thunderbolt? Yeah, maybe... but you're still stuck with only 4gb of RAM. You'll need to give a Windows VM 2gb or less. Which will kill performance in the VM - and running more than 1-2 at a time is going to suck hard.

    Go MBP, install 16gb (aftermarket) and maybe a hybrid momentus XT to get a good compromise of storage vs speed. The CPU is faster, too.

    Or, SSD and spinning disk in the optical bay (or vice versa).

    For your usage scenario, the tradeoffs you'll make in expandability with an MBA just aren't worth saving what... 500 grams of weight?
  17. macrumors 6502

    Feb 23, 2008
    Yes, I would also suggest that you buy a MBPro instead of an air for the storage reason. If you remove the dvd-tray you can use two drives in the machine with one preferably being a SSD. This will be more than enough for a windows partition in addition to your osx one, especially if you use xp. W7 takes more space, I guess.

    You can even get a fairly good price on tradera/blocket for a macbook pro if you want to buy it used, which is surely a better cost save than the ~5-10% you'll get from mecenat :)

    Which university will you attend?
  18. macrumors 603


    Mar 27, 2009
    The World Inbetween
    Why are you working in DX for garage hobbyist stuff? Wouldn't it be better to use XNA?
  19. macrumors 68020


    Aug 31, 2003
    Wherever my feet take me…
    Plus, with a Mac, you can both Mac OS X & Windows. So if you ever decide to do some Mac or iOS programming, you can. If you get a Windows box, you wouldn't be able to.
  20. thread starter macrumors newbie

    May 10, 2012
    Probably Stockholm or uppsala =)
  21. admwright, May 23, 2012
    Last edited by a moderator: May 23, 2012

    macrumors regular

    Sep 11, 2008
    Using a virtual PC is a great way for development, I do this all the time. It keeps your dev work seperate from all your other stuff. You can have multiple setups and configurations and just run the one for the work you need to do. Also if you make a big mistake and trash the VPC you have not lost much. Just switch it off and copy in the backup to get back to where you were. For a WinXP VPC 512 Mb is fine and 1Gb more than enough, probably the same for Win7. As someone else said you do not need lightning speed and actually with the multiple processors these days the VPC gets its own processor so is not much slower.
  22. macrumors 6502

    Mar 8, 2004
    When I need to do a quick test run I use a VM with just 1GB of ram and an 8GB (currently) image. And thats for network/database driven GUI programs. Since he's going to be mostly command line stuff he's not really going to be stretching the limits of what a VM can do. He could probably get by on 512MB of memory assigned to the VM.
  23. macrumors 68040

    Feb 13, 2012
    Perth, Western Australia
    Depends. Also "getting by" and having decent performance are 2 entirely different things.

Share This Page