Otwieramy z dniem dzisiejszym następny artykuł z cyklu "Język C#"! Spotkaliśmy się ponownie, aby odgrywać swoje role. Ja Wam daję materiał, Wy go czytacie ;). Nic się nie zmienia. Prawdziwym "prologiem" będzie platforma .NET, czym ona jest i z jakich części się składa. Po przytoczeniu tematu, mogę Was już tylko zaprosić do lektury!
Tweet |
PLATFORMA .NET TO GŁÓWNA "SIEDZIBA" JĘZYKA "CSHARP"!
Uważam, że jeśli się bierzecie za naukę języka C#, musicie mieć w głowie garść wiedzy o samej platformie .NET, która jest silnie związana z językiem. Rozbijemy to sobie na kilka części, wierząc że odpowiem na wszystkie pytania i rozwieję wątpliwości (a może nawet pomogę zaliczyć sprawdzian :)?).
CO TO JEST ".NET"?
Tu jest pies pogrzebany! Można to rozumieć jako ".NET Framework" albo jako ".NET Core". Stwierdziłem, że najbezpieczniej będzie tu wstawić wyjaśnienie zarówno jednego, jak i drugiego. W obu przypadkach jest to implementacja standardu "Common Language Infrastructure" (więcej o poszczególnych akronimach jest opisane w dalszej części) i możecie to potraktować jak najprostszą definicję bez wchodzenia w szczegóły techniczne. Platforma .NET dzieli się na dwie wyżej wymienione składowe.
.NET FRAMEWORK
Kiedy pojawia się na Waszych oczach ".NET Framework" (czasem jest skracane do ".NET"), to najogólniej oznacza to funkcjonowanie tylko na urządzeniach z systemem operacyjnym Microsoft Windows. Możecie sobie programować w języku C# aplikacje tak jak zwykle, ale jedyną platformą na jaką będzie to chodzić, będzie Windows. Została opublikowana w 2000 roku jako pierwsza implementacja.
.NET CORE
Postać rzeczy ulega zmianie, kiedy mowa o ".NET Core". To jest rozwiązanie dla posiadaczy innych systemów operacyjnych niż Microsoft Windows. Zapewnia ono "crossplatformową" kompilację kiedy w grę mają wchodzić inne platformy niż wyżej wymieniona. Implementacja weszła w życie dopiero szesnaście lat później od wprowadzenia pierwotnej propozycji, w 2016 roku.
PLATFORMA .NET VS. C#
Dla świętego spokoju wolę zostawić tę informację. Nie stawiajcie znaku równości pomiędzy językiem C#, a platformą .NET! To nie jest to samo! Część z Was może myśleć, że jeśli to należy do .NET, to myślimy o tym samym. Błąd! C# to język, .NET to framework na którym został zbudowany cały C#. Zatem, C# jest częścią platformy .NET :).
AKRONIMY I DEFINICJE
Ostatnim punktem tego artykułu będzie wyjaśnienie kilku akronimów, z którymi wielokrotnie będziecie mieli styczność wszędzie tam, gdzie będzie mowa o platformie .NET. Nie tylko powinno się znać pełną ich nazwę, ale także po co one są albo co robią. Definicje mogą nie być dla każdego satysfakcjonujące ;). Posiłkowałem się literaturą naukową i sformułowałem je własnymi słowami. Poznajcie je już teraz i bez wykrętów, że się nie chce :D!
- CIL (Common Intermediate Language)
- kod pośredni "wytwarzany" przez kompilator C#
- CLI (Common Language Infrastructure)
- specyfikacja określająca pośredni język uniwersalny dla środowisk uruchomieniowych i kompilatorów
- CLR (Common Language Runtime)
- środowisko uruchomieniowe zdolne do kompilowania kodu wynikowego CIL bezpośrednio przed wykonaniem (just-in-time)
- utożsamiane jest z wirtualną maszyną Javy (JVM)
- CTS (Common Type System)
- standard definiujący strukturę oraz funkcjonowanie wspólnych typów danych
- zawiera informacje w jaki sposób istniejące typy można łączyć w inne typy
- CLS (Common Language Specification)
- fragment specyfikacji opisujący przy użyciu jakiego podzbioru funkcji należy pisać kod we wspieranych językach, aby był zgodny z kodem pośrednim CIL
- BCL (Base Class Library)
- standard biblioteki uruchomieniowej udostępniający definicje wszystkich typów natywnych z języka C#
Poza wspomnianymi akronimami jakimi dysponuje platforma .NET, warto jeszcze przytoczyć dwa skróty z którymi możecie mieć częstą styczność:
- ASP.NET
- technologia przeznaczona do projektowania aplikacji internetowych oraz dynamicznych stron internetowych
- ADO.NET
- technologia przeznaczona do uzyskiwania dostępu, obsługi i zarządzania bazą danych
Logo platformy .NET.
Źródło: Wikimedia
To na początek będzie tyle. Spróbujcie opanować te akronimy, abyście mieli przed sobą ich znaczenie kiedy tylko usłyszycie je na głos. To będzie dobrze o Was świadczyło, zwłaszcza podczas "interview". Czy tego chcecie, czy nie, platforma .NET jest nieodłącznym elementem języka C#!