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

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Riga 1:
{{P|tono colloquiale e espressioni assolutamente inappropriate (come "che idiozia...")|novembre 2008|[[Utente:Zeroalcubo]]}}
{{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à).
Nell'introduzione abbiamo parlato dei motivi per cui è sconveniente studiare l'Assembly. Parliamone
==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.
Line 9 ⟶ 8:
 
==Con l'Assembly è difficile fare debug==
Se non haisi ha esperienza con l'Assembly, saràè dura fare un debug dei suoi programmi. RicordiIn come era trovare bachi nei tuoi primi programmi in C (o altri HLL)? Ogni volta che impari un nuovoqualsiasi linguaggio di programmazione è difficile '''debuggare'''fare debugging senza avere esperienza.
 
==L'Assembly è difficile da gestire==
AncheTutti i programmi in C sono difficili da gestire. Effettivamente, tuttispesso i programmi sono difficili da gestire :). I programmatori inesperti tendono a scrivere programmi difficili da gestire. Scriveree scrivere programmi gestibili non è un talento. È 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 glii linguaggi ad alto HLLlivello 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.
È 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à 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 haisi ha bisogno di far partire lo stesso programma su diverse piattaforme avraisarà bisogno dinecessario riscrivere il programma secondo le convenzioni del processore scelto. Usando il C (o altri HLLslinguaggi ad alto livello) non è comunque garantito che sarà compatibile sulle altre piattaforme. Programmi C scritti per IBM 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, enon scrivonosono comunqueprogrammatori programmi(o almeno non portabilisono in C, che idiozia..bravi). Esistono diverse bugie, mezze-verità sull'assembly. Prima di raccontare ad inesperti che l'Assembly è difficile, provaè adnecessario impararlo...!
 
{{capitolo