Sono nuovo nell'informatica e nella programmazione, e mi stavo chiedendo, c'è una differenza tra informatica e programmazione? e puoi scegliere di studiare solo uno di loro all'università, o entrambi?
L'informatica è lo studio di ciò che i computer [possono] fare; la programmazione è la pratica di far fare cose al computer.
Dai un'occhiata ai corsi / programmi offerti dalle università che ti interessano per scoprire se il corso è un corso di CS, un corso di programmazione, qualcos'altro (ad esempio Ingegneria del software) o anche una combinazione di quanto sopra. Molti corsi pubblicizzati come "informatica" offrono una significativa componente di programmazione, che può essere tale da mettere in pratica le parti teoriche del corso, o può essere fine a sé stesso in modo da poter apprendere l'abilità di realizzare programmi.
Un avvertimento: "Computer Science" è diventato un campo confuso nei tempi moderni perché (almeno negli Stati Uniti) le università non hanno una laurea in "programmazione". Ciò significa che le persone interessate alla programmazione devono iscriversi ai corsi di Laurea in Informatica e, in risposta a ciò, i programmi di Informatica sottolineano sempre più la programmazione.
Detto questo, la stessa informatica è una scienza matematica strongmente - la matematica computazionale avrebbe potuto essere un termine migliore. Comporta lo studio della teoria dei grafi, della complessità algoritmica, della logica formale, degli automi e in generale di qualsiasi struttura logica che possa descrivere una trasformazione o una risposta agli algoritmi di input. Uno scienziato informatico nel senso classico potrebbe ragionare su regole che governano qualsiasi sistema informatico (inclusi i computer moderni) senza necessariamente conoscere i dettagli dell'implementazione sull'architettura corrente. Un strong background in Informatica ti dà la possibilità di sviluppare (o richiamare) algoritmi efficienti e scalabili, anticipare riduzioni logiche e ragionare in modo ragionevole su ciò che è trattabile.
La programmazione, al contrario, è ciò che fa una persona quando usa un linguaggio di programmazione per trasformare un algoritmo in qualcosa che la macchina può fare. (Ciò dovrebbe rendere evidente la connessione intima con l'informatica e da dove proviene gran parte della confusione.) Un programmatore (relativo a un ambiente e un linguaggio) dovrebbe essere in grado di prendere virtualmente qualsiasi insieme di algoritmi e trasformarli in una forma sia umana - e leggibile dalla macchina scrivendo codice. Un strong background in programmazione (come la maggior parte dei gradi CS fornisce) consente di scrivere codice migliore - dove il codice "migliore" è più facilmente comprensibile dagli altri e più efficace nell'esprimere l'algoritmo che si sta implementando.
C'è una grande quantità di diaframmi, ovviamente, e un alto livello di esperienza in uno corrisponderà strongmente all'esperienza di sviluppo nell'altro - come notato, un CS major è quasi sempre un programmatore competente, e un programmatore esperto ha raccolto molti principi di CS. Pensa a Fisica e Ingegneria.
Un buon modo per ricordare la differenza è questo: se è necessario un computer per vedere se funziona è la programmazione - se puoi farlo con carta e penna, è Computer Science.
Computer science deals with the theoretical foundations of information, computation, and with practical techniques for their implementation and application. http://en.wikipedia.org/wiki/Computer_science
~
Computer science is no more about computers than astronomy is about telescopes. Edsger Dijkstra
La programmazione è l'arte della creazione di un programma per computer.
L'informatica è, dal mio punto di vista, dovrebbe essere una scienza dura come la fisica.
Comprende lo studio di compilatori e generatori di compilatori, concetti di architettura hardware, varie forme di sistemi numerici, algoritmi e efficienza / prestazioni algoritmiche e la teoria dietro le operazioni aritmetiche sul processore. Quando ho fatto CS all'università, abbiamo passato molto tempo a socializzare con l'assemblatore, imparando la differenza tra compilare, collegare e interpretare, ecc.
Molto di ciò è stato fatto programmando - cioè, l'atto di scrivere codice che è stato poi compilato o eseguito tramite un interprete, con l'intenzione di generare risultati per risolvere un problema. Cioè, la Programmazione è l'atto di risolvere problemi che possono essere descritti con conoscenza da Computer Science. È una sorta di suddivisione Pure Maths / Applied Maths.
Non hai bisogno di una laurea in Informatica per essere un programmatore, ma un programmatore con un background di CS avrà probabilmente una comprensione più profonda del comportamento dei programmi per computer.
Vorrei riformulare la tua domanda come "Qual è la differenza tra Informatica e Ingegneria del Software?" In fin dei conti entrambi comportano la programmazione.
L'informatica è lo studio teorico di ciò che è il calcolo e ciò che è e non è possibile. Guarda cose come Godels Theorem e il problema di Halting.
L'ingegneria del software è come scrivere programmi che fanno ciò che sono stati progettati per fare e sono maneggiabili.
Informatica è la teoria della programmazione. La programmazione è l'implementazione.
Computer science ...is the scientific and practical approach to computation and its applications. A computer scientist specializes in the theory of computation and the design of computational systems.
Its subfields can be divided into a variety of theoretical and practical disciplines. Some fields, such as computational complexity theory (which explores the fundamental properties of computational problems), are highly abstract, while fields such as computer graphics emphasize real-world visual applications. Still other fields focus on the challenges in implementing computation. For example, programming language theory considers various approaches to the description of computation, whilst the study of computer programming itself investigates various aspects of the use of programming language and complex systems. Human-computer interaction considers the challenges in making computers and computations useful, usable, and universally accessible to humans...
Se la programmazione è falegnameria, allora l'informatica è architettura / design.
Modifica
Altre informazioni: in carpenteria ti interessano cose come l'ordine in cui costruire le cose (cornice, sottofondo, pareti interne, cartongesso, ecc.). Come lo costruisci in modo che richieda meno tempo per essere costruito, ma può essere modificato in seguito.
Nel caso dell'architettura (la parte di esso come CS in ogni caso), sei interessato a cose come quali sono le capacità dei materiali, quanto è grande una trave per supportare questa parete / tetto?
Allo stesso modo CS riguarda le capacità teoriche dei computer, dove la programmazione riguarda l'applicazione pratica di tale conoscenza.
L'informatica è la programmazione come la fisica è all'ingegneria meccanica.
L'informatica è teorica, richiede un approccio scientifico e matematico alle informazioni e al calcolo.
La programmazione del computer è pratica, è il processo di progettazione, scrittura, test, debug e mantenimento del codice sorgente dei programmi per computer.
Sono diversi, ma campi correlati. Entrambi hanno beneficiato l'uno dell'altro.
Una laurea in informatica è molto più ampia e copre la teoria dietro l'informatica. Una laurea in programmazione di computer , d'altra parte, è incentrata sullo sviluppo delle capacità di programmazione o programmazione degli studenti mediante la formazione loro in diversi linguaggi di programmazione. Se sei confuso, puoi consultare i dettagli di entrambi questi programmi al California College San Diego. Questo potrebbe darti una certa chiarezza riguardo alla portata di questi gradi!
Informatica : è lo studio del problem solving con computer / metodi computazionali.
Programmazione di computer: è la parte di questo processo di problem solving che costituisce il campo dell'informatica. La programmazione informatica è solo un piccolo sottoinsieme dell'informatica.
La programmazione riguarda le persone. Le persone leggono, scrivono e gestiscono il codice. L'informatica riguarda la matematica - implementano e descrivono algoritmi.
La programmazione (sviluppo) riguarda il fare soldi. La scienza riguarda la scoperta di cose nuove.
Leggi altre domande sui tag terminology computer-science