www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - MSBUILD 2014, C# gets an ahead of time compiler to native code.

reply Paulo Pinto <pjmlp progtools.org> writes:
So it finally happened, C# gets an AOT compiler in addition to NGEN/JIT
as part of standard Visual Studio tools.

http://techcrunch.com/2014/04/02/microsoft-updates-visual-studio-with-support-for-universal-projects-typescript-1-0-and-net-native-code-compilation/

More information will be provided in the native sessions tomorrow and on
Friday.

Posting this as it has direct implications into D's adoption.

--
Paulo
Apr 02 2014
next sibling parent "Orvid King" <blah38621 gmail.com> writes:
On Wed, 02 Apr 2014 15:24:00 -0500, Paulo Pinto <pjmlp progtools.org>  
wrote:

 So it finally happened, C# gets an AOT compiler in addition to NGEN/JIT
 as part of standard Visual Studio tools.

 http://techcrunch.com/2014/04/02/microsoft-updates-visual-studio-with-support-for-universal-projects-typescript-1-0-and-net-native-code-compilation/

 More information will be provided in the native sessions tomorrow and on
 Friday.

 Posting this as it has direct implications into D's adoption.

 --
 Paulo

NGen's been around since .net 2.0, all the native compilation is that they are talking about is just a few stubs and a nice pretty interface for developers to work with. They do not currently intend to support the AOT compilation for desktops, not in the way that D does at least. Microsoft's AOT interface will also only ever support Windows. If Apple is very lucky, they might support it on OSX, but it will never make it to Linux. All in all, this news is basically no news :P It's also been possible to AOT compile a .net program with mono on linux and deploy it with no dependencies for quite a while now.
Apr 02 2014
prev sibling next sibling parent "Gary Willoughby" <dev nomad.so> writes:
On Wednesday, 2 April 2014 at 21:03:18 UTC, Orvid King wrote:
 It's also been possible to AOT compile a .net program with mono 
 on linux and deploy it with no dependencies for quite a while 
 now.

Really? Links?
Apr 02 2014
prev sibling next sibling parent "Paulo Pinto" <pjmlp progtools.org> writes:
On Wednesday, 2 April 2014 at 21:03:18 UTC, Orvid King wrote:
 On Wed, 02 Apr 2014 15:24:00 -0500, Paulo Pinto 
 <pjmlp progtools.org> wrote:

 So it finally happened, C# gets an AOT compiler in addition to 
 NGEN/JIT
 as part of standard Visual Studio tools.

 http://techcrunch.com/2014/04/02/microsoft-updates-visual-studio-with-support-for-universal-projects-typescript-1-0-and-net-native-code-compilation/

 More information will be provided in the native sessions 
 tomorrow and on
 Friday.

 Posting this as it has direct implications into D's adoption.

 --
 Paulo

NGen's been around since .net 2.0, all the native compilation is that they are talking about is just a few stubs and a nice pretty interface for developers to work with. They do not currently intend to support the AOT compilation for desktops, not in the way that D does at least. Microsoft's AOT interface will also only ever support Windows. If Apple is very lucky, they might support it on OSX, but it will never make it to Linux. All in all, this news is basically no news :P It's also been possible to AOT compile a .net program with mono on linux and deploy it with no dependencies for quite a while now.

It is more than just ngen, it makes use of Visual C++ backend. I am following it. All the niffty details to be unwrapped on Friday it seems. -- Paulo
Apr 02 2014
prev sibling next sibling parent "Paulo Pinto" <pjmlp progtools.org> writes:
On Wednesday, 2 April 2014 at 21:28:17 UTC, Gary Willoughby wrote:
 On Wednesday, 2 April 2014 at 21:03:18 UTC, Orvid King wrote:
 It's also been possible to AOT compile a .net program with 
 mono on linux and deploy it with no dependencies for quite a 
 while now.

Really? Links?

http://www.mono-project.com/AOT
Apr 02 2014
prev sibling next sibling parent "Adam Wilson" <flyboynw gmail.com> writes:
On Wed, 02 Apr 2014 13:36:56 -0700, Orvid King <blah38621 gmail.com> wrote:

 On Wed, 02 Apr 2014 15:24:00 -0500, Paulo Pinto <pjmlp progtools.org>  
 wrote:

 So it finally happened, C# gets an AOT compiler in addition to NGEN/JIT
 as part of standard Visual Studio tools.

 http://techcrunch.com/2014/04/02/microsoft-updates-visual-studio-with-support-for-universal-projects-typescript-1-0-and-net-native-code-compilation/

 More information will be provided in the native sessions tomorrow and on
 Friday.

 Posting this as it has direct implications into D's adoption.

 --
 Paulo

