Qual è la definizione di Informatica e qual è la Scienza in Informatica?


39

Sto perseguendo una laurea in Informatica, ma sono in una fase iniziale di questo, e sono abbastanza sicuro che sarò felice della mia scelta dato che sembra un'istruzione accademica e professionale flessibile da perseguire.

Detto questo, sembra che ci sia una varietà di definizioni su ciò che l'informatica è veramente rispetto al mondo accademico, al settore privato e all'attuale "Scienza" in "Informatica", mi piacerebbe avere risposte (o ponderazione condivisa) per quanto riguarda l'ampiezza delle cose a cui può essere applicata un'educazione in Informatica e, in definitiva, la varietà di percorsi che quelli all'interno dell'Informatica hanno seguito.


1
Dov'è la scienza in informatica? : cacm.acm.org/magazines/2012/10/…
avi

vedi anche cs meta cos'è l'informatica
vzn,

Risposte:


38

L'informatica è un termine improprio - in realtà non esiste una "scienza" nell'informatica, poiché l'informatica non riguarda l'osservazione della natura. Piuttosto, parti dell'informatica sono ingegneria e parti sono matematica .

Le parti più teoriche dell'informatica sono puramente matematiche. Ad esempio, qual è un buon algoritmo per l'ordinamento? Come definiamo la semantica dei linguaggi di programmazione? Come possiamo essere sicuri che un sistema crittografico sia sicuro?

Quando viene applicata l'informatica, diventa più simile all'ingegneria. Ad esempio, qual è il modo migliore per implementare un algoritmo di moltiplicazione matriciale? Come dovremmo progettare un linguaggio informatico per facilitare la scrittura di programmi di grandi dimensioni? Come possiamo progettare un sistema crittografico per proteggere l'online banking?

Al contrario, la scienza riguarda le leggi della natura e, più in generale, i fenomeni naturali . I fenomeni coinvolti nell'informatica sono creati dall'uomo. Alcuni aspetti dell'informatica possono essere visti come sperimentali in questo senso, ad esempio lo studio empirico dei social network, lo studio empirico delle reti di computer, lo studio empirico dei virus e della loro diffusione e l'educazione informatica (sia insegnando informatica sia usando computer per insegnare altre materie). La maggior parte di questi esempi sono informatica di frontiera e sono più propriamente multidisciplinari. Il più vicino al metodo scientifico in informatica è forse lo studio di reti e altri dispositivi hardware, che è mainstream nella sottozona conosciuta ufficiosamente come "sistemi".

Nonostante questi esempi, la maggior parte del nucleo dell'informatica non è affatto la scienza. L'informatica è solo un nome: non ha senso.

Per quanto riguarda l'ambito dell'informatica, la migliore definizione è forse: quella che fanno gli informatici. L'informatica, come ogni altra disciplina accademica, è una vasta area ed è difficile tracciarla completamente. Se vuoi un assaggio di ciò che le persone considerano l'informatica, puoi guardare le aree di ricerca della tua facoltà.


4
Questo è uno dei commenti più onesti degli informatici che abbia mai visto. Grazie.
scaaahu,

21
Si tratta più della filosofia che dell'informatica, ma non sono d'accordo con questa risposta. L'informatica è un termine improprio per l' informatica e l'informatica è una scienza allo stesso modo, per esempio, della meccanica. C'è una solida base matematica, ma questa base è soggetta a validazione empirica: ci concentriamo sulla computabilità di Turing perché è così che il mondo sembra funzionare, e studiamo altre nozioni perché la computabilità di Turing non modella tutti i fenomeni di calcolo del mondo reale.
Gilles 'SO- smetti di essere malvagio' il

3
Penso che l'idea che solo ciò che osserva i fenomeni naturali sia la scienza reale sia un'emanazione del pensiero materialista, qualcosa con cui molte persone non sarebbero d'accordo. Etimologicamente, la scienza è la raccolta di conoscenza e sebbene alcuni affermino che tutta la matematica è tautologia, dubito che qualcuno di loro classificherebbe la matematica come "non conoscenza".
G. Bach,

2
@Gilles Non puoi essere serio. A parte le persone che fanno ipercomputabilità, nessuno contesta la nozione di computabilità di Turing. Un punto migliore può essere fatto riguardo alla nozione di calcolabilità efficiente (come in polytime significa efficiente), ma nessuno sta più tentando di catturare l'efficienza all'interno di modelli computazionali ragionevoli - le persone teoriche ignorano i problemi con il modello e praticano le persone ignorano il modello .
Yuval Filmus,

2
@YuvalFilmus Per fare solo due esempi, le macchine di Turing non sono sufficienti per modellare sistemi distribuiti o sincroni.
Gilles 'SO- smetti di essere malvagio' il

11

