Pytanie, które zawsze chciałem zapytać i czego się obawiałem, w rzeczywistości - w jakim języku napisano .NET Framework? Mam na myśli samą bibliotekę.
Wydaje mi się, że było to głównie C i C++. (Mam nadzieję, że Jon Skeet czyta ten, będzie bardzo interesująco usłyszeć, co o nim myśli).W jakim języku napisano .NET Framework?
Odpowiedz
CLI/CLR jest napisane w C/C++ i montażu. Prawie wszystkie klasy architektury .NET są napisane w C#> skompilowanym do IL, który działa w CLR. Jeśli otworzysz bibliotekę szkieletową w klasie Reflector, możesz zobaczyć atrybut, taki jak [MethodImpl (MethodImplOptions.InternalCall)], który deleguje wywołanie do interfejsu CLI.
Należy pamiętać, że dotyczy to tylko Microsoft .NET. Inne implementacje CLI mogą być różnie zaprojektowane. Np. W Mono wiele rzeczy napisanych w C/C++ w Microsoft.NET jest napisanych w języku C# w Mono. Istnieją także metakorporacyjne implementacje, zarówno przez Microsoft Research, jak i inne organizacje, które są napisane * całkowicie * w języku C#. –
Jörg W Mittag - Dzięki, nie wiedziałem tego. Będzie musiał przyjrzeć się implementacjom języka C#. –
Jest to zasadniczo określone w [Historia StyleCop] (https://stylecop.codeplex.com/wikipage?title = A% 20Brief% 20History% 20of% 20CSharp% 20Style), jeśli ktoś chce cytowanego odnośnika. –
Istnieją części .NET Framework, które są open source, takie jak ASP.NET MVC, i to jest napisane w C#.
Ponieważ. NET Framework reprezentuje wiele zespołów, zakładam, że różne biblioteki są napisane w różnych językach. Dopóki język jest zgodny z CLR, może być używany do budowania części architektury.
Wszystko jednak powiedziane; Zakładam, że lwią część platformy .NET Framework napisano w C++ i C#.
.NET został napisany w języku C i C++, ponieważ baza była w języku asemblerowym. Integracja zestawu z C jest znacznie łatwiejsza w porównaniu z nowszymi językami.
Microsoft .NET Framework jest podzielony na wiele segmentów.
CLR: C++
IO/Signal Processing: Montaż
klasy bazowej Biblioteka: C#
System.Threading: C#
Złożona struktura danych: C++
Przykład: GetHashCode
CLR/Translatory - Visual C++
klasy bazowej Biblioteka - Proste Managed C (SMC)
http://blogs.msdn.com/b/jasonz/archive/2007/11/23/couple-of-historical-facts.aspx
Z tego artykułu: "Naprawdę napisaliśmy oryginalną licencję BCL w SMC, to był krok wiary, aby przekonwertować na język C#". Tak. .NET Framework BCL jest faktycznie C# – Suamere
- 1. W jakim języku używam swojego projektu?
- 2. W jakim języku programowania opracowano aplikację GoogleTalk?
- 3. wyraźnie powiedzieć, w jakim języku tłumaczyć
- 4. w jakim języku jest napisane Asana?
- 5. w jakim języku wprowadzono cybersyn/cyberstride?
- 6. W jakim języku należy używać wtyczki Pidgin?
- 7. Polecenia powłoki są napisane w jakim języku?
- 8. Entity Framework w .NET?
- 9. Czy można ustalić, w jakim języku Zgromadzenie .NET zostało napisane ex post facto?
- 10. Atrybut "AssemblyTitle" w .NET Framework
- 11. Jak sprawdzić, w jakim języku jest napisany zwykły tekst?
- 12. W jakim języku programowania jest Sublime Text 2 napisany
- 13. Jak napisano pierwszy kompilator C?
- 14. Testowanie tego, co napisano w Javie OutputStream
- 15. .NET Framework - kiedy uaktualnić?
- 16. W jakim kontekście używam C#?
- 17. Lokalizacja dokumentacji .Net Framework
- 18. Framework NLP dla .NET
- 19. .net Compact Framework 4.0
- 20. Wymiana GINA w języku .NET?
- 21. .Net Framework 4 Full i Net Framework 4 Kierowanie na profil klienta
- 22. . Kompaktowy framework .net "Struktura docelowa"
- 23. W jakim celu stosuje się Django?
- 24. Biblioteki drukowania .NET Compact Framework
- 25. Jak spakować bibliotekę .NET Framework?
- 26. maxRequestLength dla .Net 4.5.1 framework
- 27. Jak się nauczyć .NET Framework
- 28. Szyfrowanie AES 256 w .NET Framework 2.0
- 29. .NET Compact Framework - wykrywanie, czy w emulatorze?
- 30. Wariancja typu w .NET Framework 4.0
Pobierz źródła i dowiedzieć się: http://referencesource.microsoft.com/netframework.aspx –
@michielvoo twój link zmarł, aktualizacja byłaby doceniona. – Aelphaeis
@Aelphaeis To teraz tylko http://referencesource.microsoft.com –