@MarcoPolo: il tuo approccio, come nel 99.999999% dei casi, parte da un concetto sbagliato!
Conoscere un linguaggio di programmazione (o anche N linguaggi) NON VUOL DIRE SAPER PROGRAMMARE.
Saper programmare vuol dire saper implementare un algoritmo/risolvere un problema, mediante un computer INDIPENDENTEMENTE dal linguaggio di programmazione.
Per fare un esempio: sapere italiano, inglese e klingon (se sei un patito di Star Trek) NON VUOL DIRE essere in grado di scrivere un racconto di fantascienza, oppure un giallo.
Ma se sai scrivere racconti di fantascienza o racconti gialli, lo puoi fare in qualunque lingua!
Ora, avere nozioni di C++/Python/Java (che fanno parte della stessa categoria di paradigmi di programmazione, con gli opportuni dettagli) non basta.
Saprai si e no l'1/10000 di quello che serve.
Per esempio, giusto per darti qualche indicazione di massima:
- proprieta' delle principali strutture dati (lista, vettore, struttura, albero grafo, mappa, ...)
- proprieta' dei principali algoritmi (ordinamento, scansione di una lista/albero/grafo, ...)
- programmazione parallela/thread
- programmazione di rete/http,ftp, e tcp/ip
- accesso ai database/teoria relazionale dei dati, ed oggi anche NoSQL DB
per poi passare a argomenti specifici per il particolare settore di interesse.
Ad esempio, se ti interessa il Web e le applicazioni Web, oltre a HTML, CSS, JavaScript, devi conoscere XML, XSLT, XPath, concetti su come si progettano le interfacce utente, un'infinita' di librerie (da jQuery, a D3, ed altre n-mila ...). E questo SOLO PER LA PARTE CLIENT. Poi c'e' la parte Server!
NON ESISTE un tutorial per imparare tutte queste cose: servono TANTI libri, uno (e spesso PIU' di uno) per ogni argomento, e poi saperli fondere tutti insieme.
Un eventuale tutorial dovrebbe avere decine o centinaia DI MIGLIAIA di pagine!
Se pensi che il solo libro introduttivo su Python ha circa 1000 (MILLE) pagine!
Prova ad immaginare un tutorial di 1000 pagine per ogni argomento indicato!