Che aspetto ha il codice del computer?

Suggerisco di andare su GitHub, scegliere un progetto a caso e guardare da soli.

Alla fine, il codice del computer nella sua forma sorgente (intesa come la forma preferita per apportarvi modifiche) è, e quindi appare, come un mucchio di file di testo (cioè file contenenti solo lettere, cifre, alcuni simboli, spazi e newlines) scritti secondo qualche specifica.

Edit: d'altra parte, ci sono ambienti di programmazione (tipicamente per bambini e principianti, ma non solo) che si discostano da questo e rappresentano visivamente il codice sorgente usando elementi grafici. Vedi per esempio Scratch.

Negli '90 ci sono stati molti tentativi di deviare dai file di testo come modo principale di rappresentare il codice sorgente. Penso che si possa tranquillamente dire che tutti loro non hanno avuto successo a causa di quanto segue:

  1. una rappresentazione testuale è abbastanza compatta rispetto alle rappresentazioni grafiche pure (si pensi allo pseudocodice contro i diagrammi di flusso). Questo significa che le rappresentazioni grafiche pure di programmi non banali finiscono per essere o troppo grandi o un profondo groviglio¹, senza un chiaro vantaggio rispetto ad una rappresentazione testuale;
  2. oggi è abbastanza chiaro come confrontare due file di testo e mettere in evidenza le differenze (si pensi all'onnipresente algoritmo al centro dell'utilità diff ), in modo da poter sapere, per esempio, cosa è stato cambiato tra due revisioni di un file di testo: Questa è una caratteristica importante nello sviluppo del software, specialmente quando si lavora in un team e si ha bisogno di unire le modifiche. Sfortunatamente, non è affatto chiaro come questo possa essere fatto efficacemente su altri tipi di rappresentazioni senza trasformarlo in un diverso tipo di gioco di individuazione della differenza;

Il codice macchina (cioè il codice che viene effettivamente eseguito dall'hardware del computer) può essere pensato fondamentalmente come una sequenza di numeri discreti che rappresentano sia istruzioni che dati, sempre scritti secondo le specifiche della piattaforma su cui verrà eseguito, ma il significato effettivo dipende dal contesto. Non assomiglia a niente, ma può essere rappresentato usando qualche convenzione testuale.

---

¹ Ricordo un vecchio fumetto (credo fosse un The far side) che raffigurava un informatico che copriva l'intera facciata di un edificio con diagrammi di flusso, con il personale di un ospedale psichiatrico che lo aspettava accanto a un'ambulanza.