Wprowadzenie do środowiska programistycznego C#

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

  1. Zainstaluj Visual Studio Community i stwórz pierwszy projekt C#
  2. Napisz program, który wyświetli twoje imię i wiek
  3. Zbadaj, jakie aplikacje na twoim komputerze zostały napisane w C#
  4. Znajdź 3 przykłady gier stworzonych w Unity
  5. Porównaj C# z innym znanym ci językiem programowania

8. Przydatne zasoby do nauki

Oficjalne źródła:

Społeczność: