2007-12-27

Aprender programação

Na minha opinião todos os futuros programadores deviam começar com a linguagem de maior futuro no mundo da tecnologia: Smalltalk. Infelizmente não foi o meu caso, e assim tive que passar anos no deserto até a descobrir. Mas para se perceber isto, basta dizer que a revolução da Apple baseou-se (e baseia-se ainda hoje) numa demonstração de Smalltalk que Steve Jobs assistiu em finais dos anos 70.

Smalltalk não é apenas uma linguagem, mas um sistema completo ao qual o programador tem total acesso. Smalltalk foi inventada para ser um sistema operativo com hardware específico, mas hoje em dia vive por cima do Windows, Linux ou Mac. É um sistema, é uma linguagem, é o IDE mais impressionante que já vi.

Smalltalk não atingiu a popularidade das outras linguagens porque no passado esteve limitada por uma licença caríssima. Foi devido a isso aliás que Java foi criada. Quase todas as linguagens de programação de hoje copiaram ideias de Smalltalk e, após 25 anos, ainda não conseguiram replicar boa parte dos seus conceitos. Java, C++, C#, Objective-C, Ruby, todas elas foram buscar alguns conceitos à Smalltalk, mas que reproduziram pobremente.

Com uma comunidade em crescimento, a linguagem mais espectacular de sempre está bem viva através do Squeak, uma implementação livremente disponível e desenvolvida pelos próprios criadores da linguagem. Há também implementações comerciais interessantes. O projecto OLPC (One Laptop per Child) contém um sistema Squeak, dado o seu potencial na área da Educação - daí que a linguagem tenha futuro garantido.

Como se não bastasse, um excelente livro para aprender programação é o Squeak by Example, o livro que gostaria de ter lido há 15 anos atrás, mas que só agora foi escrito.

2 comentários:

  1. Embora começando pela Educação, estamos a tentar rumar no mesmo sentido? (www.squeaklandia.pt)
    Peço-lhe que autorize a citação deste post.

    ResponderEliminar
  2. Luís,

    Obrigado pelo comentário. Fiquei impressionado pela iniciativa do Squeaklândia. É claro que pode citar o post da maneira que desejar.

    ResponderEliminar