Vsebina
Cilj katerega koli programskega jezika je pretvoriti drag računalnik s papirnatimi papirji v uporabno napravo za obdelavo in shranjevanje podatkov. Jezik, izbran za to nalogo, mora biti uravnotežen med učinkovitostjo in enostavnostjo uporabe. Strojni jezik predstavlja konce spektra za oba dejavnika.
Strojni jezik
Strojni jezik daje edini nabor navodil, ki jih računalnik razume brez prevajalnika. Računalniki lahko predvajajo zvok in video, obdelujejo in shranjujejo podatke, komunicirajo z internetom in opravljajo druge specializirane naloge ter se odzivajo na niz navodil, ki prepoznajo samo enote in ničle. Pisanje na stotine vrstic kode samo z eno in ničlo je dolgočasno opravilo, ki prispeva k priljubljenosti jezikov na visoki ravni, kot sta C in Java.
Začetne prednosti
IBM-ov prvi osebni računalnik je bil opremljen s 512 KB pomnilnika z naključnim dostopom in 360 KB disketnim pogonom. Potem ko je bil operacijski sistem naložen v pomnilnik z diskete, so bili programi naloženi v preostali pomnilniški prostor, tako da je manjši del RAM-a, običajno manj kot 100 KB, lahko aktivni program obdeloval podatke. V tem času je bila programerjeva glavna naloga ustvariti jedrnato in učinkovito kodo. Programsko orodje, ki se je v teh računalnikih najbolj uporabljalo, je bil strojni jezik, ki je lahko precej manjši od različice, napisane v jeziku BASIC ali C. Prav tako je bilo nekoliko lažje uporabljati montažni jezik.
Odvisnost od platforme
Strojni jezik kaže neposredno na strojno opremo računalnika, kar programerju daje popoln nadzor nad vsemi vidiki izvajanja programa. Pomanjkljivost tega pristopa je, da mora programer poznati arhitekturo vsakega sklopa integriranih vezij (naborov čipov) za pisanje učinkovite kode. Ko spremenite komponento, kot je krmilnik grafične kartice ali diska, je treba kodo posodobiti, da bo prepoznala in uporabljala novo napravo.
Jeziki na visoki ravni
Prednosti strojnega jezika pri hitrosti in nizki porabi pomnilnika odtehtajo težave s pisanjem navodil na ravni čipa v binarno kodo. Razpoložljivost gigabajtov RAM-a in terabajtov pomnilnika je odpravila potrebo po jedrnati in učinkoviti kodi sodobnih osebnih računalnikov. Zahteve po dodatnem pomnilniku in pomnilniku programov, napisanih v jezikih na visoki ravni, kot sta C in Java, niso več dejavnik pri izbiri razvojne platforme. Enostavnost uporabe in vzdrževanja sta prednostna dejavnika hitrosti in učinkovitosti v večini sodobnih programov programske opreme.