Zalety i wady języka na poziomie maszyny

Programowanie

Pisanie kodu na poziomie maszyny to trudny proces.

Źródło obrazu: Jupiterimages/Photos.com/Getty Images

Celem każdego języka programowania jest przekształcenie komputera z drogiego elektronicznego przycisku do papieru w użyteczne urządzenie do przetwarzania i przechowywania danych. Wybór języka do wykonania tego zadania to kompromis między wydajnością a łatwością użycia. Język maszynowy reprezentuje skrajne krańce spektrum dla obu tych czynników.

Język maszyny

Język maszynowy tworzy jedyny zestaw instrukcji, który komputer rozumie bez tłumacza. Komputery radzą sobie z odtwarzaniem dźwięku i obrazu, przetwarzaniem i przechowywaniem danych, Internetem komunikacja i wszystkie inne specjalistyczne zadania poprzez reagowanie na zestaw instrukcji, który rozpoznaje tylko te i zera. Pisanie setek linii kodu składającego się z jedynek i zer to wymagający i żmudny proces, który odpowiada za popularność języków wyższego poziomu, takich jak C i Java.

Wideo dnia

Wczesne zalety

Pierwszy komputer osobisty IBM był wyposażony w 512 kilobajtów pamięci o dostępie swobodnym i 360-kilobajtowy napęd dyskietek. Po załadowaniu systemu operacyjnego do pamięci z dyskietki programy zostały załadowane do pozostałych przestrzeń pamięci pozostawiająca bardzo mały obszar pamięci RAM, często mniejszy niż 100 kilobajtów, do przetworzenia przez aktywny program dane. W tym okresie głównym zmartwieniem programistów był szczupły, wydajny kod. Narzędziami programistycznymi wybranymi na tych wczesnych komputerach były zwykle język maszynowy, który może być znacznie mniejszy niż wersja napisana w języku BASIC lub C. Łatwiej też było używać potomnego, asemblerowego języka.

Zależność od platformy

Język maszynowy odnosi się bezpośrednio do sprzętu komputerowego, dając programiście pełną kontrolę nad każdym aspektem wykonywania programu. Wadą tego podejścia jest to, że programista musi znać architekturę każdego chipsetu, zanim będzie mógł napisać efektywny kod. W przypadku zmiany komponentu, takiego jak karta graficzna lub kontroler napędu, należy zaktualizować kod języka maszynowego, aby rozpoznać i zaadresować nowe urządzenie.

Języki wysokiego poziomu

Trudności w pisaniu instrukcji na poziomie chipa w kodzie binarnym coraz częściej przewyższają zalety języka maszynowego związane z szybkością i małym zużyciem pamięci. Gigabajty pamięci RAM i terabajty dostępnej pamięci masowej wyeliminowały konieczność stosowania oszczędnego, wydajnego kodu w nowoczesnych komputerach osobistych. Wymagania dotyczące dodatkowej pamięci i pamięci, jakie stawiają programy napisane w językach wyższego poziomu, takich jak C i Java, nie są już czynnikiem przy wyborze platformy programistycznej. Łatwość obsługi i przyszłe problemy związane z utrzymaniem programu zastępują szybkość i wydajność w większości nowoczesnych projektów oprogramowania.