Lo scopo di qualsiasi linguaggio di programmazione è quello di trasformare un computer da un fermacarte elettroniche costose in una elaborazione di dati utili e dispositivo di memorizzazione . La scelta di un linguaggio per eseguire questa operazione è un trade-off tra efficienza e facilità d'uso . Linguaggio macchina rappresenta gli estremi dello spettro di entrambi questi fattori . Linguaggio Macchina
linguaggio macchina produce l'unico insieme di istruzioni che un computer capisce senza un traduttore . I computer riescono a realizzare la riproduzione audio e video , l'elaborazione e la memorizzazione dei dati , la comunicazione Internet e tutti gli altri compiti specializzati , rispondendo ad un set di istruzioni che riconosce solo uno e zero . Scrivere centinaia di righe di codice , comprensivi di zeri e di uno è un processo impegnativo e noioso che spiega la popolarità dei linguaggi di alto livello come C e Java .
Primi Vantaggi
Il primo personal computer IBM era dotato di 512 KB di memoria RAM e un disco floppy di 360 kilobyte . Dopo che il sistema operativo è stato caricato in memoria dal disco floppy , i programmi sono stati caricati nello spazio di memoria rimanente lasciando un piccolo spazio di RAM , spesso meno di 100 kilobyte , per il programma attivo di dati di processo . Durante questo periodo , la preoccupazione principale di un programmatore è magra, codice efficiente . Gli strumenti di programmazione di scelta su questi primi computer erano di solito linguaggio macchina , che può essere notevolmente più piccolo di una versione scritta in BASIC o C. E 'stato anche un po' più facile da usare discendente , il linguaggio assembly .
Piattaforma Dependency
linguaggio macchina rivolge hardware del computer direttamente , dando al programmatore il controllo completo su ogni aspetto dell'esecuzione di un programma. Lo svantaggio di questo approccio è che il programmatore deve conoscere l'architettura di ogni chipset prima di poter scrivere codice efficace . Quando un componente come ad esempio una scheda video o del disco viene modificato , ad esempio , il codice di linguaggio macchina deve essere aggiornato per riconoscere e affrontare il nuovo dispositivo .
Alto livello lingue in < br >
la velocità e la memoria piccola impronta vantaggi del linguaggio macchina sempre sono controbilanciati dalla difficoltà di scrivere le istruzioni a livello di chip in codice binario . Gigabyte di RAM e terabyte di archiviazione disponibile hanno eliminato l'obbligo di magra, codice efficiente nei moderni personal computer . La memoria aggiuntiva e le richieste di archiviazione fatte da programmi scritti in linguaggi di alto livello come C e Java non sono più un fattore nella scelta di una piattaforma di sviluppo . Facilità d'uso e di futuri problemi di manutenzione del programma prende il posto di velocità ed efficienza nella maggior parte dei progetti software moderni .