Assembly/Introduzione: differenze tra le versioni

Wikibooks, manuali e libri di testo liberi.
Contenuto cancellato Contenuto aggiunto
 
Riga 31: Riga 31:
* L'Assembly è difficile da leggere e capire
* L'Assembly è difficile da leggere e capire
* Con l'Assembly è difficile fare debug
* Con l'Assembly è difficile fare debug
* L'Assembly è difficle da gestire
* L'Assembly è difficile da gestire
* Programmare Assembly è una perdita di tempo
* Programmare Assembly è una perdita di tempo
* I compilatori moderni hanno eliminato la necessità di programmare in Assembly
* I compilatori moderni hanno eliminato la necessità di programmare in Assembly

Versione attuale delle 20:37, 15 ott 2016

Indice del libro

Introduzione[modifica]

Per prima cosa... Cos'è l'Assembly? L'Assembly è uno dei molti linguaggi di programmazione. Con alcune particolarità:

  • L'Assembly è il linguaggio di programmazione più vicino all'hardware
  • Quindi con l'Assembly possiamo fare tutto sul nostro computer
  • Anche se essendo il più avanzato è sicuramente il più difficile
  • Tutti gli altri linguaggi di programmazione, quando vengono compilati, vengono trasformati dal compilatore, in Assembly.

È proprio questo il lavoro di un compilatore. Esso ha lo scopo di decodificare le istruzioni del linguaggio scelto (C ad esempio) e trasformarle in linguaggio Assembly (vi sarete chiesti cosa succede quando premete il pulsantino "Compila"...)

Abbiamo detto che l'Assembly è il linguaggio più difficile da imparare. Ma allora perché sei qui? Probabilmente la risposta la trovi qui:

  • Tu hai bisogno di un corso Assembly per l'università. Sei qui contro la tua volontà
  • Un programmatore nella tua azienda è stato pensionato. Gran parte del suo codice è scritto in Assembly, e tu sei stato scelto per gestirlo
  • Il tuo capo ti ha costretto a scrivere in Assembly
  • I tuoi programmi sono grandi o lenti, e vorresti che l'Assembly ti aiutasse a tenerli sotto controllo
  • Vuoi sapere come lavora un computer
  • Vuoi sapere come scrivere codice efficiente
  • Vuoi provare qualcosa di nuovo

Bhe, quale che sia la tua motivazione, cominciamo!

Perché non studiare l'Assembly[modifica]

Per approfondire, vedi Assembly/Introduzione/Perché non studiare l'Assembly.

L'Assembly ha una cattiva reputazione. L'impressione comune della gente sui programmatori Assembly, è che loro sono tutti pirati informatici o persone con cattive intenzioni. Qui ci sono ragioni che i programmatori danno per non usare l'Assembly:

  • L'Assembly è difficile da imparare
  • L'Assembly è difficile da leggere e capire
  • Con l'Assembly è difficile fare debug
  • L'Assembly è difficile da gestire
  • Programmare Assembly è una perdita di tempo
  • I compilatori moderni hanno eliminato la necessità di programmare in Assembly
  • Oggi i computer sono talmente veloci che non abbiamo più bisogno di Assembly per potenziare i programmi
  • L'Assembly non è portabile

Da queste righe avrete capito che l'Assembly è decisamente brutto. Questo è quello che pensa l'80% della gente che non conosce l'Assembly. In genere le persone si basano su cose sentite da amici programmatori, che non hanno capito l'Assembly :)

Allora, perché usare l'Assembly?[modifica]

  • Velocità. I programmi scritti in Assembly sono molto più veloci di quelli scritti con gli HLLs (High Level Languages - Linguaggi di alto livello, come C, VB, Pascal ecc...)
  • Spazio. Un programma scritto in Assembly, occupa circa la metà dello spazio necessario ad uno in HLL
  • Capacità. Si possono fare cose in Assembly che gli HLLs possono solo sognare
  • Conoscenza. La conoscenza dell'Assembly ti aiuterà anche con gli HLLs

Dunque il linguaggio Assembly è degno degli sforzi che starete per fare, e forse, dopo averlo conosciuto, lo userete più di quanto avreste mai pensato.

Differenza tra Assembly e Assembler[modifica]

Molti confondono questi due termini pensando che siano la stessa cosa. In realtà, Assembly è il linguaggio di programmazione, mentre Assembler è il programma che Assembla il sorgente. Torneremo più avanti su questo argomento.

Modulo precedente

Sommario

Torna a

Assembly

Modulo successivo

Perché non studiare l'Assembly