Każdy użytkownik komputera na co dzień spotyka różne ,jednak rzadko zastanawia się nad istotą tego słowa, zanim przejdziemy do bardziej istotnych informacji przyjrzyjmy się czym jest tak naprawdę program w świetle świata informatyki.
Jest to ściślej mówiąc sekwencja symboli wyrażająca obliczenia zgodnie z regułami zwanymi językiem programowania. Programy z reguły są obsługiwane przez komputer, może to się odbyć bezpośrednio – czyli wyrażenie jego następuje w języku zrozumiałym dla maszyny lub pośrednio – gdy jest interpretowany przez inny program. Programy mogą być ciągiem instrukcji opisujących modyfikacje stanu maszyny ale może również opisywać obliczenia w inny sposób (np. rachunek lambda). Formalne wyrażenie metody obliczeniowej w postaci języka zrozumiałego dla człowieka nazywane jest kodem źródłowym, podczas gdy program wyrażony w postaci zrozumiałej dla maszyny nazywany jest kodem maszynowym bądź postacią binarną.
Określenie ‘ programy ‘ często jest używane zamiennie z terminami ‘oprogramowanie’ oraz ‘aplikacje’.Ten pierwszy zwrot jest używany na potrzeby handlowe.Poprzez aplikację rozumie się bardziej coś co jest bliższe samemu użytkownikowi czyli komunikuje się z nim celem wykonanie zamierzonego zadania.
Programy można podzielić na 2 obszary:
- część kodu (instrukcja sterująca działaniem procesora)
- część danych (dane wykorzystywane i opracowane przez pgorgam)
Operowanie na danych przez program jest normalne i tego się oczekuje od aplikacji, natomiast operowanie programu na własnym kodzie nie jest często spotykane. Przewidywanie zachowań programów, które modyfikują własny kod w czasie działania, jest bardzo trudne. Dlatego na ogół przyjmuje się założenie, że obszar kodu programu w pamięci jest tylko do odczytu.
W obecnych czasach programy są obecne w życiu niemal każdego człowieka. Praca, dom, hobby to pewnie już by nie funkcjonowało tak łatwo gdyby nie obecność programów. Nawet jeśli ktoś się wypiera, że nie ma z nimi styczności bezpośrednio musi mieć na uwadze, że dziś cały świat, urzędy, bankowość, sklepy stoją na informatyce i każdy jest w pewnym stopniu od niej zależny bez względu na to czy taka perspektywa się komuś podoba czy nie.