Linguaggi di sviluppo

Mercoledì 5 Marzo, 2008

Ho “riesumato” questo mio articolo scritto un po’ di anni fa. L’ho leggermente rivisto, aggiornando qualcosina qua e là, tuttavia credo sia ancora attuale ed interessante.

INTRODUZIONE

Che cos’è un linguaggio di sviluppo? Un elaboratore elettronico, alias PC (Personal Computer), ha un suo linguaggio personale. Questo linguaggio viene chiamato codice macchina, per intendere che ogni macchina, quindi ogni elaboratore (PC Compatibili, Apple, Unix, ecc…), ne ha uno esclusivo e proprietario. I programmi che vediamo “girare” sul nostro PC vengono principalmente eseguiti da quel misterioso oggetto chiamato microprocessore. Questo rappresenta il cuore, l’unità intelligente, di ogni elaboratore elettronico. In realtà una applicazione non viene eseguita solo dal microprocessore ma si appoggia, per così dire, a quello che viene chiamato sistema operativo: uno strato software fornito dal produttore della macchina (si veda, ad esempio, i Macintosh della Apple). I PC compatibili, ad esempio, che montano i famosi microprocessori Pentium, possono avere come sistema operativo i vari Windows forniti dalla società di Redmond di Bill Gates Microsoft (Windows 95, 98, 2000 ecc…) e, ultimamente, anche sistemi operativi alternativi completamente gratuiti come Linux e derivati. Un’applicazione, quindi, dev’essere scritta per un particolare sistema operativo più che per un particolare microprocessore. Questo perchè il software che si scrive oggi si pone ad un livello più alto rispetto alla macchina stessa (al suo Hardware).
Inoltre il sistema operativo fornisce tutta una serie di funzionalità atte a semplificare la vita dello sviluppatore che non deve, quindi, partire da zero nella stesura di un programma.
I linguaggi di programmazione, come il C, il Pascal, l’Assembly, sono stati inventati per avvicinare il modo di esprimersi degli esseri umani al modo con cui, invece, “ragiona” un computer. Continua a leggere… »

Post correlati

Costanti e variabili: qual’è la vera differenza?

Domenica 2 Dicembre, 2007

Sembra ovvio, ma ad alcuni sfugge la sottile differenza tra costanti e variabili in un linguaggio di programmazione. Le costanti, dal nome stesso, non cambiano il loro valore durante il ciclo di un programma, mentre le variabili possono farlo! Tuttavia, spesso, capita di usare variabili al posto di costanti senza rendersene conto, anche perchè questo non impatta la logica di una applicazione. Nonostante questo, la differenza tra costanti e variabili c’è ed emerge tutta nel momento della compilazione, dove la costante gioca un ruole sicuramente più performante.

Continua a leggere… »

Post correlati

Emulatore Assembler 6502

Mercoledì 14 Marzo, 2007

Visto che siamo in tema di nostalgia, ecco un simpatico emulatore dello storico microprocessore del 6502; montato negli anni '80 in console e computer come l'Apple, Nintendo NS e il Commodore 64 (che poi passo al 6510, ...). Questo simpatico gioiellino è scritto interamente in Javascript, funzionante in pratica su tutti i browser (da Safari a Opera), con il solo difetto di essere leggermente lento. Tuttavia vale la pena provarlo. Sul sito (http://www.6502asm.com/) trovate alcuni simpatici esempi, lenti ma curiosi.

Per gli ex programmatori Assembly Commodore 64 considerate che lo schermo video non visualizza i caratteri, quindi codici come questo qui sotto non funzioneranno:

CODE:
  1. start: LDA #$65
  2.        JSR $FFD2
  3.        RTS

Inoltre va considerato che la mappatura video è differente da quella del Commodore 64, quindi non pensate in questi termini (nemmeno i POKE 53280 e 53281 funzioneranno - $D020 e $D021). In questo emultatore il video parte dall'indirizzo $200 (e non $400, 1024 in decimale) fino a $5ff, come anche l'area video è di 32 x 32 pixel (per un totale di 1024).
Anche gli IRQ non sono implementati, quindi istruzioni come CLI, RTI e SEI non avranno effetto. Ulteriori dettagli su questo emultatore (come timer, input da tastiera, ecc...) sono reperibili all'indirizzo:

Informazioni sull'emultatore

Tutto quello che serve per il 6502

Post correlati