digitalmars.D - MSBUILD 2014, C# gets an ahead of time compiler to native code.
- Paulo Pinto (8/8) Apr 02 2014 So it finally happened, C# gets an AOT compiler in addition to NGEN/JIT
- Orvid King (11/19) Apr 02 2014 NGen's been around since .net 2.0, all the native compilation is that th...
- Gary Willoughby (2/5) Apr 02 2014 Really? Links?
- Paulo Pinto (2/7) Apr 02 2014 http://www.mono-project.com/AOT
- Paulo Pinto (6/33) Apr 02 2014 It is more than just ngen, it makes use of Visual C++ backend.
- Adam Wilson (10/34) Apr 02 2014 Incorrect. It is a fully AOT compiler using the Visual C++ backend. NGen...
- Paulo Pinto (6/42) Apr 03 2014 Actually it is.
- Adam Wilson (10/52) Apr 07 2014 Erm. No it's not. That project is called M#, it is a different language ...
- Paulo Pinto (11/67) Apr 07 2014 Sorry but you are wrong, they clearly state in several occasions
- Alex (7/7) Jan 08 2015 There are some tools in the wild which allows to compile C#(MSIL)
- Kagamin (3/3) Apr 03 2014 Though native doesn't mean as fast as other native languages. The
- Bienlein (14/15) Apr 03 2014 This is not really spectacular. The intermediate byte code
- Paulo Pinto (12/27) Apr 03 2014 There is now a FAQ.
- ponce (2/12) Jan 08 2015 Now I wonder how will runtime template instantiation work.
- Paulo Pinto (10/26) Jan 08 2015 Either they are using the existing solution done by NGEN/JIT, C++
- Alex D. (4/5) Jan 08 2015 it is not really difficult, but it a bit of work to make it run
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
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. -- PauloNGen'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
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
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:http://www.mono-project.com/AOTIt'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
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: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. -- PauloNGEN/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. -- PauloNGen'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
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: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 Coordinatoras 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. -- PauloNGen'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
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:Actually it is. http://channel9.msdn.com/Shows/Going+Deep/Inside-NET-Native 00:12:00 -- PauloOn Wed, 02 Apr 2014 15:24:00 -0500, Paulo Pinto <pjmlp progtools.org> wrote: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.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. -- PauloNGen'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 03 2014
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:more a case of technology re-use than any meaningful relationship. -- Adam Wilson GitHub/IRC: LightBender Aurora Project CoordinatorOn Wed, 02 Apr 2014 13:36:56 -0700, Orvid King <blah38621 gmail.com> wrote:Actually it is. http://channel9.msdn.com/Shows/Going+Deep/Inside-NET-Native 00:12:00 -- PauloOn Wed, 02 Apr 2014 15:24:00 -0500, Paulo Pinto <pjmlp progtools.org> wrote: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.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. -- PauloNGen'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 07 2014
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: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. -- PauloOn Wednesday, 2 April 2014 at 21:43:05 UTC, Adam Wilson wrote:both use the VC++ backend, but that is a more a case of technology re-use than any meaningful relationship.On Wed, 02 Apr 2014 13:36:56 -0700, Orvid King <blah38621 gmail.com> wrote:Actually it is. http://channel9.msdn.com/Shows/Going+Deep/Inside-NET-Native 00:12:00 -- PauloOn Wed, 02 Apr 2014 15:24:00 -0500, Paulo Pinto <pjmlp progtools.org> wrote: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.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. -- PauloNGen'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 07 2014
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
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
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
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.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. -- PauloPosting 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
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. -- PauloNow I wonder how will runtime template instantiation work.
Jan 08 2015
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: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 .. PauloNGEN/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. -- PauloNow I wonder how will runtime template instantiation work.
Jan 08 2015
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