Program komputerowy
Program komputerowy to sekwencja symboli, która umożliwia wykonywanie obliczeń zgodnie z regułami określonymi w języku programowania. Może być wykonywany bezpośrednio przez komputer lub pośrednio przez interpreter. Programy dzieli się na kod źródłowy, zrozumiały dla ludzi, oraz kod maszynowy, zrozumiały dla komputerów.
Rodzaje programów
Programy komputerowe można klasyfikować według ich zastosowań, w tym:
- systemy operacyjne
- programy narzędziowe
- aplikacje użytkowe
- gry komputerowe
- firmware (oprogramowanie wbudowane)
Terminologia
Termin „program komputerowy” jest często używany zamiennie z „oprogramowaniem” i „aplikacją”. „Oprogramowanie” wskazuje na rynkowy charakter programów, natomiast „aplikacja” odnosi się do oprogramowania bliskiego użytkownikowi.
Uruchamianie programów
Uruchomienie programu polega na umieszczeniu go w pamięci operacyjnej i wskazaniu procesorowi adresu pierwszej instrukcji. Program może zakończyć się:
- poprawnie
- błędnie (np. z powodu awarii sprzętu lub błędów w programie)
System operacyjny zarządza zasobami komputera i kontroluje procesy. Aby program mógł być uruchomiony, sprzęt musi być odpowiednio przygotowany przez oprogramowanie układowe (np. BIOS lub UEFI).
Kompilacja i interpretacja
Programy w formie kodu źródłowego muszą być przetworzone przed uruchomieniem. Można to zrobić na dwa sposoby:
- Przy użyciu kompilatora, który tłumaczy kod źródłowy na kod maszynowy.
- Przy użyciu interpretera, który na bieżąco wykonuje kod źródłowy.
Struktura programu
Program składa się z dwóch części:
- kod – zawiera instrukcje dla procesora
- dane – wykorzystywane i przetwarzane przez program
Programy zazwyczaj nie modyfikują własnego kodu w trakcie działania, co jest typowe dla wirusów polimorficznych.
Programowanie
Programowanie to proces tworzenia programów, który obejmuje:
- edycję kodu źródłowego
- uruchamianie programu
- analizę działania i rejestrowanie błędów
- powrót do edycji kodu
Programista to osoba zajmująca się programowaniem, które może mieć charakter zarówno zawodowy, jak i hobbystyczny. Programowanie jest rozległą dziedziną, w której występują różne modele pracy, takie jak programowanie zespołowe czy parami.