Co to jest kod źródłowy?
Kod źródłowy to czytelny dla człowieka tekst programu, napisany przez programistę w języku takim jak Python, Java czy C i zapisany w zwykłych plikach tekstowych, który kompilator lub interpreter zamienia na instrukcje, jakie komputer może wykonać.
Aktualizacja: 24 września 2026
Otwórz dowolny plik z rozszerzeniem .py, .c lub .java w zwykłym edytorze tekstu, a zobaczysz kod źródłowy. To taki sam rodzaj pliku jak lista zakupów: litery, cyfry, spacje i znaki nowej linii. Programem czyni go to, że tekst trzyma się reguł języka programowania, więc narzędzie może zamienić go na instrukcje dla procesora.
Jak wygląda kod źródłowy
Oto kompletny program w Pythonie. Każda linia to kod źródłowy, łącznie z komentarzem, który komputer pomija, a następny programista czyta.
Total: 12
Ten sam program w C też jest kodem źródłowym, tylko w innym języku, z innymi regułami:
#include <stdio.h>
int main(void) {
int price = 4;
printf("Total: %d\n", price * 3);
return 0;
}
Prawdziwa aplikacja to tysiące takich plików. Jądro Linuksa ma ponad 30 milionów linii kodu źródłowego, a mała aplikacja internetowa może spokojnie mieć kilkaset plików. Każdy plik ma rozszerzenie, które mówi narzędziom, jaki język zawiera:
| Rozszerzenie | Język |
|---|---|
.py | Python |
.c, .h | C |
.cpp, .hpp | C++ |
.java | Java |
.js | JavaScript |
.go | Go |
.rs | Rust |
Kod źródłowy to zwykły tekst
Kod źródłowy nie ma czcionek, kolorów ani ukrytego formatowania. Kolory, które widzisz w edytorze, dodaje edytor, żeby łatwiej się czytało; nie są zapisywane w pliku. Dlatego kod piszesz w edytorze kodu, takim jak VS Code, a nigdy w Microsoft Word: edytor tekstu zapisuje dane o formatowaniu i „inteligentne” cudzysłowy, a wynikiem jest plik, którego język nie potrafi odczytać, zwykle odrzucany z błędem składniowym.
Skoro to tylko tekst, program może nawet trzymać kod źródłowy innego programu w napisie i go uruchomić:
<class 'str'>
3 lines of text
Total: 12
Aż do ostatniej linii source jest zwykłym napisem. exec przekazuje go Pythonowi, który czyta tekst i go wykonuje. To całe życie kodu źródłowego w miniaturze: najpierw tekst, potem instrukcje.
Jak kod źródłowy staje się działającym programem
Procesor w twoim komputerze nie umie czytać Pythona ani C. Wykonuje tylko kod maszynowy, czyli binarne instrukcje właściwe dla jednego rodzaju procesora (x86-64 w większości laptopów i serwerów, ARM w telefonach i Macach z Apple Silicon). Coś musi to przetłumaczyć. Są dwa główne sposoby:
- Kompilator tłumaczy cały program z góry. Polecenie
gcc hello.c -o helloczyta kod źródłowy w C i zapisuje nowy plik,hello, pełen kodu maszynowego. Możesz potem usunąćhello.c, ahellonadal będzie działać. - Interpreter wykonuje kod źródłowy bezpośrednio. Polecenie
python3 hello.pyuruchamia interpreter Pythona, który czytahello.pyi wykonuje jego instrukcje. Nie powstaje osobny plik programu, więc kod źródłowy musi być dostępny za każdym razem.
Wiele języków łączy oba podejścia. Kod źródłowy w Javie jest kompilowany przez javac do kodu bajtowego (pliki .class), a maszyna wirtualna Javy wykonuje ten kod bajtowy. Pełne porównanie znajdziesz na stronie kompilator a interpreter.
Kod źródłowy, kod obiektowy i kod maszynowy
Te trzy terminy opisują ten sam program na różnych etapach:
| Termin | Kto go czyta | Przykład |
|---|---|---|
| Kod źródłowy | Ludzie i kompilatory | total = price * 3 w app.py |
| Kod obiektowy | Linker (konsolidator) | hello.o, utworzony przez gcc -c hello.c |
| Kod maszynowy (plik wykonywalny) | Procesor | hello na Linuksie lub macOS, hello.exe w Windows |
Jeśli otworzysz skompilowany plik wykonywalny w edytorze tekstu, zobaczysz nieczytelne symbole, bo to plik binarny, a nie tekst. Na Macu pierwsze cztery bajty programu hello z przykładu wyżej to szesnastkowo cf fa ed fe, znacznik pliku wykonywalnego Mach-O. Takie surowe wartości możesz obejrzeć w konwerterze systemów liczbowych.
Otwarty i zamknięty kod źródłowy
To, kto może czytać kod źródłowy, jest kwestią prawną w tym samym stopniu co techniczną. Oprogramowanie open source (o otwartym kodzie) publikuje swój kod źródłowy na licencji, która pozwala każdemu go czytać, zmieniać i udostępniać. Python, Linux i Firefox są open source. Oprogramowanie o zamkniętym kodzie (własnościowe) udostępnia tylko skompilowany program. Microsoft Windows i Adobe Photoshop mają zamknięty kod, a ich kod źródłowy jest tajemnicą handlową.
Kod źródłowy, podobnie jak książka, jest też chroniony prawem autorskim. To, że kod jest w internecie, nie znaczy, że możesz go użyć: zanim cokolwiek skopiujesz do własnego projektu, sprawdź plik licencji, często nazwany LICENSE.
Popularne mity
- „Wyświetl źródło strony pokazuje kod źródłowy witryny.” Pokazuje HTML, CSS i JavaScript, które dostała twoja przeglądarka. Część serwerowa witryny (napisana w Pythonie, Javie, PHP lub innym języku) nigdy nie opuszcza serwera, więc nie da się jej zobaczyć.
- „Dekompilator oddaje oryginalny kod źródłowy.” Dekompilator odtwarza czytelny kod ze skompilowanego programu, ale komentarzy już nie ma, a nazwy często giną, więc wynik to przypuszczenie, jak wyglądał kod źródłowy, a nie plik napisany przez autorów.
- „Kod i kod źródłowy znaczą to samo.” Kod źródłowy to wersja napisana przez ludzi. „Kod” to szersze pojęcie, obejmujące też kod maszynowy, kod bajtowy i kod generowany.
- „Kod źródłowy musi być po angielsku.” Słowa kluczowe, takie jak
ifiprint, są angielskie, ale nazwy zmiennych, komentarze i napisy mogą być w dowolnym języku. Pliki źródłowe Pythona 3 domyślnie używają UTF-8, więcprix = 4i# 合計を計算するsą oba poprawne.
Co dalej
Kod źródłowy jest sprawdzany przed uruchomieniem, a pierwsze, na co trafia większość początkujących, to błąd składniowy. Żeby zobaczyć, czym różnią się dwa sposoby uruchamiania kodu źródłowego, przeczytaj, czym jest kompilator, a potem kompilator a interpreter. Własny kod źródłowy możesz napisać i uruchomić w przeglądarce w edytorze online Pythona albo zacząć kurs Pythona.
Najczęściej zadawane pytania
Jaki jest przykład kodu źródłowego?
app.py, plik w C, taki jak main.c, albo JavaScript na stronie internetowej. Liczy się nawet jedna linia, na przykład print("Hello"), zapisana w pliku .py. Programy takie jak Firefox czy Linux składają się z milionów takich linii.Czym różni się kod od kodu źródłowego?
Jak zdobyć kod źródłowy programu?
Czy HTML to kod źródłowy?
.html pisane przez programistę to kod źródłowy strony internetowej, a przeglądarki nazywają ich podgląd „Wyświetl źródło strony”. To samo dotyczy plików CSS i plików JavaScript, które strona wczytuje.