Języki programowania niższego poziomu
Pojęciami absolutnie podstawowymi dla każdej osoby zajmującej się tworzeniem oprogramowania komputerowego są języki programowania niskiego poziomu i języki programowania wysokiego poziomu. Jeżeli chodzi o język programowania niskiego poziomu, to jest on w małym stopniu niezależny od generalnej konstrukcji całej jednostki centralnej naszego komputera. Można stwierdzić wobec powyższego, iż jest to język bardzo zbliżony do kodu maszynowego. W przeciwieństwie do języka programowania wysokiego poziomu, język niskiego poziomu można bardzo łatwo skompilować. Kompilacja w języku programowania wysokiego poziomu jest bardzo skomplikowana. Wymiernym wyznacznikiem oceny poziomu skomplikowania oprogramowania komputerowego jest jego niezależność względem jednostki centralnej komputera. Podstawowym językiem programowania niskiego poziomu jest asembler. W tym programie dokonujemy operacji bezpośrednio na rejestrach komputera. W tym języku nie widzimy budowy komputera. Natomiast język programowania wysokiego poziomu, to taki, w którym składnia i wszystkie hasła kluczowe są maksymalnie scentralizowane na ułatwienie zrozumienia programu przez zwykłego użytkownika. Dzięki takim ułatwieniom zwiększa się tym samym poziom abstrakcji oraz mniejsze znaczenie mają sprzętowe szczegóły. Kod wysokiego poziomu jest niezrozumiały do końca przez komputer, ponieważ zdecydowaną większość całego kodu stanowią zwykłe słowa w danym języka.