PDA

View Full Version : .net and C# on a mac!




Da321123niel
May 10, 2012, 02:52 PM
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!



Eric5h5
May 10, 2012, 03:42 PM
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).

--Eric

pilotError
May 12, 2012, 07:02 AM
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.

xStep
May 12, 2012, 11:33 AM
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.

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.

markjeggar
May 14, 2012, 01:44 PM
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.

http://csharp.net-informations.com

mark.

ScoobyMcDoo
May 14, 2012, 01:59 PM
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.

Mac_Max
May 14, 2012, 04:18 PM
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.

chrono1081
May 14, 2012, 11:56 PM
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.

+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).

knightlie
May 15, 2012, 01:59 AM
Realistically, a good programer can program anything given proper documentation and a compiler/interpreter.

+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.

throAU
May 15, 2012, 02:12 AM
Realistically, a good programer can program anything given proper documentation and a compiler/interpreter.

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.

Da321123niel
May 15, 2012, 07:28 AM
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.

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".

/Daniel

----------

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.

Dual boot into windows is maybe the best option after all :)

Da321123niel
May 15, 2012, 08:09 AM
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.

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.

----------

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.

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.

Mac_Max
May 15, 2012, 02:38 PM
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...

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 ;).

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.

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.

punchwalk
May 15, 2012, 07:08 PM
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.

----------

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.

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.

knightlie
May 16, 2012, 03:53 AM
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.

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... ;)

throAU
May 16, 2012, 04:03 AM
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?

Boomhowler
May 20, 2012, 01:40 PM
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?

MorphingDragon
May 22, 2012, 09:47 AM
+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).

Why are you working in DX for garage hobbyist stuff? Wouldn't it be better to use XNA?

guzhogi
May 22, 2012, 02:24 PM
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.

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.

Da321123niel
May 23, 2012, 04:50 AM
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?

Probably Stockholm or uppsala =)

admwright
May 23, 2012, 06:49 AM
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".

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.

Mac_Max
May 23, 2012, 02:58 PM
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...

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.

throAU
May 23, 2012, 07:42 PM
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.

Depends. Also "getting by" and having decent performance are 2 entirely different things.