Co to jest język programowania niskiego poziomu?
Istnieje pewna różnica zdań co do dokładnej definicji języka programowania niskiego poziomu, ale wszystkie definicje mają pewne wspólne cechy dotyczące cech takiego języka komputerowego. Cechy te obejmują: podobieństwo do kodu binarnego, wymaganą znajomość roli jednostki centralnej (CPU) oraz zdolność programisty do sterowania sprzętem za pomocą języka. Niektóre osoby uważają dowolny język komputerowy za język niskiego poziomu, jeśli nie jest on podobny do języka, którym mówią ludzie. Inni uważają, że każdy język, który wymaga od programisty zrozumienia skomplikowanych i bardzo złożonych operacji procesora, jest językiem niskiego poziomu. Należy pamiętać, że język programowania naprawdę niskiego poziomu ogólnie pasuje do wszystkich tych opisów.
Kod binarny, zwany także kodem maszynowym, jest jedynym językiem, który procesor lub „mózg” komputera rozumie i „mówi”. Kod maszynowy, jeśli jest oglądany przez osobę, wygląda jak wiele sekwencji cyfr 1 i 0; reprezentują stan włączenia lub wyłączenia, podobnie jak światło, które jest albo włączone, albo wyłączone. Kod języka programowania wysokiego poziomu wyglądałby zupełnie inaczej niż kod maszynowy, ponieważ zawiera symbole i rzeczywiste słowa, które są używane w języku, zwykle angielskim, którym mówią ludzie. Nie oznacza to jednak, że ktoś, kto nie jest programistą komputerowym, zrozumie kod w języku wysokiego poziomu bardziej niż język niskiego poziomu.
Jedną z największych zalet niskiego poziomu języka programowania jest zdolność i swoboda sprawowania precyzyjnej kontroli nad takimi rzeczami, jak wykorzystanie pamięci i czas przetwarzania. Oznacza to, że programy napisane w języku niskiego poziomu powinny bardzo efektywnie wykorzystywać zasoby systemowe, co może być bardzo pożądane przy kodowaniu systemów z bardzo ograniczonymi zasobami. Taka korzyść nie przychodzi bez ceny. Programiści i inżynierowie, którzy kodują w języku programowania niskiego poziomu, muszą dobrze rozumieć funkcje procesora, aby pisać instrukcje wpływające na pamięć i czas przetwarzania.
Kodowanie w języku programowania niskiego poziomu jest niezwykle czasochłonne i żmudne. To, co zrozumiałe, zwiększa koszty związane z opracowaniem programu w takim języku, ponieważ równowartość zaledwie dwóch linii kodu w języku wysokiego poziomu może wymagać aż 20 linii w języku programowania niskiego poziomu. Taki wolny rozwój sprawia, że języki niskiego poziomu nadają się przede wszystkim do bardzo małych programów. Rzadko są wykorzystywane do opracowywania większych programów.