Programem nazywamy algorytm do przetwarzania danych napisany w języku programowania.
Przez algorytm należy rozumieć ciąg logicznie powiązanych instrukcji (poleceń,rozkazów), których wykonanie pozwoli na przetworzenie danych wejściowych w informacje wyjściowe(wynik).
Oprogramowanie komputera (software) można podzielić w następujący sposób:
A - programy podstawowe umożliwiające pracę komputera; BIOS, system operacyjny
B - programy narzędziowe to programy ułatwiające pracę użytkownikowi komputera, pozwalają w prosty sposób dokonywać operacji dyskowych, korzystać z zasobów systemu operacyjnego itp.
menadżery plików
programy do zarządzania zasobami sprzętowymi
programy do archiwizacji
programy do kompresji danych
proste edytory i kalkulatory
C - systemy do programowania pozwalające na tworzenie programów komputerowych oraz programów aplikacyjnych
Język programowania służy do tworzenia programu komputerowego zapisanego w postaci ciągu instrukcji zrozumiałych przez komputer i możliwych do wykonania.
Wśród języków programowania wyróżniamy:
język maszynowy, w którym zapis programu wymaga zapisu instrukcji jako ciągu zer i jedynek
języki niskiego poziomu (asembler) to języki symboliczne tłumaczące symbole i adresy podane w czasie programowania na język maszynowy np. Ld a,addr (wpisz do rejestru a zawartość komórki o adresie addr)
języki wysokiego poziomu, które możemy podzielić na:
a) interpretatory, w których tłumaczenie instrukcji na język maszynowy odbywa się w trakcie wykonywania programu w cyklu tłumaczenie instrukcji - wykonanie, tłumaczenie - wykonanie.
b) kompilatory to języki zawierające program (kompilator) do przetłumaczenia na język maszynowy przed wykonaniem prog ramu. Raz skompilowany program (COM,EXE) może być zachowany na dysku (bez konieczności kolejnej kompilacji).
C++
Turbo Pascal
Basic
Visual Basic
Java
Fortran
PL/I
Algol
Forth
LOGO
LISP
Prolog
bazy danych, arkusze kalkulacyjne, edytory posiadające własne języki programowania (dBase,Visual Basic).
D - programy użytkowe
edytory tekstu również DTP
edytory graficzne
arkusze kalkulacyjne
bazy danych
komunikacyjne
wspomagające projektowanie
administracyjno-ekonomiczne
edukacyjne
encyklopedie
gry, itd.
Oprogramowanie (ang. software) to zestaw instrukcji przeznaczonych do wykonania dla komputera. Celem oprogramowania jest przetwarzanie danych w określonym przez twórcę zakresie. Oprogramowanie jest synonimem terminów program komputerowy oraz aplikacja, przy czym stosuje się go zazwyczaj do określania większych programów oraz ich zbiorów. Oprogramowanie to dział Informatyki.
Oprogramowanie tworzą programiści w procesie programowania. Oprogramowanie jako przejaw twórczości jest chronione prawem autorskim, twórcy zezwalają na korzystanie z niego na warunkach określanych w licencji.
Oprogramowanie występuje w dwóch postaciach:
postać źródłowa - powstająca w trakcie programowania, umożliwiająca modyfikację i rozbudowę programu,
postać binarna (kod maszynowy) - przeznaczona do wykonywania przez komputery, efekty działania obserwuje użytkownik w postaci wydruków, obrazów na monitorze, zmian w danych.
Oprogramowanie pisane jest zazwyczaj przy użyciu różnych języków programowania z wykorzystaniem algorytmów. Programy przekształcające oprogramowanie z postaci źródłowej na binarną to kompilatory. Niektóre oprogramowanie, np. napisane w całości w językach interpretowanych, może występować tylko w jednej postaci, spełniającej oba zadania.
Oprogramowanie dzieli się często na oprogramowanie systemowe oraz aplikacje użytkowe. Pojęcie oprogramowania systemowego jest znacznie szersze niż systemy operacyjne. W jego skład wchodzi też oprogramowanie serwerowe i każde oprogramowanie, z którym użytkownik nie ma bezpośredniej styczności.
Inne przykłady oprogramowania:
Edytor tekstu
Gry komputerowe
Oprogramowanie wbudowane w urządzenie (firmware)
Biblioteki
DTP
Middleware
Systemy operacyjne
System ekspertowy
wirus komputerowy
Baza danych