Cominciamo con una citazione di uno dei padri della moderna Informatica: "L'informatica non è più sui computer di quanto l'astronomia sia sui telescopi" - Edsger Wybe DIJKSTRA

Quindi in realtà se ciò che ti interessa sono i computer e la programmazione, allora non sei veramente interessato all'informatica :-)

Penso che Wikipedia abbia una delle migliori descrizioni: "L'informatica (abbreviato CS o CompSci) è l'approccio scientifico e pratico al calcolo e alle sue applicazioni. È lo studio sistematico della fattibilità, struttura, espressione e meccanizzazione dei processi metodici (o algoritmi) che sono alla base dell'acquisizione, della rappresentazione, dell'elaborazione, dell'archiviazione, della comunicazione e dell'accesso alle informazioni, indipendentemente dal fatto che tali informazioni siano codificate in bit e byte nella memoria di un computer o motori trascritti e strutture proteiche in una cellula umana. è specializzato nella teoria del calcolo e nella progettazione di sistemi computazionali "

Ma in realtà, come ha affermato Yuval, la maggior parte delle università / college si sono allontanate dall'informatica / pura e l'informatica e l'informatica sono ora un mix di scienza, matematica, ingegneria. Insegnandoci non solo la pura informatica, ma anche le abilità pratiche per risolvere questi e altri problemi utilizzando computer moderni, linguaggi di programmazione, sistemi operativi e applicazioni software.


3
dici che sei andato via , ma sono mai stati puramente teorici?
Agos,

@Agos Sono d'accordo con te che non è mai esistito un vero periodo puramente teorico, ma direi che col passare del tempo e gli affari hanno avuto bisogno di più programmatori e meno informatici, i diplomi / diplomi si sono spostati di più dal teorico al pratico. Non sto dicendo che l'uno è migliore dell'altro, sto solo facendo un'osservazione.
AquaAlex,

1
@AquaAlex Penso che sia probabilmente il modo migliore per descrivere la netta differenza tra l'informatica dei vecchi e l'informatica come si pensa oggi: si è spostato drasticamente verso un'applicazione pratica per allinearsi con le esigenze dell'industria.

Perché l'informatica "pura" sarebbe solo teoria? Per quanto ne so, questa non è mai stata una buona descrizione di cosa sia l'informatica; preoccupazioni pratiche hanno sempre informato il campo.
Raffaello

@Raphael Dipende tutto da quello che consideri "pratico". Scrivere programmi per computer non è l'applicazione pratica di CS. La maggior parte delle scienze usa la teoria per risolvere i problemi del mondo reale / pratici e molte scienze usano i computer e la programmazione per farlo.
AquaAlex,

11

Vale la pena ricordare che il termine tedesco per "Informatica" è Informatik , che fonde Infomation e Mathematik . Penso che sia una bella e breve descrizione di cosa sia l'informatica. (il termine italiano è informatica , e sono sicuro che ci sono molte altre lingue che seguono la stessa linea).


L'articolo di Wikipedia sull'informatica ha una sezione sui diversi nomi en.wikipedia.org/wiki/Computer_science#Name_of_the_field - Da parte mia non mi piace la parte "computer" più che la "scienza". Devo ancora trovare un campo scientifico che utilizza computer molto meno oggi di me.
linac,

2
@linac: altri campi usano i computer per studiare qualcos'altro. L'informatica finisce per usare i computer per studiare il calcolo. In entrambi i casi possiamo rimuovere i computer e fare ancora il lavoro, solo più lentamente. Tieni presente che è davvero un'idea moderna che "computer" si riferisca esclusivamente a una scatola reale che implementa hardware in grado di eseguire calcoli e che il "Computer" in informatica si riferisce all'idea stessa del calcolo.
Phoshi,

Forse questa derivazione del nome "Informatik" è sbagliata. Il wiki tedesco menziona "Information und Automatik" ma forse è semplicemente "Information + -tik"
miracle173

@ miracle173 In effetti, c'è molto su "Information und Automatik", anche nel Wiki francese e italiano di cui parlano. Non ricordo dove ho letto la derivazione "Information und Mathematik" la prima volta, ma sono abbastanza sicuro di non averlo inventato io ...
john_leo,

6

Potresti essere interessato a una discussione che abbiamo avuto su meta. In particolare, attendo la mia risposta, riprodotta qui:

L'informatica è la scienza del calcolo; sembra molto chiaro. Meno chiaro è come definire la scienza e il calcolo in modo utile e significativo.

