Il mio punto di vista è che ciò che è e non è "scienza", pura o applicata, è determinato dal metodo.
La scienza pura è caratterizzata, a grandi linee, dal metodo scientifico. Diversi rami lo portano in misura diversa e in direzioni diverse, ma tutti condividono un nucleo simile: teorie basate su osservazioni del mondo e testate empiricamente e quantitativamente attraverso esperimenti o, almeno, studi osservazionali.
La scienza pura risponde a "cosa" osservando il mondo reale.
La scienza applicata, d'altra parte, è più vicina all'ingegneria. Si tratta di trovare modi specifici per realizzare qualche obiettivo. L'obiettivo è quello di prendere una comprensione scientifica del mondo e usarla per sviluppare soluzioni ai problemi.
La scienza applicata risponde al "come" inventando sulla base di principi scientifici.
Quindi dove rimane l'informatica?
Beh, CS è un campo interessante. Non è definita da come affronta i problemi, ma da quali argomenti copre - qualsiasi cosa lontanamente collegata ai computer andrà bene. Quindi è entrambe le cose allo stesso tempo, e anche di più. I sottocampi di CS si orientano in tutte le direzioni: scienza pura, ingegneria o anche matematica astratta. A volte si spingono persino nell'arte!
CS comprende sia le scienze pure che quelle applicate che hanno a che fare con i computer e il calcolo, e altro ancora.
In effetti, si può vedere una gamma sorprendente anche in un singolo sottocampo. Lo studio dei linguaggi di programmazione è un grande esempio. La progettazione pratica di PL e gli strumenti sono una disciplina ingegneristica nel cuore - inventiamo linguaggi e strumenti basati su una comprensione più ampia della materia. La teoria dei PL, d'altra parte, è matematica, pura come viene. (In effetti, si è scoperto che la teoria PL può fornire una base coerente per tutta la matematica!) E una piccola, emergente quantità di lavoro è scientifica allo stesso modo della psicologia, cercando di costruire una comprensione sperimentale di come gli esseri umani imparano le lingue e usandola per informare la progettazione del linguaggio.
Guardando in altri sottocampi, troverete altri mix di approcci e filosofie. Ma, preso nel suo insieme, il pensiero CS è sorprendentemente vario, in gran parte perché è definito puramente dal suo soggetto, non dal suo metodo.