La domanda che ho sempre voluto porre e ho avuto paura, in realtà - in che lingua è scritto .NET Framework? Intendo la biblioteca stessa.
Mi sembra che sia principalmente C e C++. (Spero che Jon Skeet stia leggendo questo, sarà molto interessante sentire cosa ne pensa)In quale lingua è scritto .NET Framework?
risposta
CLI/CLR è scritto in C/C++ e assemblato. Quasi tutte le classi del framework .NET sono scritte in C#> compilate in IL, che viene eseguito nel CLR. Se apri una libreria framework in Reflector, classe, potresti vedere un attributo come [MethodImpl (MethodImplOptions.InternalCall)] che delega la chiamata alla CLI.
Si noti che questo si applica solo a Microsoft .NET. Altre implementazioni della CLI possono essere progettate in modo diverso. Ad esempio, in Mono molte delle cose scritte in C/C++ in Microsoft.NET sono in realtà scritte in C# in Mono. Inoltre, esistono implementazioni metacircolari, sia di Microsoft Research che di altre organizzazioni, che sono scritte * interamente * in C#. –
Jörg W Mittag - Grazie, non lo sapevo. Dovrà dare un'occhiata alle implementazioni C#. –
Questo è fondamentalmente affermato in [Storia di StyleCop] (https://stylecop.codeplex.com/wikipage?title = A% 20Brief% 20History% 20of% 20CSharp% 20Style), se qualcuno vuole un riferimento citato. –
Ci sono parti di .NET Framework che sono open-source, come ASP.NET MVC, ed è scritto in C#.
Poiché .NET Framework rappresenta molti assiemi, presumo che diverse librerie siano scritte in lingue diverse. Finché la lingua è compatibile con CLR, può essere utilizzata per creare parti del framework.
Tutto detto, però; Immagino che la parte del leone di .NET Framework sia scritta in C++ e C#.
.NET era completamente scritto in C e C++ perché la base era in linguaggio assembly. L'integrazione dell'assemblaggio con C è molto più semplice rispetto alle lingue più recenti.
Microsoft .NET Framework è diviso in molti segmenti.
CLR: C++
IO/Signal Processing: Assemblea
BaseClass Biblioteca: C#
System.Threading: C#
complessa struttura dati: C++
Esempio: GetHashCode
CLR/Compilatori - Visual C++
BaseClass Biblioteca - Semplice Managed C (SMC)
http://blogs.msdn.com/b/jasonz/archive/2007/11/23/couple-of-historical-facts.aspx
Da quell'articolo: "In realtà abbiamo scritto il BCL originale in SMC: è stato un atto di fede convertire in C#". Quindi .NET Framework BCL è in realtà C# – Suamere
- 1. In quale lingua è scritto Swift?
- 2. In quale lingua è scritto JavaScript?
- 3. In quale lingua è scritto HTML?
- 4. È possibile determinare in quale lingua un assembly .NET è stato scritto ex post facto?
- 5. In quale lingua è scritto Visual Studio 2010/2012?
- 6. In quale lingua è stato originariamente scritto MSDOS?
- 7. In quale lingua è scritto il linguaggio di programmazione Go?
- 8. Postman application-extension from chrome è scritto in quale lingua?
- 9. che lingua è scritto in google all'inizio?
- 10. Questo codice è scritto in Pl/Sql e, in caso contrario, quale lingua è?
- 11. In quale linguaggio di programmazione è scritto FogBugz?
- 12. Come si dice in quale lingua è scritto un file di testo semplice?
- 13. In quale lingua è scritto Scala e dove si trova la fonte?
- 14. È possibile sapere in quale lingua viene scritto un file exe?
- 15. Quale framework .NET con MVC 4?
- 16. lingua caratteristica vs framework
- 17. Quale interessante software open source è scritto in Lisp?
- 18. Quale lingua è ideale per la robotica
- 19. Quale versione di framework .net eseguirà una libreria in
- 20. dire esplicitamente in quale lingua tradurre
- 21. Quale lingua usa l'estensione .pde?
- 22. Come scoprire quale pacchetto .NET framework nuget target?
- 23. Quale versione del framework .NET dovrei scegliere come target?
- 24. Quale framework di dipendenza delle dipendenze .NET si usa?
- 25. Quale framework di convalida raccomanderesti per i progetti .net?
- 26. I comandi della shell sono scritti in quale lingua?
- 27. Può un programma .net scritto per windows funzionare su osx?
- 28. Versione framework .NET utilizzata
- 29. Winform senza framework .NET?
- 30. Come imparare .NET Framework
Scarica la fonte e scoprire: http://referencesource.microsoft.com/netframework.aspx –
@michielvoo il tuo link è morto, aggiornato sarebbe apprezzato. – Aelphaeis
@Aelphaeis Ora è solo http://referencesource.microsoft.com –