Linguagens de programação aprendidas e por aprender (1)

Eu curto bastante aprender linguagens de programação diferentes. Os principais motivos pra estudar linguagens de programação são:

  1. Aprender novas maneiras de pensar (este é o motivo mais importante), novas construções e ocasionalmente bibliotecas interesssantes.
  2. Já ir conhecendo algo que eu possa usar no futuro, sem ficar naquela história de usar sempre as mesmas ferramentas ainda que elas sejam pouco adequadas.

Eu já tenho uma lista de linguagens na minha fila: D, OCaml, Haskell, Ruby, e por que não PHP, C#, PL/SQL e mais sobre Java (mas não estou tão empolgado sobre estas últimas duas)…

O difícil é arranjar algo pra fazer com a linguagem aprendida. Porque sem programar, não dá pra aprender direito. Tem que ser um (ou mais) programa(s) interessante(s), porque traduzir de outra linguagem não tem tanta graça. Da última vez que eu estava à procura de uma linguagem pra aprender, acabei me decidindo por Python.

Bah, com isso virei fã da linguagem Python. Aprendi um monte sobre ela e também aprendi sobre a biblioteca wxWidgets (na época wxWindows). Gostei da grande quantidade de bibliotecas (tanto as incluídas e as adicionais), da portabilidade, do resultado final do programa (o wxWidgets cria programas com aparência nativa do sistema, e o py2exe cria executáveis pra Windows). É curioso que, com tantas linguagens criadas por aí, tão poucas tenham sintaxe tão simples, quase um pseudo-código. Das que eu conheço, apenas Lua (que eu já conhecia antes) e Python têm sintaxes tão limpas. Ruby também é legal, mas tem algumas coisas que lembram Perl… Por que será que os criadores de linguagens, com essas raras exceções, acabam adicionando coisas “feias” ou “malucas” nas suas linguagens?

Anúncios

5 pensamentos sobre “Linguagens de programação aprendidas e por aprender (1)

  1. Olá Marcus, também gosto de estudar linguagens de programação. Até hoje a linguagem de uso geral que mais gostava era Python. A concisão e clareza do Python são fantásticas. Entretanto, algumas coisas poderiam ser melhores, tais como a velocidade de execução, a tipagem estática opcional e o controverso uso do “self”. Recentemente comecei a estudar duas linguagens derivadas de Python, que parecem aperfeiçoar o que já era excelente, Boo e Cobra. Gostaria de trocar algumas idéias sobre elas.

    • Oi! Já li um pouco sobre Boo e me pareceu muito boa. Muito parecido com o que eu faria se fosse criar uma linguagem. Mas não cheguei a programar nela. Sobre Cobra, eu nunca tinha ouvido falar, vou me informar um pouco. Se quiser falar comigo, é só escrever!

      Um ponto que me incomodou um pouco em Python foi a falta de declaração “private”. Não que eu ache isso um recurso dos mais importantes de uma linguagem, mas a alternativa oferecida pelo Python (começar o nome do membro com “__”) é muito ruim porque exige um “localizar e substituir” a cada vez que você mudar de idéia sobre a visibilidade de um membro. No fim, eu preferia deixar tudo público, mas considerando que atributos novos podem ser criados dinamicamente até mesmo fora da classe, eu gostaria de ter uma proteção melhor sobre os detalhes de implementação das minhas classes.

      O uso do super() também era complicado, porque exigia copiar o nome da classe e usar o self não sei quantas vezes, mas deram umas simplificadas nas versões mais recentes.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s