Tartalom
Bármely programozási nyelv célja, hogy egy drága papírsúlyú számítógépet hasznos adatfeldolgozó és tároló eszközzé alakítson. A feladat elvégzéséhez választott nyelvnek egyensúlyban kell lennie a hatékonyság és a könnyű használat között. A gépi nyelv mindkét tényező esetében a spektrum végét jelenti.
Gépnyelv
A gépi nyelv az egyetlen utasításkészletet hozza létre, amelyet a számítógép fordító nélkül ért. A számítógépek képesek audio és video lejátszására, adatok feldolgozására és tárolására, az internet kommunikációjára és egyéb speciális feladatok elvégzésére, reagálva egy olyan utasításkészletre, amely csak az egyeseket és a nullákat ismeri fel. Több száz sornyi kód megírása csak eggyel és nullával fárasztó feladat, amely hozzájárul a magas szintű nyelvek, például a C és a Java népszerűségéhez.
Kezdeti előnyök
Az IBM első személyi számítógépét 512 KB véletlen hozzáférésű memóriával és 360 KB hajlékonylemez-meghajtóval látták el. Miután az operációs rendszert betöltötték a hajlékonylemezről a memóriába, a programokat a fennmaradó memóriaterületbe töltötték, így egy kis RAM-terület maradt, általában kevesebb, mint 100 KB, hogy az aktív program feldolgozza az adatokat. Ez idő alatt a programozók elsődleges célja a tömör és hatékony kód létrehozása volt. Az ezeken a számítógépeken a leggyakrabban használt programozási eszköz a gép nyelve volt, amely lényegesen kisebb lehet, mint a BASIC vagy C nyelven írt változat. Kicsit könnyebb volt használni az összeállítási nyelvet is.
Platformfüggőség
A gép nyelve közvetlenül a számítógép hardverére mutat, így a programozó teljes irányítást ad a program futtatásának minden aspektusáról. Ennek a megközelítésnek az a hátránya, hogy a programozónak ismernie kell az integrált áramkörök (chipkészletek) minden készletének architektúráját a hatékony kód írásához. Amikor egy alkatrészt, például egy videokártyát vagy lemezvezérlőt cserélnek, az új eszköz felismerése és használata érdekében frissíteni kell a kódot.
Magas szintű nyelvek
A gépi nyelv sebességét és alacsony memóriahasználati előnyeit felülmúlja a chipszintű utasítások bináris kódba írásának nehézsége. A gigabájt RAM és a terabájt tárhely rendelkezésre állása miatt nincs szükség tömör és hatékony kódra a modern személyi számítógépeken. A magas szintű nyelveken (például C és Java) írt programok további memória- és tárolási igényei már nem számítanak a fejlesztői platform kiválasztásának. Az egyszerű használat és a karbantartás a sebesség és a hatékonyság előnyben részesített tényezője a legtöbb modern szoftverprojektben.