Saturs
Jebkuras programmēšanas valodas mērķis ir dārgu papīra formāta datoru pārvērst par noderīgu datu apstrādes un glabāšanas ierīci. Valodai, kas izvēlēta šī uzdevuma veikšanai, jābūt līdzsvarotai starp efektivitāti un lietošanas ērtumu. Mašīnu valoda apzīmē spektra galus abiem faktoriem.
Mašīnas valoda
Mašīnas valoda rada vienīgo instrukciju kopu, kuru dators saprot bez tulka. Datori spēj atskaņot audio un video, apstrādāt un uzglabāt datus, sazināties ar internetu un veikt citus specializētus uzdevumus, reaģējot uz instrukciju kopumu, kas atpazīst tikai vienus un nulles. Simtiem koda rindiņu uzrakstīšana tikai ar nullēm un nullēm ir garlaicīgs uzdevums, kas veicina augsta līmeņa valodu, piemēram, C un Java, popularitāti.
Sākotnējās priekšrocības
IBM pirmais personālais dators bija aprīkots ar 512 KB brīvpiekļuves atmiņu un 360 KB disketes disku. Pēc tam, kad operētājsistēma tika ielādēta atmiņā no disketes, programmas tika ielādētas atlikušajā atmiņas vietā, atstājot nelielu RAM platību, parasti mazāk nekā 100 KB, lai aktīvā programma varētu apstrādāt datus. Tajā laikā programmētāja galvenā rūpe bija izveidot kodolīgu un efektīvu kodu. Šajos datoros visbiežāk izmantojamais programmēšanas rīks bija mašīnu valoda, kas var būt ievērojami mazāka nekā versija, kas rakstīta BASIC vai C. Bija arī nedaudz vieglāk izmantot montāžas valodu.
Atkarība no platformas
Mašīnas valoda norāda tieši uz datora aparatūru, dodot programmētājam pilnīgu kontroli pār visiem programmas darbības aspektiem. Šīs pieejas trūkums ir tāds, ka programmētājam jāzina katra integrēto shēmu (mikroshēmu komplektu) komplekta arhitektūra, lai rakstītu efektīvu kodu. Mainot komponentu, piemēram, videokarti vai diska kontrolleri, kods jāatjaunina, lai atpazītu un izmantotu jauno ierīci.
Augsta līmeņa valodas
Mašīnas valodas ātrumu un zemas atmiņas izmantošanas priekšrocības atsver grūtības rakstīt mikroshēmas līmeņa instrukcijas binārā kodā. Gigabaitu operatīvās atmiņas un terabaitu krātuves pieejamība ir novērsusi nepieciešamību pēc kodolīga un efektīva koda mūsdienu personālajos datoros. Papildu atmiņas un atmiņas prasības programmām, kas rakstītas augsta līmeņa valodās, piemēram, C un Java, vairs nav faktors, izvēloties attīstības platformu. Lietošanas ērtums un uzturēšana ir vēlamais ātruma un efektivitātes faktors lielākajā daļā mūsdienu programmatūras projektu.