Native C#?

J

jp2msft

Is there a way to write native C# applications?

I used to write a lot of native applications, but we used Borland to do it.

These days, I work for a different company that fully embraces Microsoft, so
it isn't really an issue any more.

Now that I'm getting pretty good at C#, I am left wondering if all of my
skills are tied to Microsoft or if I can use Visual Studio (and maybe C#) to
create apps for non-Windows (UNIX, microprocessors, MAC, whatever).
 
K

Ken Foskey

Now that I'm getting pretty good at C#, I am left wondering if all of my
skills are tied to Microsoft or if I can use Visual Studio (and maybe
C#) to create apps for non-Windows (UNIX, microprocessors, MAC,
whatever).

There is Mono an open source development of C# and .Net on Linux. It is
pretty young but it is available and it is possible to build applications
in it. TomBoy is a Wiki like personal tool written this way.
 
I

Ignacio Machin ( .NET/ C# MVP )

Now that I'm getting pretty good at C#, I am left wondering if all of my
skills are tied to Microsoft or if I can use Visual Studio (and maybe C#) to
create apps for non-Windows (UNIX, microprocessors, MAC, whatever).

Even if you can write "native" appls. you will create them FOR
WINDOWS, they might not run in others OSs.
In the other hand , if your application is managed it can potentially
run in ANY OS that has a managed environment. Right now you have Mono
that runs on unix, and apple IIRC.
 
A

Alberto Poblacion

jp2msft said:
Now that I'm getting pretty good at C#, I am left wondering if all of my
skills are tied to Microsoft or if I can use Visual Studio (and maybe C#)
to
create apps for non-Windows (UNIX, microprocessors, MAC, whatever).

There's the Mono C# compiler which you can use on Linux:
http://www.mono-project.com/CSharp_Compiler

For microprocessors, you have the .Net Microframework, which you can
program in C# from within Visual Studio:
http://msdn.microsoft.com/en-us/embedded/bb267253.aspx
 
T

Tony Johansson

Hello!


As far as I know it's only MS that support the MSIL code but there might
be more OS that will support it the future.

//Tony
 
J

jp2msft

Great News!

Thanks everyone. It sounds like I am not "mopping myself into a corner."
 
J

JDeats

Is there a way to write native C# applications?

I used to write a lot of native applications, but we used Borland to do it.

These days, I work for a different company that fully embraces Microsoft, so
it isn't really an issue any more.

Now that I'm getting pretty good at C#, I am left wondering if all of my
skills are tied to Microsoft or if I can use Visual Studio (and maybe C#) to
create apps for non-Windows (UNIX, microprocessors, MAC, whatever).

I've tested the latest release of Mono on Mac OS X and Linux and was
quite suprised to find it able to run my VS.NET compiled
Assemblies.... Since they added WinForms support the possibilities
have expanded, but there are still quite a few potential road blocks
(e.g. I had several exceptions generated on Mono that did not occur on
Microsoft's .NET CLR). If you were to start a new project and include
Mono builds in all your unit testing you should be fine. It really has
evolved.

One area of concern with Mono is that it's based on Microsoft's
published .NET standards for CLI with the inclusion of WinForms
support the Mono project is probably in violation of Microsoft
patents, but the company sponsoring Mono (Novell) appears to be on
good terms with Microsoft...
 
J

Jesse Houwing

Hello jp2msft,
Is there a way to write native C# applications?

I used to write a lot of native applications, but we used Borland to
do it.

These days, I work for a different company that fully embraces
Microsoft, so it isn't really an issue any more.

Now that I'm getting pretty good at C#, I am left wondering if all of
my skills are tied to Microsoft or if I can use Visual Studio (and
maybe C#) to create apps for non-Windows (UNIX, microprocessors, MAC,
whatever).

There is support for native applications by using C++ or a mix of C++ and
Managed C++. For multi platform support have a look at Mono (and xbuild http://www.mono-project.com/Microsoft.Build).

There's also support for arm processors by using the Compact Framework for
Windows CE devices (also native support by using C++), an little more than
a year back, Microsoft has introduced the .NET Microframework which allows
you to program microchips and true embedded devices.

Appart from that, there are a number of add-ins for visual studio which allow
tou to develop in other languages like perl and tcl (ActiveState), php (jcx
software), Cobol (adtools) and Java J2ee (mainsoft).
 
P

Pavel Minaev

Is there a way to write native C# applications?

If "native" here means something opposite to "managed" (i.e. running
in a VM), then no. A C# compiler generating native code is possible in
theory, but it would still require a GC at least, and libraries such
as System.Reflection.Emit require some form of bytecode interpreter or
JIT, which would effectively amount to a VM in the end.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top