Edsger Wybe Dijkstra era uno scienziato informatico olandese.
Ha ricevuto il Turing Award del 1972 per i contributi fondamentali allo sviluppo di linguaggi di programmazione , una volta ha dichiarato:
"LA SCIENZA INFORMATICA NON È PIÙ SUI COMPUTER CHE L'ASTROMIA È SUI TELESCOPI."
CS è DAVVERO DIVERSO DA UN SE. (CS! = SE).
Un CS è uno scienziato che ha acquisito conoscenze di SCIENZA DEL COMPUTER.
SCUENZA INFORMATICA o informatica (a volte abbreviata in CS) è lo studio dei fondamenti teorici dell'informazione e del calcolo e delle tecniche pratiche per la loro implementazione e applicazione nei sistemi informatici e viene spesso descritto come lo studio sistematico dei processi algoritmici che creano, descrivono, e trasformare le informazioni.
L'informatica ha molti sottocampi per esempio:
- Informatica teorica
- Teoria del calcolo
- Algoritmi e strutture dati
- Elementi del computer e architettura
- multiprocessing
- Scienza computazionale
- Intelligenza artificiale
- Sistemi software
Molti di noi non hanno bisogno di nessuna di queste abilità nel lavoro quotidiano o almeno in parte.
SOFTWARE ENGINEER (SE) è una professione dedicata alla progettazione, all'implementazione e alla modifica di software in modo che sia di qualità superiore, più conveniente, gestibile e più veloce da costruire. È un "approccio sistematico all'analisi, progettazione, valutazione, implementazione, test, manutenzione e reingegnerizzazione di un software applicando l'ingegneria al software"
Come conoscenza del CS, suppone di avere le conoscenze per gestire problemi davvero complessi senza conoscere un linguaggio di programmazione davvero valido. IMHO qui possiamo aprire un altro thread, in cui un GRADO per me è SOLO un PUNTO DI PARTENZA e non un OBIETTIVO FINE.
Come saprà SE, suppone di avere le conoscenze per gestire la produzione di questo problema davvero complesso e gestire lo sviluppo di un team o di un progetto su questo campo.
Insieme facciamo la ricerca scientifica fatta da un CS in Scienze applicate con l'aiuto di una SE.
Non intendo CS è meglio di SE, intendo CS! = SE.
Questo tipo di domanda è la stessa domanda che le persone non informatiche si pongono quando ti chiedono perché, in quanto programmatori, non sei in grado di risolvere telefonicamente il problema del programma X, Y, Z sul sistema operativo J, M, N. ;)
In realtà sono davvero annoiato di scrivere codice dopo 10 anni di sviluppo di sistemi unix nel campo della sicurezza e dopo aver letto questa domanda capisco il punto, ho bisogno di studiare più informatica e meno linguaggio e sistema informatico o protocollo!
Nessuno al mio lavoro è in grado di gestire la differenza tra SE e CS! è davvero una brutta cosa.
Se pensi che un CS possa essere una scusa per le cattive abilità di programmazione, ti manca davvero il punto su cosa sia un CS e cosa sia SE.
Suppongo che tu sia un SE, sai per esempio che tutto il linguaggio, tutti i paradigmi e tutte le cose relative al linguaggio del computer possono essere espressi matematicamente in una serie di funzioni ricorsive parziali e qualunque cosa tu impari una nuova lingua, QUALSIASI NUOVA LINGUA, sei solo apprendere una nuova astrazione sulla funzione parziale ricorsiva SAME?
divertiti :)