Mašīnas līmeņa valodas priekšrocības un trūkumi

Programmēšana

Mašīnas līmeņa koda rakstīšana ir sarežģīts process.

Attēla kredīts: Jupiterimages/Photos.com/Getty Images

Jebkuras programmēšanas valodas mērķis ir pārveidot datoru no dārga elektroniska papīra par noderīgu datu apstrādes un uzglabāšanas ierīci. Valodas izvēle šī uzdevuma veikšanai ir kompromiss starp efektivitāti un lietošanas ērtumu. Mašīnas valoda atspoguļo abu šo faktoru spektra galējos galus.

Mašīnas valoda

Mašīnas valoda rada vienīgo instrukciju kopu, ko dators saprot bez tulka. Ar datoriem izdodas veikt audio un video reproducēšanu, datu apstrādi un glabāšanu, internetu saziņu un visus citus specializētos uzdevumus, reaģējot uz instrukciju kopu, kas atpazīst tikai vienus un nulles. Simtiem koda rindiņu rakstīšana, kas sastāv no vieniniekiem un nullēm, ir prasīgs un nogurdinošs process, kas nosaka augstāka līmeņa valodu, piemēram, C un Java, popularitāti.

Dienas video

Agrīnās priekšrocības

Pirmais IBM personālais dators bija aprīkots ar 512 kilobaitu brīvpiekļuves atmiņu un 360 kilobaitu diskešu disku. Pēc tam, kad operētājsistēma tika ielādēta atmiņā no disketes, programmas tika ielādētas atlikušajā atmiņa atstāj ļoti mazu RAM apgabalu, bieži mazāk par 100 kilobaitiem, lai aktīvā programma varētu apstrādāt datus. Šajā periodā programmētāja galvenā problēma bija vienkāršs un efektīvs kods. Šajos agrīnajos datoros izvēlētie programmēšanas rīki parasti bija mašīnvaloda, kas var būt ievērojami mazāka nekā versija, kas rakstīta BASIC vai C valodā. Bija arī nedaudz vieglāk izmantot pēcteču montāžas valodu.

Platformas atkarība

Mašīnas valoda tieši uzrunā datora aparatūru, sniedzot programmētājam pilnīgu kontroli pār katru programmas izpildes aspektu. Šīs pieejas trūkums ir tāds, ka programmētājam ir jāzina katra mikroshēmojuma arhitektūra, pirms viņš var rakstīt efektīvu kodu. Ja, piemēram, tiek mainīta kāda sastāvdaļa, piemēram, videokarte vai diskdziņa kontrolleris, ir jāatjaunina iekārtas valodas kods, lai atpazītu un adresētu jauno ierīci.

Augsta līmeņa valodas

Mašīnvalodas ātruma un mazās atmiņas nospieduma priekšrocības arvien vairāk atsver grūtības rakstīt mikroshēmas līmeņa instrukcijas binārajā kodā. Gigabaiti RAM un terabaiti pieejamās atmiņas ir likvidējuši prasību pēc vienkārša, efektīva koda mūsdienu personālajos datoros. Papildu atmiņas un uzglabāšanas prasības, ko rada programmas, kas rakstītas augstākā līmeņa valodās, piemēram, C un Java, vairs nav faktors, izvēloties izstrādes platformu. Lielākajā daļā mūsdienu programmatūras projektu ātruma un efektivitātes vietā ir ērta lietošana un turpmākās programmas uzturēšanas problēmas.