La mia esperienza con Python è limitata a qualche codice di riproduzione solo leggermente più complesso di Hello World, quindi questa non sarà una risposta molto approfondita per python in particolare, ma posso dirti questo:
Le differenze tra le lingue sono in dettagli come la sintassi e alcuni specifici del linguaggio saranno diversi (come i diversi modi in cui vengono gestiti gli errori, le capacità di I / O e come i compilatori convertono il tuo input in qualcosa di eseguibile), ma sia C ++ che Python offrire gli stessi paradigmi, quindi la soluzione dei problemi può essere fatta allo stesso modo con entrambe le lingue. Sia C ++ che Python sono imperativi e orientati agli oggetti, quindi probabilmente stai andando a prendere python abbastanza velocemente se sei a tuo agio con C ++ una volta che hai padroneggiato la nuova sintassi usando le tecniche di risoluzione dei problemi che hai acquisito con C ++. Se vuoi, puoi usare Python anche per la programmazione funzionale, ma non ho mai toccato quella parte, quindi non posso dirti molto a riguardo.
È troppo presto? Non posso davvero dire dalla tua storia in un sì o no definitivo.
Sei già abbastanza sicuro di scrivere applicazioni complete (GUI) con C ++? (ad esempio, utilizzare le librerie, funzioni di linguaggio più complesse come generici e / o modelli ecc.)
Penso che imparare un nuovo paradigma linguistico sia molto più difficile che imparare una nuova lingua nella stessa famiglia di paradigmi. Quando esci in un nuovo territorio di paradigmi, dovrai dedicare molto più tempo per avere una buona idea di come risolvere i problemi con quel paradigma.
Tra i linguaggi OO ci sono differenze su come viene gestita l'ereditarietà e come i dati vengono passati in memoria quando si passa un parametro / argomento a una funzione che influisce sulle prestazioni. Ma per andare avanti questi sono di solito di minore preoccupazione all'inizio.
La mia ipotesi è che se sei abbastanza sicuro di C ++ per fare qualcosa di più del mondo ciao in un modo elegante, sei ok per il lancio.
Imparare molte lingue in modo superficiale ti aiuterà a capire gli esempi di codice indipendentemente dalla lingua utilizzata, ma la creazione di un tuo codice richiede una maggiore comprensione di come funzionano le lingue e di come differiscono l'una dall'altra.
P.S. Quando voglio imparare a usare superficialmente un nuovo linguaggio, di solito proverò le seguenti cose per capire la sintassi del linguaggio e il funzionamento superficiale:
- Ciao mondo (testo sullo schermo)
- Ciao mondo scritto su un file (ti insegna le nozioni di base sull'I / O dei file per quella lingua e molto spesso anche altri tipi di I / O)
- Esecuzione di alcuni calcoli standard con basi diverse (10, esadecimale, ottale), sia integer che a virgola mobile. (ti insegna riguardo al troncamento e alla notazione numerica)
- Cerca di utilizzare alcune librerie grafiche per mostrare ciao mondo in una finestra di dialogo elegante. (ti insegna come usare le librerie e il codice esterno)