Ok, la risposta corretta è: "Dipende", principalmente su ciò che vuoi fare.
Dai suoni che vuoi "migliorare le tue capacità di programmazione", cosa intendi con questo?
Se vuoi dire che vuoi trovare buoni strumenti per fare le cose, e risolvere problemi o fare qualcosa di divertente / utile, dovresti scegliere Python per cose di alto livello. Non preoccuparti delle prestazioni, in quanto puoi sempre ottimizzarlo in un secondo momento.
Python è una gioia da programmare poiché non è necessario preoccuparsi di molto del cruft in altri linguaggi e in genere può concentrarsi sulla logica dell'applicazione stessa. Python migliorerà principalmente le tue capacità di programmazione nell'area della progettazione / implementazione di un'intera applicazione, concetti OO e concetti funzionali, oltre a introdurre un sacco di zucchero sintattico. Raccomando di eseguire import this
per avere un'idea di cosa tratta la comunità Python. Python è una mentalità diversa da Java, in cui il programmatore viene trattato come un adulto che sa cosa sta facendo. Ci sono pochissime decisioni arbitrarie fatte per te. In genere, Python ha scelto la soluzione più semplice / facile da comprendere per i problemi che qualsiasi linguaggio deve risolvere. Rimane molto esplicito rispetto ad altri linguaggi di scripting, quindi è molto facile da comprendere e leggere una volta superata la differenza di sintassi tra esso e Java / C / C ++. Python ha anche collegamenti a molte delle librerie / API C / C ++.
Se vuoi vedere perché è stato creato Java puoi scrivere in C ++ :). Non riesco davvero a pensare a un buon caso d'uso per C ++ che non coinvolge un gruppo di programmatori C ++ preesistenti o una grande libreria / api C ++ (ad esempio link ). Personalmente ritengo che sia uno dei linguaggi di programmazione più complicati che ci siano. Tuttavia, se il tuo obiettivo è semplicemente quello di imparare, è un buon linguaggio per quello, poiché ci sono molti problemi da risolvere e cose da sapere per far funzionare bene il tuo codice.
Modifica : poiché I non poteva pensare a un buon caso d'uso per C ++ ho trovato un ottimo thread in cui i programmatori C ++ indicano perché lo usano :) link . Ma dal momento che non posso perdonare C ++, personalmente, devo anche collegarmi a questa divertente intervista link
C è un ottimo linguaggio per l'apprendimento per molte delle stesse ragioni del C ++, ma il linguaggio in sé non è così complicato. I concetti di C e C sono ovunque. C complimenta con Python, Java, AND C ++ quindi per una pura esperienza di apprendimento, consiglierei C su ognuno di essi. Gestione della memoria e puntatori sono concetti fondamentali da cogliere completamente.