Esta questão é extremamente subjetiva e aberta. Pode até parecer algo que eu deveria pesquisar por mim mesmo e tomar minha própria decisão. Mas eu gostaria de divulgá-lo e obter alguns pensamentos de outras pessoas.
Para encurtar a história - eu me queimei com a corrida de ratos e estou em um período sabático autofinanciado este ano. Muito disso é dar um tempo na rotina corporativa e viajar, mas também quero brincar com novas tecnologias e fazer alguns projetos de autoaprendizagem, para manter a velocidade da programação e bem - eu adoro mexer com programação, quando não há pressão!
Aqui está a coisa: eu sou um programador C / C ++ / Java vitalício. Sou um pouco esnobe, desde que trabalhei com essa família de linguagens por toda a minha carreira em programação. Então, eu gostaria de aprender um idioma que não esteja tão intimamente relacionado a esse grupo. O que estou procurando basicamente é uma linguagem de propósito geral, divertida de aprender, com alguns novos conceitos que são diferentes de C ++ / Java e com uma boa comunidade. Uma consideração secundária é que ele possui boas estruturas de desenvolvimento da web. Uma consideração terciária é que não é totalmente acadêmico (leia-se: existem empregos no mundo real por aí usando-o).
Eu o reduzi para Ruby ou Python. Minha impressão do Ruby é que ele é extremamente orientado para a Web - que a única aplicação real dele é como uma linguagem de script do lado do servidor para fazer coisas na Web (principalmente Ruby on Rails). Eu não tenho muita impressão do Python, exceto que ele parece ter uma base de fãs apaixonada e parece ser uma linguagem bastante versátil.
TL; DR e, da maneira mais sucinta possível: qual seria melhor para um cara de C ++ / Java aprender a obter novas perspectivas de programação? E qual é o objetivo mais aberto e geral e aplicável a um conjunto mais amplo de aplicativos? Estou inclinado a Ruby no momento, mas me preocupo a ponto de parecer que não é mais que uma linguagem da Web do lado do servidor.