Allora,scusate l'ingnoranza,volevo intendere le caratteristiche del linguaggio, ma quindi,cos'è la teoria?
Teoria prima ancora di iniziare a programmare:
elementi di matematica e logica per l'informatica (teoria basilare degli insiemi ed operazioni fra essi, calcolo proposizionale e tabelle di verità, sistemi di numerazione in base diversa da 10), modello astratto del computer e suo funzionamento (Macchina di Von Neumann), concetto di algoritmo e semplici esempi eventualmente ricorrendo a pseudo-codifica (realizzazione di un algoritmo descrivendolo con linguaggio naturale) e/o con diagrammi di flusso (per problemi semplici).
Dimenticavo una cosa FONDAMENTALE: rappresentazione binaria dei numeri interi e in virgola mobile.
Solo dopo si mette mano ad un linguaggio di programmazione degno di questo nome (di certo NON si inizia con Javascript);
contemporaneamente, si studiano i primi algoritmi su problemi noti, per esempio gli algoritmi di ricerca e, si fanno esercizi;
allo stesso tempo, si cominciano a studiare le strutture dati (almeno quelle lineari: pile, liste code).
Poi si continua a studiare/progettare/realizzare algoritmi e si continua...
C++ va bene (con un buon libro);
una cosa che evidentemente NON è chiara a chi inizia, è che
informatica e programmazione sono 2 cose differenti:
l'informatica è una scienza, la programmazione è uno strumento. Saper usare alla perfezione Word, LibreOffice, LaTeX ecc. non fa di te uno scrittore, conoscere 10 linguaggi di programmazione non fa di te un informatico se non sai realizzare algoritmi.