Ciao Vera,
Prima di tutto lasciami dire che la tua domanda è molto simile alla domanda "Quali sono le funzioni e le parti principali di un essere umano? E, voglio saperlo in modo semplice.
D'altra parte, sarebbe una buona domanda per un compito a casa. Quindi in questo contesto:
1) I dispositivi di input come una tastiera, un mouse, uno scanner, unità flash (USB) e touch screen.
2) L'unità di elaborazione (CPU) che elabora i dati dai dispositivi di input.
3) L'unità di elaborazione grafica (GPU) che crea l'immagine che si vede sul monitor. Spesso la GPU è costruita sullo stesso chip della CPU (conosciuta come grafica integrata. Come previsto, rallenta un po' la CPU).
4) Un'unità di memoria volatile o memoria conosciuta come RAM (memoria ad accesso casuale).
5) Una memoria persistente che conserva le informazioni una volta rimossa l'alimentazione; normalmente un'unità disco o un'unità di memoria allo stato solido conosciuta come SSD (solid state disk).
6) Una capacità di elaborazione audio. Questo può essere un plug-in (o scheda) separato o può essere costruito sulla scheda madre. L'elaborazione audio integrata è ora abbastanza buona per tutte le applicazioni tranne le più esigenti.
7) Un bus che fornisce i percorsi dei dati in ingresso e in uscita. Un bus ha tradizionalmente più linee parallele (conduttori) che trasportano più bit contemporaneamente. Per aumentare la velocità del flusso di dati, il bus parallelo è stato sostituito in molti casi con un bus seriale come le connessioni SATA per le unità disco, CD e DVD. Anche l'USB è un bus seriale. In un bus seriale, i bit di dati (segnali) si susseguono uno dopo l'altro e vengono poi ricostruiti in byte di dati che consistono di 8, 16, 32 o 64 bit che operano in parallelo. Questa è l'origine dei termini 8-bit, 16-bit, 32-bit e 64-bit computer. Quanti bit può elaborare un computer contemporaneamente come un byte?
8) Una capacità di rete che permette di connettersi a Internet. L'Ethernet, sviluppata da Robert Metcalfe allo Xerox PARC (Palo Alto Research Center) tra il 1973 e il 1974, è il tipo comune di rete. La stessa rete è ora usata per connettersi ad altri dispositivi come stampanti, fax e scanner. Così, la rete estende il percorso dei dati per i componenti esterni.
9) Dispositivi di uscita come una stampante, un masterizzatore CD, amplificatori audio esterni e altoparlanti. Il CD, il DVD e l'unità flash possono essere tutti scritti e letti, quindi sono sia dispositivi di input che di output.
Nota che ci sono molti tipi diversi di programmatori, proprio come ci sono molti tipi diversi di medici. Quelli che programmano effettivamente i computer sono in minoranza e hanno bisogno di conoscere tutti i dettagli più un sacco di matematica, algoritmi e modelli collaudati di codice informatico. Sviluppano i sistemi operativi, i firmware (codice informatico incorporato), i sistemi di database, i sistemi di rete, ecc. Per un esempio di firmware, almeno una piccola macchina fotografica digitale oggi ha doppi processori quad-core. Equivarrebbe a 8 computer separati nei decenni passati. Ho appena aggiornato il firmware della mia macchina fotografica e delle lenti ieri - attraverso Internet. Un altro esempio di firmware sarebbe l'ECM (Electronic Control Module) della tua auto.
Un gradino sopra i programmatori di livello più dettagliato sono i programmatori che scrivono applicazioni (apps) che sono strettamente legate all'hardware. Questo sarebbe come un'applicazione per uno smartphone.
Ma la maggior parte di quelli che alcune persone chiamano programmatori sono in realtà sviluppatori di software. Hanno bisogno di sapere molto poco del funzionamento interno di un computer. Invece della matematica e delle scienze, è più probabile che siano formati in contabilità, marketing, relazioni pubbliche, commercio, ecc. e che abbiano la programmazione del computer come interesse parallelo. Devono essere in grado di conversare con gli utenti, capire cosa il pubblico troverà utile e prezioso, ed essere in grado di comunicare efficacemente con una vasta gamma di persone che lavorano in diverse discipline. Tendono ad essere estroversi, mentre i programmatori di computer tendono ad essere introversi. Gli sviluppatori di software sviluppano applicazioni web usando molti strumenti diversi. Scrivono applicazioni aziendali come General Ledger e Payroll.
Oggi, quasi tutte le applicazioni hanno Internet come spina dorsale -- e i browser forniscono la capacità di input e output. Si può avere un Internet privato, interno. E si chiama Intranet.
Poi ci sono gli ingegneri di rete che rappresentano tutta un'altra area di programmazione. Programmano la rete (quasi sempre Ethernet e per lo più Cisco) i router e gli switch che permettono al tuo messaggio di viaggiare da New York alla California e dall'ufficio contabilità all'ufficio paghe. Il routing è basato interamente sugli indirizzi IP -- ma non è un compito semplice ottenere il routing corretto. Un sacco di lavoro viene fatto anche per garantire la sicurezza.
Oggi la programmazione dei computer è strettamente collegata alla progettazione grafica, inclusa la produzione di video. Quasi tutto ciò che viene fatto su un computer oggi coinvolge una sorta di grafica. Questa è un'area di studio completamente diversa. Ma gli sviluppatori di software oggi hanno bisogno di una capacità di fai da te o di lavorare con un artista grafico. Conoscere alcuni dei prodotti Adobe; Photoshop, Illustrator, Lightroom, Premier, Acrobat è essenziale - e nessuno di essi è semplice.