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:

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 reply "Orvid King" <blah38621 gmail.com> writes:
On Wed, 02 Apr 2014 15:24:00 -0500, Paulo Pinto <pjmlp progtools.org>  
wrote:


 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
next sibling parent reply "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
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 "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:


 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 parent reply "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:


 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++ 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
parent reply "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:


 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 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
next sibling parent reply "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:


 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 the right direction.
Actually it is. http://channel9.msdn.com/Shows/Going+Deep/Inside-NET-Native 00:12:00 -- Paulo
more a case of technology re-use than any meaningful relationship. -- Adam Wilson GitHub/IRC: LightBender Aurora Project Coordinator
Apr 07 2014
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:


 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 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
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. know, like Midori, it won't ever see the light of the day outside Microsoft Research. -- Paulo
Apr 07 2014
prev sibling parent "Alex" <duzhar googlemail.com> writes:

into native code (using LLVM) thus being cross-compiled as 


here some links:

https://csnative.codeplex.com/

and

https://github.com/xen2/SharpLang
Jan 08 2015
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 reply "Bienlein" <jeti789 web.de> writes:
This is not really spectacular. The intermediate byte code 

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 

"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 performance improvement.
Apr 03 2014
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 

 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 

 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 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 parent reply "ponce" <contact gam3sfrommars.fr> writes:
On Wednesday, 2 April 2014 at 20:23:58 UTC, Paulo Pinto wrote:

 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
Now I wonder how will runtime template instantiation work.
Jan 08 2015
next sibling parent "Paulo Pinto" <pjmlp progtools.org> writes:
On Thursday, 8 January 2015 at 11:53:37 UTC, ponce wrote:
 On Wednesday, 2 April 2014 at 20:23:58 UTC, Paulo Pinto wrote:

 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
Now I wonder how will runtime template instantiation work.
Either they are using the existing solution done by NGEN/JIT, C++ style for value types and erasure for reference types, or the full C++ way. The compiler also uses heuristics for reflection, failing that you can list which classes are the target of runtime reflection, so that their metadata isn't thrown away. http://blogs.msdn.com/b/dotnet/archive/2014/05/21/net-native-deep-dive-help-i-hit-a-missingmetadataexception.aspx .. Paulo
Jan 08 2015
prev sibling parent "Alex D." <duzhar googlemail.com> writes:
 Now I wonder how will runtime template instantiation work.
it is not really difficult, but it a bit of work to make it run for example you when you use List<T> you are going to use a specialization of the template such as List<int> which is not template anymore.
Jan 08 2015