Wielkość liter w programowaniu – dlaczego true ≠ True?
Wprowadzenie: Jeden znak, który rujnuje kod
Spędziłeś godzinę na pisaniu kodu. Wszystko wydaje się poprawne. Naciskasz F5 i… błąd kompilacji.
Error: 'True' is not defined. Did you mean 'true'?
Jeden znak. Wielka litera zamiast małej. I Twój kod nie działa.
Jeśli dopiero zaczynasz programować, wrażliwość na wielkość liter (ang. case sensitivity) może być frustrująca. Ale zrozumienie tego mechanizmu to fundament, który odróżnia początkującego od świadomego programisty.
W tym artykule wyjaśnię:
- Dlaczego języki programowania są wrażliwe na wielkość liter
- Jak różne języki traktują kapitalizację
- Jakie konwencje obowiązują w C#, Python, JavaScript i innych językach
- Jak unikać najczęstszych błędów związanych z wielkością liter
Czym jest case sensitivity w programowaniu?
Case sensitivity (wrażliwość na wielkość liter) oznacza, że kompilator lub interpreter traktuje true i True jako dwa różne symbole.
Przykład w C#
// ✅ Poprawnie
bool isActive = true;
// ❌ Błąd kompilacji
bool isActive = True; // Error CS0103: The name 'True' does not exist
W C# słowo kluczowe true musi być pisane małymi literami. Wielkie True nie istnieje w składni języka.

Dlaczego to takie ważne?
Kompilator nie zgaduje Twoich intencji. Nie mówi: “Okej, wiem co miałeś na myśli”.
Kompilator egzekwuje składnię. Jeśli naruszysz zasady, kod się nie skompiluje.
To nie jest jak pisanie e-maila, gdzie błędy ortograficzne są tolerowane. W programowaniu precyzja ma znaczenie.
Czy wszystkie języki są wrażliwe na wielkość liter?
Współczesne języki: TAK
Prawie wszystkie popularne języki programowania są case-sensitive:
| Język | Przykład słowa kluczowego | Case sensitive? |
| C# | true, false | ✅ TAK |
| Java | true, false | ✅ TAK |
| Python | True, False | ✅ TAK |
| JavaScript | true, false | ✅ TAK |
| Swift | true, false | ✅ TAK |
| C++ | true, false | ✅ TAK |
| TypeScript | true, false | ✅ TAK |
Wyjątki: starsze języki
Niektóre starsze lub niszowe języki nie rozróżniają wielkości liter:
- BASIC (starsze wersje)
- Pascal (w niektórych implementacjach)
- SQL (częściowo – zależy od dialektu i ustawień bazy danych)
Ale to wyjątek, nie reguła.
Jeśli zaczynasz programować w 2025 roku, zakładaj, że każdy język jest wrażliwy na wielkość liter. W 99% przypadków będziesz mieć rację.
Konwencje nazewnictwa w różnych językach

C# – Microsoft Naming Conventions
W C# obowiązują ścisłe konwencje nazewnictwa:
// ✅ Typy i klasy: PascalCase
public class UserService { }
// ✅ Metody publiczne: PascalCase
public void SendEmail() { }
// ✅ Zmienne lokalne i parametry: camelCase
string firstName = "Jan";
int userAge = 30;
// ✅ Prywatne pola: _camelCase (z podkreśleniem)
private string _connectionString;

Dlaczego to ma znaczenie?
Bo kiedy widzisz UserService, od razu wiesz, że to klasa.
Kiedy widzisz firstName, wiesz, że to zmienna lokalna.
Konwencje pomagają czytać kod bez wnikania w szczegóły.
Najczęstsze błędy związane z wielkością liter
❌ Błąd #1: Wielkie True w C#
// Programista przychodzi z Pythona
bool isValid = True; // ❌ Error CS0103
// Rozwiązanie:
bool isValid = true; // ✅ Poprawnie
❌ Błąd #2: Małe true w Pythonie
# Programista przychodzi z C#
is_valid = true # ❌ NameError: name 'true' is not defined
Rozwiązanie:
is_valid = True # ✅ Poprawnie

Checklist: Jak unikać błędów związanych z wielkością liter
- Zawsze używaj IntelliSense/autocomplete w IDE
- Trzymaj się konwencji języka, w którym pracujesz
- Nie mieszaj PascalCase z camelCase przypadkowo
- Używaj lintera/code analyzera (np. Roslyn w C#)
- Czytaj kod innych – wzorce się utrwalą
- Sprawdzaj dokumentację, jeśli masz wątpliwości
- Unikaj nazywania zmiennych tak samo, ale z inną kapitalizacją
- Testuj kod na docelowym systemie (Windows ≠ Linux)

Podsumowanie: Konsekwencja to klucz
Programowanie jest wrażliwe na wielkość liter. To nie wytyczne – to reguły.
Różne języki mają różne konwencje, ale w obrębie jednego języka panuje pełna konsekwencja.
Nie musisz od razu znać wszystkich “dlaczego”. Zacznij od obserwacji. Pisz to, co widzisz. Trzymaj się wzorców.
I bądź konsekwentny. Bo to właśnie odróżnia działający kod od tego, który nie przejdzie kompilacji.
Zobacz także — powiązane artykuły
👉 Tworzenie klas i obiektów w C# — kompletny przewodnik
👉LINQ w C# — przetwarzanie kolekcji bez pętli – zobacz w kursie LINQ w C# -czytelny kod, wydajne zapytania
👉 Typy wartościowe vs referencyjne w C# — jak działa pamięć – zobacz w kursie C# Podstawy Programowania: Twój Pierwszy Krok w Świat Kodowania
Dołącz do Listy VIP
I otrzymaj roadmapę Junior .NET Developer oraz najlepszą ofertę, gdy tylko ruszą zapisy!!!

