Język programowania to środek komunikacji między programistą a komputerem. Komputer w tym przypadku to maszyna, która rozumie tylko podstawowe polecenia. Jaki jest najtrudniejszy język do rozmowy z komputerem?
Kod binarny
Sowiecka powieść „Programista” opowiada o sytuacji, w której komputer uległ awarii w instytucie technicznym. Przyszli szefowie i poprosili o zademonstrowanie jej pracy. Ale nie rozumiała poleceń języka programowania. Następnie utalentowany inżynier rozpoczął dialog z maszyną w jej języku - bezpośrednio w kodzie binarnym.
Wielu programistów uważa kod binarny za najtrudniejszy język programowania – co jest paradoksem, ponieważ liczby binarne nie są językiem. Samo pojęcie „języka programowania” zakłada tłumaczenie z języka komputerów na język ludzki. W wersji binarnej programista musi dyskutować z maszyną bez nadmiernych uproszczeń.
Pomimo ogromnych trudności związanych z bezpośrednią pracą z kodem binarnym, to właśnie logika binarna pozwala na najbardziej ekonomiczne wykorzystanie pamięci maszyny. Może być stosowany do prostych urządzeń elektrycznych (kuchenki mikrofalowe, czajniki), jak również do urządzeń wymagających specjalnej szybkości (zegarki precyzyjne, sprzęt medyczny, sprzęt sportowy do sędziowania).
Monter
Asembler to grupa instrukcji kodu binarnego pogrupowana w sekcje. Ten język jest używany podczas demontażu programów. Czasami konieczne jest poznanie kodu programu po jego plikach wykonywalnych. Aby to zrobić, musisz odszyfrować plik wykonywalny (praca ma wiele wspólnego z kryptografią). Ten proces odszyfrowywania plików wykonywalnych nazywa się dezasemblacją. Na wyjściu programista otrzymuje grupę instrukcji asemblera, nawet jeśli program został pierwotnie napisany w innym języku. Praca z językiem asemblerowym (asm) jest jak programowanie w systemie binarnym, co stanowi wyzwanie nawet dla silnych programistów.
Popularne C++
Ogromna liczba programów i powłok na świecie jest napisana w językach grupy C. Sam język C powstał w 1970 roku do pracy z procesorami. Ten język był bardzo prosty.
W '' '' opracowano język C++, który odziedziczył większość możliwości swojego poprzednika, ale dodał dodatkową zasadę - paradygmat dziedziczenia. Pomimo pozornej prostoty poleceń, to właśnie ten język jest najpotężniejszym narzędziem programistycznym. Ogromna liczba bibliotek firm trzecich daje programiście dużą swobodę w procesie twórczym. Język ma jednak złożoną strukturę logiczną. Musisz użyć podejścia zorientowanego obiektowo, które zmniejsza liczbę wierszy kodu (ze względu na dziedziczenie), ale komplikuje logikę. Od programisty wymagana jest umiejętność fantazjowania, co samo w sobie nie jest łatwe.
Nowe języki
Obecnie powszechnie popularne są bezpłatne „abstrakcyjne” języki programowania: NOSQL, Erlang, Python. Nie jest łatwo je opanować, ale bardzo popularni są specjaliści od rzadkich języków. Z reguły nowe języki tworzone są w celu rozwiązania konkretnych problemów: pracy z interfejsami internetowymi, tworzenia aplikacji czy zarządzania procesami serwerowymi. Szczególna trudność w programowaniu w najnowszych językach polega na ich niewielkich badaniach - niewiele jest komponentów i bibliotek, specyfikacji i podręczników.