Che lo sia o meno, dipende dal contesto. Pensaci in questo modo. Dimentico qual è il nome formale del concetto, ma esiste una teoria del linguaggio che dice che le parole hanno un significato che descrive non ciò che è qualcosa, ma ciò che non lo è . Una mela rossa non è rossa perché è, beh, rossa, ma perché non è blu, non verde, ecc. Ignora se è vero o no, ma supponi solo che sia per un secondo e pensa alla domanda in quel contesto.
Quindi, quando pensiamo a quel concetto, possiamo confrontare il nostro codice sorgente con un progetto di una casa. Se stai guardando il progetto da una pila di altri progetti, e chiedi "è questa una casa", e gli altri progetti sono per edifici commerciali, ponti, ecc., La risposta sarebbe sì. Perché il progetto rappresenta non tutte le altre cose, e l'aspetto della casa è ciò che lo distingue dagli altri progetti.
Tuttavia, ovviamente un progetto di una casa non è lo stesso di una casa reale fatta di legno e muro a secco in cui puoi stare. Ci sono contesti in cui la differenza tra il progetto e la casa reale è significativa. C'è una differenza tra il piano e il risultato finale.
Allo stesso modo il codice sorgente di un programma in un linguaggio compilato è come il progetto, se lo si confronta con librerie, moduli del kernel, ecc., Il codice sorgente e il programma sono concettualmente la stessa cosa. Ma se stai guardando come viene compilato, progettato e distribuito il software, i due non sono gli stessi. Ancora una volta, c'è una differenza tra il piano e il risultato finale.
tl; dr: a volte ciò che è qualcosa e ciò che rappresenta, è considerato la stessa cosa, ma altre volte non lo sono.