In generale, potremmo dividere la scienza in base a due classificazioni: formale contro empirica e pura contro applicata. Mentre la scienza formale (come la matematica e gran parte dell'informatica) si affida al ragionamento deduttivo dalle verità assunte, la scienza empirica (come la fisica e la chimica) si affida al ragionamento induttivo dai fenomeni osservati. Mentre l'obiettivo della scienza pura è far avanzare lo stato di comprensione scientifica, l'obiettivo della scienza applicata è di usare tale comprensione per sfruttare le forze della natura (nel senso più ampio possibile della parola) per raggiungere altri obiettivi.

Potremmo definire il calcolo come una trasformazione applicata a un'informazione. Nel senso più ampio possibile, il calcolo è, quindi, qualsiasi processo che provoca un cambiamento nell'universo. Non è necessario fornire una definizione più dettagliata di questa.

L'informatica, quindi, consiste in quella parte dello sforzo umano che soddisfa i seguenti criteri:

  • È la scienza, cioè:

    • È (1) formale o (2) empirico:

      1. impiega ragionamenti deduttivi dalle verità assunte
      2. impiega ragionamenti induttivi da fenomeni osservati
    • È (1) puro o (2) applicato

      1. cerca di far avanzare lo stato di comprensione scientifica
      2. cerca di applicare la comprensione scientifica per sfruttare le forze naturali
  • Studia il calcolo, ovvero:

    • Studia (1) trasformazioni o (2) informazioni
      1. processi che mappano le informazioni da una forma all'altra
      2. entità soggette a trasformazioni

grazie per aver messo in evidenza il lato empirico che ha anche un ruolo nella ricerca TCS avanzata! ad es. risultati empirici in documenti CS
vzn

5

Voglio aggiungere una prospettiva riguardo alla parola "scienza" che è troppo lunga per un commento.

La gente dice che l'informatica non è una scienza nel modo tradizionale poiché (semplificando qui) facciamo matematica o ingegneria. Questo non è del tutto vero. Possiamo applicare il metodo scientifico - probabilmente la pietra angolare della scienza - cioè

osservazione sistematica, misurazione ed esperimento e formulazione, verifica e modifica di ipotesi.
(Dizionario Oxford Inglese via Wikipedia )

In effetti, alcuni dei primi lavori sugli algoritmi aderiscono a questo principio. Alcuni dei metodo è stato "perso" per diverse ragioni, ma abbiamo ancora può impiegarla.

Il processo di base¹ sarebbe simile al seguente:

  • Nota un problema che vogliamo risolvere con un computer.
  • Vieni con un algoritmo.
  • Analizza (un modello matematico di) l'algoritmo.
  • Sulla base dell'analisi, prevedere il runtime (previsto) dell'algoritmo (su un determinato set di input e una determinata macchina).
  • Conferma o falsifica la tua previsione con esperimenti.

Più in generale, possiamo valutare quanto siano utili i modelli algoritmici e le tecniche di analisi. E qui arriviamo al nostro problema:O-analisi è quasi inutile in questo senso. Dato che la maggior parte degli informatici non ha molto altro, non possiamo fare molta scienza, in modo efficace e tristemente. Non importa che la maggior parte dei curricula non sembrano includere alcuna educazione statistica (rigorosa), anche in sottocampi più orientati empiricamente.

Non crederci sulla parola, comunque. Robert Sedgewick e Philippe Flajolet hanno lavorato per rimettere la scienza in informatica , principalmente sviluppando il quadro formale della combinatoria analitica che consente ipotesi verificabili. Puoi trovare video e MOOC di Sedgewick che ti diranno altrettanto.

Tutta la speranza non è persa.


  1. Questo è, ovviamente, solo un algoritmo wrt formulato. Puoi anche studiare se i modelli di grafici si adattano alla realtà (ad esempio lavorando nei social network, anche se spesso in modo più empirico che scientifico) o se il throughput della rete risulta come previsto, o qualsiasi altra cosa.

"Tutta la speranza non è persa." - Sarebbe una brutta cosa se l'informatica non fosse una scienza (eccetto il termine improprio)?
k.stm,

@ k.stm Secondo me sì. Perché accontentarsi di meno?
Raffaello

La matematica non è scienza, ma non ha mai sofferto di non esserlo. E certamente, né la matematica né l'informatica sono "meno" della scienza per non essere scienza. Forse intendevi "meno" in modo quantitativo, come in "scienza informatica non è altro che matematica, ingegneria e scienza"? Ma anche allora non vedrei alcun vantaggio ereditato dall'essere scienza. Perché avrebbe dovuto? È necessario affrontare scientificamente il ragionamento computazionale?
k.stm,

@ k.stm Sì. Non tutti i CS possono essere matematici e non tutti possono (o vogliono) essere ingegneristici. Le parti che non sono né attualmente non sono sempre (leggi: di solito non) scientifiche. Questo è un grosso problema. Esempio: algoritmo sperimentale. Le analisi matematiche sono intrattabili, i principi di ingegneria non si applicano. Quindi, stiamo essenzialmente eseguendo esperimenti scientifici sui programmi, ma di solito non usiamo principi scientifici. (Quanti CSisti conoscono anche le statistiche di base?)
Raffaello

Va bene, quindi stai dicendo "dobbiamo avvicinarci al ragionamento computazionale anche scientificamente perché funziona meglio (o per niente) in alcune situazioni", ti sto capendo correttamente? Se è così, posso vedere il tuo punto - tuttavia, ciò non significa che ci sia un vantaggio intrinseco per l'informatica ad essere veramente una scienza. Si è appena scoperto che sarebbe stato meglio ...
k.stm,

3

questa è probabilmente una vecchia domanda a lungo dibattuta che risale alle origini dell'informatica. un modo naturale di studiare / rispondere è attraverso la letteratura pubblicata sul soggetto. sospetto che ci siano molti buoni riferimenti a questo sepolto nella letteratura che non sono ancora stati citati. inoltre, le risposte / pov su questo sono probabilmente cambiate nel tempo aka turni kuhniani che sono stati in qualche modo comuni nel campo, forse più di altri campi scientifici. un altro aspetto da studiare è come la materia è stata insegnata nel mondo accademico e come si è adattata alle strutture dipartimentali esistenti che sono cambiate nel tempo.

ecco alcuni bei documenti / saggi di Denning, autorità sul campo, che affrontano direttamente questa domanda e sono un buon punto di partenza per ulteriori riferimenti. entrambi pubblicati sulla rivista della principale società accademica del settore, CACM .

I processi informatici e il calcolo continuano ad essere trovati abbondantemente nelle strutture profonde di molti campi. L'informatica non è - in realtà, mai stata - una scienza solo dell'artificiale.

L'informatica soddisfa tutti i criteri per essere una scienza, ma ha un problema di credibilità autoinflitto.


Denning definisce "informatica" come, in effetti, "lo studio dell'informatica". Chiaramente, lo studio di qualcosa non è lo stesso di quel qualcosa. Sono sempre stato sorpreso dalla misura in cui gli errori di categoria di base sono accettati senza battere ciglio in questo campo.
reinierpost,

non sono esattamente d'accordo con tutto ciò che è
scritto

2

lavorando dalla definizione di scienza

  1. una branca della conoscenza o dello studio che tratta un corpus di fatti o verità sistematicamente sistemati e che mostrano il funzionamento delle leggi generali: le scienze matematiche.
  2. conoscenza sistematica del mondo fisico o materiale acquisita attraverso l'osservazione e la sperimentazione.
  3. qualsiasi ramo della scienza naturale o fisica.
  4. conoscenza sistematizzata in generale.
  5. conoscenza, a partire da fatti o principi; conoscenze acquisite da studi sistematici.
  1. l'informatica è strettamente connessa alla matematica e comporta ricerche significative (ad es. studio).

  2. l'informatica è ampia e strettamente connessa alla fisica in molti modi. ad es. fisica / termodinamica del calcolo, calcolo quantistico , P =? NP come legge fisica , transizioni di fase ecc.

  3. è conoscenza sistematizzata.

  4. subisce uno studio sistematico, cioè la ricerca

la terminologia "informatica" sottolinea che il campo non riguarda semplicemente l'applicazione di principi noti, ad esempio come in ingegneria. c'è un po 'di terra incognita nell'informatica, molte domande di base nel campo sono aperte / senza risposta . il numero di ricercatori in tutto il mondo è difficile da stimare ma numeri oltre le migliaia o le decine di migliaia.

tuttavia, si noti che gli aspetti più scientifici dell'informatica non sono realmente insegnati / esposti così tanto a livello universitario, forse portando a qualche perplessità. sembra anche che non ci siano molte incarnazioni / celebrazioni / sostenitori / sostenitori di alto profilo come scienza, ad esempio in contrasto con altri campi come l'LHC e la scoperta del bosone di Higgs ecc [nonostante che CS abbia avuto un ruolo importante nella sua scoperta!], o un famoso personaggio populizer di Carl Sagan o Hawking. tuttavia, ad esempio, vedi libri scientifici famosi che ispirano CS


1
O a seconda del sottocampo dell'informatica, qual è la differenza in matematica? :-)
Juho,

un altro fattore è che l'informatica ha aspetti interdisciplinari molto forti. un'area di esempio / sempre più di alto profilo che ha un forte sapore scientifico, big data
vzn

un altro aspetto su cui riflettere. uno dei principali oggetti di studio del CS, la macchina di Turing viene definita macchina ed è un incrocio simile a un chimerico tra un dispositivo teorico e uno fisico.
vzn,

Le macchine di Turing sono dispositivi ideali. Non esistono nella realtà. Anche come modello, non è troppo vicino al modo in cui il calcolo è "effettivamente" fatto.
Yuval Filmus,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.