NGen's been around since .net 2.0, all the native compilation is that they are talking about is just a few stubs and a nice pretty interface for developers to work with. They do not currently intend to support the AOT compilation for desktops, not in the way that D does at least. Microsoft's AOT interface will also only ever support Windows. If Apple is very lucky, they might support it on OSX, but it will never make it to Linux. All in all, this news is basically no news :P It's also been possible to AOT compile a .net program with mono on linux and deploy it with no dependencies for quite a while now.

Incorrect. It is a fully AOT compiler using the Visual C++ backend. NGen assemblies are incredibly fragile and machine specific, by using the VC++ backend they have eliminated that problem. It's not the Native C# language that has been talked about, but it is definitely a step in the right direction. -- Adam Wilson GitHub/IRC: LightBender Aurora Project Coordinator
Apr 02 2014
prev sibling next sibling parent "Kagamin" <spam here.lot> writes:
Though native doesn't mean as fast as other native languages. The 
speed depends on used features. Well, number crunching can be 
definitely sped up.
Apr 03 2014
prev sibling next sibling parent "Bienlein" <jeti789 web.de> writes:
This is not really spectacular. The intermediate byte code 
generated by the C# compiler also in the past was transfered to 
machine code. But this was happening at start-up time and this 
way slowing down application start-up. The change MS now made is 
only about reducing start-up times. It will not mean a difference 
in execution speed. Actually, Java is in this way still ahead of 
.NET as it converts the JVM byte codes on the fly to maschine 
code and is able to make optimization at runtime as it observes 
at runtime what is happening (Hot Spot runtime optimization). C# 
"native" can't do that as it converts all the intermediate byte 
code in one run into maschine code.

 Posting this as it has direct implications into D's adoption.

I don't really see why. Again, AFAIKS it is only about reducing start-up times of C# apps and won't result in a general performance improvement.
Apr 03 2014
prev sibling next sibling parent "Paulo Pinto" <pjmlp progtools.org> writes:
On Thursday, 3 April 2014 at 07:40:11 UTC, Bienlein wrote:
 This is not really spectacular. The intermediate byte code 
 generated by the C# compiler also in the past was transfered to 
 machine code. But this was happening at start-up time and this 
 way slowing down application start-up. The change MS now made 
 is only about reducing start-up times. It will not mean a 
 difference in execution speed. Actually, Java is in this way 
 still ahead of .NET as it converts the JVM byte codes on the 
 fly to maschine code and is able to make optimization at 
 runtime as it observes at runtime what is happening (Hot Spot 
 runtime optimization). C# "native" can't do that as it converts 
 all the intermediate byte code in one run into maschine code.

 Posting this as it has direct implications into D's adoption.

I don't really see why. Again, AFAIKS it is only about reducing start-up times of C# apps and won't result in a general performance improvement.

There is now a FAQ. http://msdn.microsoft.com/en-US/vstudio/dn642499.aspx <quote> However, apps will get deployed on end-user devices as fully self-contained natively compiled code (when .NET Native enters production), and will not have a dependency on the .NET Framework on the target device/machine.</quote> For the time being only Windows Store is supported as that is what Microsoft is pushing a new app model. -- Paulo
Apr 03 2014
prev sibling next sibling parent "Paulo Pinto" <pjmlp progtools.org> writes:
On Wednesday, 2 April 2014 at 21:43:05 UTC, Adam Wilson wrote:
 On Wed, 02 Apr 2014 13:36:56 -0700, Orvid King 
 <blah38621 gmail.com> wrote:

 On Wed, 02 Apr 2014 15:24:00 -0500, Paulo Pinto 
 <pjmlp progtools.org> wrote:

 So it finally happened, C# gets an AOT compiler in addition 
 to NGEN/JIT
 as part of standard Visual Studio tools.

 http://techcrunch.com/2014/04/02/microsoft-updates-visual-studio-with-support-for-universal-projects-typescript-1-0-and-net-native-code-compilation/

 More information will be provided in the native sessions 
 tomorrow and on
 Friday.

 Posting this as it has direct implications into D's adoption.

 --
 Paulo

NGen's been around since .net 2.0, all the native compilation is that they are talking about is just a few stubs and a nice pretty interface for developers to work with. They do not currently intend to support the AOT compilation for desktops, not in the way that D does at least. Microsoft's AOT interface will also only ever support Windows. If Apple is very lucky, they might support it on OSX, but it will never make it to Linux. All in all, this news is basically no news :P It's also been possible to AOT compile a .net program with mono on linux and deploy it with no dependencies for quite a while now.

Incorrect. It is a fully AOT compiler using the Visual C++ backend. NGen assemblies are incredibly fragile and machine specific, by using the VC++ backend they have eliminated that problem. It's not the Native C# language that has been talked about, but it is definitely a step in the right direction.

