Questa domanda è estremamente soggettiva e aperta. Potrebbe anche sembrare qualcosa che dovrei solo cercare da solo e prendere la mia decisione. Ma mi piacerebbe metterlo là fuori e ottenere alcuni pensieri dagli altri.
Per farla breve: mi sono esaurito con la corsa dei topi e quest'anno sono un anno sabbatico autofinanziato. Gran parte di esso è quello di prendersi una pausa dalla routine aziendale e viaggiare, ma voglio anche giocare con le nuove tecnologie e fare alcuni progetti di autoapprendimento, rimanere al passo con la programmazione e bene - Adoro armeggiare con programmazione, quando non c'è pressione!
Ecco la cosa: sono un programmatore C / C ++ / Java a vita. Sono un po 'snob snob da quando ho lavorato con questa famiglia di lingue per tutta la mia carriera di programmatore. Quindi mi piacerebbe imparare una lingua che non è così strettamente sintatticamente correlata a questo gruppo. Quello che sto sostanzialmente cercando è un linguaggio che è relativamente generico, divertente da imparare, ha alcuni nuovi concetti che sono diversi da C ++ / Java e ha una buona comunità. Una considerazione secondaria è che ha buoni framework di sviluppo web. Una considerazione terziaria è che non è del tutto accademico (leggi: ci sono posti di lavoro nel mondo reale che lo usano).
L'ho ridotto a Ruby o Python. La mia impressione di Ruby è che è estremamente orientato al web - che l'unica vera applicazione di esso è come un linguaggio di scripting lato server per fare cose sul web (principalmente Ruby on Rails). Non ho molta impressione di Python, tranne per il fatto che sembra avere una base di fan appassionati e sembra essere un linguaggio abbastanza versatile.
TL; DR e per dirla nel modo più sintetico possibile: quale di questi sarebbe meglio per un ragazzo C ++ / Java imparare a ottenere alcune nuove prospettive sulla programmazione? E qual è lo scopo più aperto e generale e applicabile a un più ampio set di applicazioni? Al momento mi sto sporgendo verso Ruby, ma mi preoccupo al punto da sembrare che sia usato solo come linguaggio web lato server.