Sign in to follow this  

Getting a program written on Windows to Run on a Mac or .NET portability

This topic is 4862 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Till now I have stood at the edge of the roaring tide of bustle and religious like proclamations and wars that has surrounded .NET. I am however, curious about this matter and have a couple quick questions that I hope anyone with a spare moment could elucidate for me. From what I understand .NET is a virtual machine that can be implemented on most any machine allowing that if someone were to write a .NET program in Visual Studio .NET on Windows it could run on a Mac or any OS with the proper .NET VM? That would mean microsoft has extended its reach to other platforms... irrelevant... Also, the DirectX .NET framework, is it an interface that allows .NET applications to communicate/work with DirectX, a replacement of the COM model with .NET allowing perhaps that it also be portable? Those are the two or three questions that I am curious about, I would be thankful to anyone who could clear this up for me.

Share this post


Link to post
Share on other sites
Hey,

Quote:

From what I understand .NET is a virtual machine that can be implemented on most any machine allowing that if someone were to write a .NET program in Visual Studio .NET on Windows it could run on a Mac or any OS with the proper .NET VM?


The VM you refer to is called the CLR, or, Common Language Runtime. Basically you could look at this, as you have, like the Java VM which uses JIT compiling. I'm not 100% sure on the differences between the two, but the CLR will compile (I THINK it's the CLR that does this, haven't covered this for 4 semesters @_@) to the machine's native code prior to executing it. So in this case, yes it could run on a Mac or Linux, but this would require the release of a CLR specific to this machine type. There are currenty none that I am aware of, nor enough documentation for anyone to set out designing and releasing their own CLR for the respective O/S.

Quote:

the DirectX .NET framework, is it an interface that allows .NET applications to communicate/work with DirectX, a replacement of the COM model with .NET allowing perhaps that it also be portable?


Long story short here, Microsoft is going to discontinue all support of VS6 products in order to make the transition over to .NET. Longhorn will be designed 100% using the .NET framework, and I think for the sake of consistency they have decided to port DirectX over to this as well to ensure that all games developed on DX9.0C and above are compatible with Longhorn come it's release.

There are not the 100% definitive answers and are open for interpretation, but it should give you hopefully a clearer understanding of what's going on under the hood.

Permafried-

Share this post


Link to post
Share on other sites
Hi

Quote:
Original post by Permafried-
Hey,

Quote:

From what I understand .NET is a virtual machine that can be implemented on most any machine allowing that if someone were to write a .NET program in Visual Studio .NET on Windows it could run on a Mac or any OS with the proper .NET VM?


The VM you refer to is called the CLR, or, Common Language Runtime. Basically you could look at this, as you have, like the Java VM which uses JIT compiling. I'm not 100% sure on the differences between the two, but the CLR will compile (I THINK it's the CLR that does this, haven't covered this for 4 semesters @_@) to the machine's native code prior to executing it. So in this case, yes it could run on a Mac or Linux, but this would require the release of a CLR specific to this machine type. There are currenty none that I am aware of, nor enough documentation for anyone to set out designing and releasing their own CLR for the respective O/S.



Mono is a project that aims to bring .NET to Unix, Linux, Mac, Windows, and more. You can find it at its homepage.

Quote:

the DirectX .NET framework, is it an interface that allows .NET applications to communicate/work with DirectX, a replacement of the COM model with .NET allowing perhaps that it also be portable?


.NET replaces the COM model, as far as I know.

Share this post


Link to post
Share on other sites
Quote:

.NET replaces the COM model, as far as I know


This is in part correct, .NET has something new called Interop Assemblies, which function similar to COM but not 100%. Due to the nature of COM it will always be around, at least until all development shifts away from COM and over to Interop Assemblies, but for now it'll be here to stay.

Permafried-

Share this post


Link to post
Share on other sites

This topic is 4862 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this