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

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
Grop (discussione | contributi)
m ha spostato Assembly/Perchè non studiare l'Assembly a Assembly/Introduzione/Perchè non studiare l'Assembly
Grop (discussione | contributi)
Nessun oggetto della modifica
Riga 18: Riga 18:
==L’Assembly non è portabile==
==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à su un Apple Macintosh. Poi, un programma Assembly scritto per un Apple Macintosh non partirà su un Amiga, a meno che non abbia lo stesso processore 680x0. Se hai bisogno di far partire lo stesso programma su diverse piattaforme avrai bisogno di riscrivere il programma secondo le convenzioni del processore scelto. Usando il C (o altri HLLs) non è comunque garantito che sarà compatibile sulle altre piattaforme. Programmi C scritti per IBM PC, non partiranno 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. I programmatori rifiutano l’Assembly perché non è portabile, e scrivono comunque programmi non portabili in C, che idiozia... Esistono diverse bugie, mezze-verità sull'assembly. Prima di raccontare ad inesperti che l'Assembly è difficile, prova ad impararlo...
Questo è il problema più grande dell'Assembly. Un programma in linguaggio Assembly per Intel 80x86 scritto per IBM PC, non partirà su un Apple Macintosh. Poi, un programma Assembly scritto per un Apple Macintosh non partirà su un Amiga, a meno che non abbia lo stesso processore 680x0. Se hai bisogno di far partire lo stesso programma su diverse piattaforme avrai bisogno di riscrivere il programma secondo le convenzioni del processore scelto. Usando il C (o altri HLLs) non è comunque garantito che sarà compatibile sulle altre piattaforme. Programmi C scritti per IBM PC, non partiranno 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. I programmatori rifiutano l’Assembly perché non è portabile, e scrivono comunque programmi non portabili in C, che idiozia... Esistono diverse bugie, mezze-verità sull'assembly. Prima di raccontare ad inesperti che l'Assembly è difficile, prova ad impararlo...
<div style="width: 50%;float:left; text-align: left;">[[Assembly/Introduzione|Lezione precedente]]</div><div style="width: 50%;float:left; text-align:right">[[Assembly/Perchè studiare l'Assembly|Prossima lezione]]</div><br/>
<div style="width: 50%;float:left; text-align: left;">[[Assembly/Introduzione|Lezione precedente]]</div><div style="width: 50%;float:left; text-align:right">[[Assembly/Introduzione/Perchè studiare l'Assembly|Prossima lezione]]</div><br/>


<div style="text-align: right;"></div>
<div style="text-align: right;"></div>

Versione delle 10:09, 11 mag 2007

Template:Linguaggio Assembly Nell'introduzione abbiamo parlato dei motivi per cui è sconveniente studiare l'Assembly. Parliamone

L’Assembly è difficile da imparare

Perchè è un linguaggio che non conosci ancora. Prova a studiarlo (studiarlo seriamente) Imparare l’Assembly non sarà molto diverso di quando hai imparato il tuo primo linguaggio di programmazione.

L’Assembly è difficile da leggere e capire

Sicuro… se non lo conosci! La maggior parte della gente che fa questa affermazione non conosce l’Assembly. Ovviamente, è molto facile scrivere programmi impossibili da leggere con l’Assembly. Così come è facile scrivere programmi impossibili da leggere in C, Pascal Prolog, e APL. Con l’esperienza, troverai l’Assembly facile da leggere come tutti gli altri linguaggi di programmazione.

Con l’Assembly è difficile fare debug

Se non hai esperienza con l’Assembly, sarà dura fare un debug dei suoi programmi. Ricordi come era trovare bachi nei tuoi primi programmi in C (o altri HLLs)? Ogni volta che impari un nuovo linguaggio di programmazione è difficile debuggare.

L’Assembly è difficile da gestire

Anche i programmi in C sono difficili da gestire. Effettivamente, tutti i programmi sono difficili da gestire :). I programmatori inesperti tendono a scrivere programmi difficili da gestire. Scrivere programmi gestibili non è un talento. E’ un’abilità che si sviluppa con l’esperienza.

Programmare in Assembly è una perdita di tempo

Solo il 15% del tempo in più. Infatti, bravi programmatori Assembly non hanno bisogno del doppio o del triplo del tempo per scrivere in Assembly. E’ vero che usando gli HLL 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

E’ assurdo come la gente spenda molti soldi per comprare computer più potenti di quello che hanno, ma non vogliono spendere un po’ di tempo a scrivere i propri programmi in Assembly e quindi renderli più veloci sullo stesso hardware.

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à su un Apple Macintosh. Poi, un programma Assembly scritto per un Apple Macintosh non partirà su un Amiga, a meno che non abbia lo stesso processore 680x0. Se hai bisogno di far partire lo stesso programma su diverse piattaforme avrai bisogno di riscrivere il programma secondo le convenzioni del processore scelto. Usando il C (o altri HLLs) non è comunque garantito che sarà compatibile sulle altre piattaforme. Programmi C scritti per IBM PC, non partiranno 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. I programmatori rifiutano l’Assembly perché non è portabile, e scrivono comunque programmi non portabili in C, che idiozia... Esistono diverse bugie, mezze-verità sull'assembly. Prima di raccontare ad inesperti che l'Assembly è difficile, prova ad impararlo...



Grop 08:53, 11 mag 2007 (UTC)