Język maszynowy a mowa ludzka

Jeśli interesuje cię to, jak powstaje oprogramowanie komputerowe i myślisz nad włączeniem się w tę zacną dziedzinę życia, musisz poznać „na dzień dobry” kilka podstawowych (wręcz fundamentalnych) pojęć. I o tym właśnie będzie niniejszy tekst.

Gflores / Stock Photos

MOWA KOMPUTERA
Podstawowym rozróżnieniem, jakiego należy dokonać w przypadku wstępu do programowania, będzie rozróżnienie języka maszynowego od mowy ludzkiej, a później przedstawienie rodzajów języków programowania.

Czym jest język ludzki – tłumaczyć chyba nie trzeba, bo każdy z nas posługuje się nim, czy to w mowie, czy to w piśmie, każdego dnia.

Czym jest język maszynowy? To już chyba warto wyjaśnić. A mianowicie jest to język zrozumiały dla maszyny (komputera), czyli w przypadku współczesnego komputera ciąg impulsów elektrycznych rozumianych jako bity, które to w odpowiedniej sekwencji dają znaki bardziej zrozumiałe dla człowieka. Można też powiedzieć, że jest to język programowania, w którym stosuje się tylko liczby binarne (czyli zera i jedynki oznaczające impuls bądź jego brak), acz zarazem jest to język niezwykle trudny do opanowania. Dlatego też stosuje się prostsze języki programowania, które następnie są kompilowane na język zrozumiały dla samej maszyny.

Warto tu wspomnieć także o tzw. kodzie mnemotechnicznym, który składa się ze słów (na ogół trzyliterowych) łatwiejszych do zapamiętania dla użytkownika niż „gołe” liczby binarne, dlatego też jest on nieco prostszy w zastosowaniu przez człowieka.

Nieco łatwiejszy do opanowania przez informatyka jest język programowania niskiego poziomu (tzw. język programowania zorientowany maszynowo), zwany także asemblerem. Wymaga on już odpowiedniego programu (również zwanego asemblerem) w celu przetworzenia kodu wprowadzonego przez człowieka na język maszynowy komputera.

Najprostszą grupę języków (co nie znaczy, że prostą) stanowią języki programowania wysokiego poziomu, których komendy są najbliższe mowie ludzkiej (zwykle podobne do słów zaczerpniętych z języka angielskiego), lecz za to wymagają odpowiednich kompilatorów lub interpreterów, by mógł je później zrozumieć sam komputer. Ciekawostką jest również to, że istnieje wiele wyspecjalizowanych języków programowania, które wyśmienicie sprawdzają się w realizowaniu ściśle określonych zadań.

eston / Stock Photos

PRZETŁUMACZ MI TO
Jak już wcześniej wspomniano, języki programowania wymagają odpowiednich programów zdolnych przetworzyć podane przez człowieka komendy na konkretne zadania zrozumiałe dla komputera. Stąd też swoje ważne miejsce w dziedzinie programowania mają kompilatory i interpretery.

Kompilator jest specjalnym programem narzędziowym, który ma za zadanie przełożyć wprowadzone przez człowieka komendy języka programowania wysokiego poziomu na język maszynowy. Z kolei interpreter jest programem pomocniczym tłumaczącym już w trakcie samego działania programu komend języka programowania wysokiego poziomu na język maszynowy, co jest operacją wolniejszą (ze względu na bieżące użycie procesora) jednakże jednocześnie pozwala to na szybsze (bieżące) wykrycie znacznej części błędów w kodzie źródłowym, które są sygnalizowane już przez sam interpreter.

Prócz tego istnieją jeszcze asemblery, które to (jak już wspomniano wcześniej) tłumaczą program napisany w języku programowania niskiego poziomu na język maszynowy, a także ich odwrotność, czyli disasemblery. Te ostatnie pozwalają na dokonywanie operacji odwrotnych – tj. tłumaczenie języka maszynowego na język bardziej zrozumiały dla człowieka.

Dodaj komentarz

Proszę pozostawić te dwa pola tak jak są: