Assembly/Introduzione/Perché non studiare l'Assembly: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Riga 1: Riga 1:
{{Assembly}}
{{Assembly}}
Alcuni dei motivi o delle voci comuni (anche infondate) per cui non si dovrebbe studiare l'assembly (anche se in realtà, una persona deve studiarlo solo per divertimento, conoscenza o utilità).
Alcuni dei motivi o delle voci comuni (anche infondate) per cui non si dovrebbe studiare l'assembly (anche se in realtà, una persona deve studiarlo solo per divertimento, conoscenza o utilità).
==L'Assembly è difficile da imparare==
==L'Assembly è difficile da imparare?==
L'assembly è difficile da imparare perché rispetto ai linguaggi ad alto livello ha una struttura e anche un metodo di ragionamento più macchinoso (e più lontano al ragionamento dell'uomo), però una volta imparata un tipo di assembly (ce ne sono tanti) passare ad altri tipi è ovviamente facile.
L'Assembly viene considerato difficile da imparare perché più vicino al linguaggio macchina rispetto agli altri linguaggi di programmazione, anche se una volta imparato ad usare Assembly per un tipo di architettura, cambiare architettura sarà relativamente semplice.
La sua vicinanza all'hardware, infatti, genera una lunga serie di linguaggi Assembly al variare delle delle architetture su cui vogliamo sviluppare il nostro programma.


==L'Assembly è difficile da leggere e capire==
==L'Assembly è difficile da leggere e capire==

Versione delle 22:26, 23 set 2018

Indice del libro

Alcuni dei motivi o delle voci comuni (anche infondate) per cui non si dovrebbe studiare l'assembly (anche se in realtà, una persona deve studiarlo solo per divertimento, conoscenza o utilità).

L'Assembly è difficile da imparare?

L'Assembly viene considerato difficile da imparare perché più vicino al linguaggio macchina rispetto agli altri linguaggi di programmazione, anche se una volta imparato ad usare Assembly per un tipo di architettura, cambiare architettura sarà relativamente semplice. La sua vicinanza all'hardware, infatti, genera una lunga serie di linguaggi Assembly al variare delle delle architetture su cui vogliamo sviluppare il nostro programma.

L'Assembly è difficile da leggere e capire

L'assembly è difficile da leggere solo se non si conosce, però se il programma ha una struttura non adatta può risultare difficile da leggere a chiunque, per cui la facilità a leggere i programmi sia di basso che di alto livello dipende sempre dalla bravura del programmatore che li ha scritti.

Con l'Assembly è difficile fare debug

Se non si ha esperienza con l'Assembly, è dura fare un debug dei suoi programmi. In qualsiasi linguaggio di programmazione è difficile fare debugging senza avere esperienza.

L'Assembly è difficile da gestire

Tutti i programmi sono difficili da gestire, spesso i programmatori inesperti tendono a scrivere programmi di difficile lettura e gestione. Scrivere programmi semplici, leggibili e gestibili è un'abilità che si sviluppa con l'esperienza.

Programmare in Assembly è una perdita di tempo

Solo il 15% del tempo in più. Infatti, i più bravi programmatori Assembly non hanno bisogno del doppio o del triplo del tempo per scrivere in Assembly. È vero che usando i linguaggi ad alto livello si risparmia un po' di tempo; comunque, il risparmio è insufficiente per colmare i benefici dell'Assembly.

Moderni compilatori hanno eliminato la necessità di programmare in Assembly

Questo non è vero e probabilmente non sarà mai vero. I compilatori stanno migliorando ogni giorno. Comunque, i programmatori scrivono programmi migliori quando usano Assembly. Se un programmatore Assembly scrivesse un programma in C, e poi lo compilasse manualmente, il risultato sarebbe pari o migliore rispetto ad un compilatore C. I compilatori lavorano molto di più rispetto ad un uomo per compilare i programmi.

Oggi i computer sono talmente veloci che non hanno bisogno dell'Assembly

Il tempo è denaro, perciò fare programmi più veloci potrebbe non essere richiesta di alcune persone, ma c'è sempre quel qualcuno a cui fa comodo, anche perché c'è sempre chi non spende tanti soldi per avere un computer recente, perciò si tiene i vecchi computer che vanno più lenti.

L'Assembly non è portabile

Questo è il problema più grande dell'Assembly. Un programma in linguaggio Assembly per Intel 80x86 scritto per IBM PC, non partirà mai su un Apple Macintosh. Poi, un programma Assembly scritto per un Apple Macintosh non partirà mai su un Amiga, a meno che non abbia lo stesso processore 680x0. Se si ha bisogno di far partire lo stesso programma su diverse piattaforme sarà necessario riscrivere il programma secondo le convenzioni del processore scelto. Usando il C (o altri linguaggi ad alto livello) non è comunque garantito che sarà compatibile sulle altre piattaforme. Programmi C scritti per PC IBM, non partiranno mai su un Macintosh. E se dovessero partire, non darebbero gli stessi risultati. La non portabilità del linguaggio è forse la scusa più valida per non imparare l'Assembly (perché i motivi per farlo sono tanti). I programmatori che rifiutano l'Assembly perché non è portabile, non sono programmatori (o almeno non sono bravi). Esistono diverse bugie, mezze-verità sull'assembly. Prima di raccontare ad inesperti che l'Assembly è difficile, è necessario impararlo!

Modulo precedente

Introduzione

Torna a

Assembly

Modulo successivo

Perché studiare l'Assembly