1. Krótka historia C# i jego związek z .NET Framework
C# jest językiem programowania stworzonym przez Microsoft, zaprojektowanym przez Andersa Hejlsberga i jego zespół w późnych latach 90. Pierwsza wersja została zaprezentowana w 2000 roku jako część platformy .NET Framework.
Ciekawostki historyczne:
- Nazwa „C#” pochodzi od symbolu muzycznego „♯” (krzyżyk), który podnosi nutę o pół tonu
- Anders Hejlsberg wcześniej pracował nad językami Turbo Pascal i Delphi
- C# był odpowiedzią Microsoft na popularny wówczas język Java
Język ten został stworzony, aby umożliwić szybkie i efektywne tworzenie różnych typów aplikacji, które działają na platformie Microsoft Windows.
.NET Framework to platforma programistyczna, która zapewnia środowisko do uruchamiania aplikacji napisanych w C# i innych językach kompatybilnych z .NET. Umożliwia ona tworzenie aplikacji, które są niezależne od konkretnej platformy sprzętowej i systemu operacyjnego.
Ewolucja platformy .NET:
- .NET Framework (2002) – dla Windows
- .NET Core (2016) – wieloplatformowy, open source
- .NET 5/6/7/8+ (2020+) – ujednolicona platforma
2. Przegląd głównych cech i zalet języka C#
Kluczowe cechy:
Wieloparadygmatowość: C# łączy w sobie elementy programowania obiektowego, imperatywnego oraz częściowo funkcyjnego.
Silne typowanie: W C# każda zmienna musi być zdefiniowana przed jej użyciem, co przyczynia się do większej przejrzystości kodu i łatwiejszego wykrywania błędów.
Bezpieczeństwo typów: System typów w C# chroni użytkownika przed niezamierzonymi działaniami na danych.
Zarządzanie pamięcią: C# korzysta z automatycznego zarządzania pamięcią, znanego jako garbage collection, które pomaga w zapobieganiu wyciekom pamięci.
Współdziałanie z innymi językami: C# może współpracować z innymi językami programowania używanymi na platformie .NET.
Wsparcie dla asynchroniczności: Język oferuje nowoczesne wsparcie dla programowania asynchronicznego, co jest szczególnie ważne w aplikacjach sieciowych i interfejsach użytkownika.
Dodatkowe zalety:
- Czytelność kodu – składnia podobna do C++ i Java
- Bogate biblioteki – ogromna baza gotowych rozwiązań
- Aktywna społeczność – duże wsparcie społeczności programistów
- Regularne aktualizacje – nowe funkcje dodawane co rok
- Darmowe narzędzia – Visual Studio Community, VS Code
3. Przykłady zastosowań C# w różnych dziedzinach
Aplikacje desktopowe
Tworzenie bogatych aplikacji okienkowych z wykorzystaniem:
- Windows Forms – tradycyjne aplikacje okienkowe
- WPF (Windows Presentation Foundation) – nowoczesne interfejsy z bogatą grafiką
- WinUI – najnowsza technologia dla aplikacji Windows
Aplikacje webowe
Rozwój aplikacji internetowych z wykorzystaniem ASP.NET, umożliwiający tworzenie:
- Prostych stron internetowych
- Zaawansowanych aplikacji webowych
- API (interfejsów programistycznych)
- Aplikacji typu SPA (Single Page Application)
Gry
Wykorzystanie w silniku Unity do tworzenia gier na różne platformy:
- PC i konsole gier
- Urządzenia mobilne (Android, iOS)
- Gry VR/AR
- Gry przeglądarkowe
Aplikacje mobilne
Stosowanie frameworków do tworzenia aplikacji mobilnych:
- Xamarin – natywne aplikacje na Android i iOS
- .NET MAUI – następca Xamarin, aplikacje wieloplatformowe
Aplikacje w chmurze
Tworzenie rozwiązań opartych o chmurę przy użyciu:
- Microsoft Azure
- Mikrousługi i API
- Aplikacje serverless (Azure Functions)
Aplikacje IoT
Rozwijanie aplikacji dla Internetu Rzeczy, gdzie C# służy do:
- Zarządzania urządzeniami
- Przetwarzania danych z czujników
- Komunikacji między urządzeniami
4. Środowisko programistyczne – narzędzia pracy
Visual Studio (IDE)
- Visual Studio Community – darmowa wersja dla studentów i małych projektów
- Visual Studio Professional/Enterprise – płatne wersje z dodatkowymi funkcjami
- Zintegrowane narzędzia do debugowania, testowania i wdrażania
Visual Studio Code
- Lekki, darmowy edytor kodu
- Rozszerzenie C# Dev Kit
- Wieloplatformowy (Windows, macOS, Linux)
Inne narzędzia:
- JetBrains Rider – alternatywne IDE
- LINQPad – do szybkiego testowania kodu
- NuGet – menedżer pakietów
5. Pierwszy program w C#
using System;
namespace MojPierwszyProgram
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Witaj w świecie C#!");
Console.ReadKey();
}
}
}Elementy programu:
- using System – importowanie przestrzeni nazw
- namespace – organizacja kodu
- class Program – definicja klasy
- Main – punkt wejścia programu
- Console.WriteLine – wyświetlanie tekstu
6. Dlaczego warto uczyć się C#?
Zalety dla uczących się:
- Przystępna składnia – łatwiejsza do nauki niż C++
- Wszechstronność – jeden język, wiele zastosowań
- Perspektywy zawodowe – duże zapotrzebowanie na rynku pracy
- Dokumentacja – doskonała dokumentacja Microsoft
- Darmowe zasoby – wiele bezpłatnych kursów i materiałów
Statystyki rynkowe:
- C# regularnie znajduje się w top 10 najpopularniejszych języków programowania
- Wysokie zarobki programistów C#
- Duża liczba ofert pracy
7. Zadania praktyczne
- Zainstaluj Visual Studio Community i stwórz pierwszy projekt C#
- Napisz program, który wyświetli twoje imię i wiek
- Zbadaj, jakie aplikacje na twoim komputerze zostały napisane w C#
- Znajdź 3 przykłady gier stworzonych w Unity
- Porównaj C# z innym znanym ci językiem programowania