Actually it is. http://channel9.msdn.com/Shows/Going+Deep/Inside-NET-Native 00:12:00 -- Paulo
Apr 03 2014
prev sibling next sibling parent "Adam Wilson" <flyboynw gmail.com> writes:
On Thu, 03 Apr 2014 01:45:16 -0700, Paulo Pinto <pjmlp progtools.org>  
wrote:

 On Wednesday, 2 April 2014 at 21:43:05 UTC, Adam Wilson wrote:
 On Wed, 02 Apr 2014 13:36:56 -0700, Orvid King <blah38621 gmail.com>  
 wrote:

 On Wed, 02 Apr 2014 15:24:00 -0500, Paulo Pinto <pjmlp progtools.org>  
 wrote:

 So it finally happened, C# gets an AOT compiler in addition to  
 NGEN/JIT
 as part of standard Visual Studio tools.

 http://techcrunch.com/2014/04/02/microsoft-updates-visual-studio-with-support-for-universal-projects-typescript-1-0-and-net-native-code-compilation/

 More information will be provided in the native sessions tomorrow and  
 on
 Friday.

 Posting this as it has direct implications into D's adoption.

 --
 Paulo

NGen's been around since .net 2.0, all the native compilation is that they are talking about is just a few stubs and a nice pretty interface for developers to work with. They do not currently intend to support the AOT compilation for desktops, not in the way that D does at least. Microsoft's AOT interface will also only ever support Windows. If Apple is very lucky, they might support it on OSX, but it will never make it to Linux. All in all, this news is basically no news :P It's also been possible to AOT compile a .net program with mono on linux and deploy it with no dependencies for quite a while now.

Incorrect. It is a fully AOT compiler using the Visual C++ backend. NGen assemblies are incredibly fragile and machine specific, by using the VC++ backend they have eliminated that problem. It's not the Native C# language that has been talked about, but it is definitely a step in the right direction.

Actually it is. http://channel9.msdn.com/Shows/Going+Deep/Inside-NET-Native 00:12:00 -- Paulo

Erm. No it's not. That project is called M#, it is a different language than C#. M# has a different but related set of keywords/syntax compared to C#. The similarity is that they both use the VC++ backend, but that is a more a case of technology re-use than any meaningful relationship. -- Adam Wilson GitHub/IRC: LightBender Aurora Project Coordinator
Apr 07 2014
prev sibling parent "Paulo Pinto" <pjmlp progtools.org> writes:
On Monday, 7 April 2014 at 07:38:40 UTC, Adam Wilson wrote:
 On Thu, 03 Apr 2014 01:45:16 -0700, Paulo Pinto 
 <pjmlp progtools.org> wrote:

 On Wednesday, 2 April 2014 at 21:43:05 UTC, Adam Wilson wrote:
 On Wed, 02 Apr 2014 13:36:56 -0700, Orvid King 
 <blah38621 gmail.com> wrote:

 On Wed, 02 Apr 2014 15:24:00 -0500, Paulo Pinto 
 <pjmlp progtools.org> wrote:

 So it finally happened, C# gets an AOT compiler in addition 
 to NGEN/JIT
 as part of standard Visual Studio tools.

 http://techcrunch.com/2014/04/02/microsoft-updates-visual-studio-with-support-for-universal-projects-typescript-1-0-and-net-native-code-compilation/

 More information will be provided in the native sessions 
 tomorrow and on
 Friday.

 Posting this as it has direct implications into D's 
 adoption.

 --
 Paulo

NGen's been around since .net 2.0, all the native compilation is that they are talking about is just a few stubs and a nice pretty interface for developers to work with. They do not currently intend to support the AOT compilation for desktops, not in the way that D does at least. Microsoft's AOT interface will also only ever support Windows. If Apple is very lucky, they might support it on OSX, but it will never make it to Linux. All in all, this news is basically no news :P It's also been possible to AOT compile a .net program with mono on linux and deploy it with no dependencies for quite a while now.

Incorrect. It is a fully AOT compiler using the Visual C++ backend. NGen assemblies are incredibly fragile and machine specific, by using the VC++ backend they have eliminated that problem. It's not the Native C# language that has been talked about, but it is definitely a step in the right direction.

Actually it is. http://channel9.msdn.com/Shows/Going+Deep/Inside-NET-Native 00:12:00 -- Paulo

Erm. No it's not. That project is called M#, it is a different language than C#. M# has a different but related set of keywords/syntax compared to C#. The similarity is that they both use the VC++ backend, but that is a more a case of technology re-use than any meaningful relationship.

Sorry but you are wrong, they clearly state in several occasions that Project N, discussed at Visual Studio 2013 launch event is .NET Native. If you wish I can track down all minutes from those presentations where such statements are issued. M# is nothing more than a research project, that for what we know, like Midori, it won't ever see the light of the day outside Microsoft Research. -- Paulo
Apr 07 2014