quarta-feira, março 09, 2005

Wish List para a linguagem ideal (revisada)

Wish List atualizada, novos itens em negrito Será que Python atende tudo isso?
       
  1. Closures.
  2.    
  3. OPCIONALMENTE tipada. Isso mesmo, nem dinâmicamente tipada nem estaticamente tipada, quero usar tipo qdo eu quiser. E mais, por conta disso tem que aceitar polimorfismo local.
  4.    
  5. Biblioteca decente para Coleções com suporte a Closures e uniformidade de métodos entre as coleções.
  6.    
  7. Suporte a slice nas coleções (subcoleções) e em arrays e similares.
  8.    
  9. Reflexão simples e funcional.
  10.    
  11. Puramente Orientada a Objeto. Classes tb tem que ser objetos.
  12.    
  13. Suporte a Expressões Regulares no padrão PERL, de preferência com muito açúcar sintático.
  14.    
  15. Suporte a slice em Strings, aliás, melhor, Strings com mesma interface que Array.
  16.    
  17. Biblioteca para Arquivos simples e funcional, PRINCIPALMENTE com facilidades para trabalhar arquivos texto. Nada de open - close, deve trabalhar com closures (padrão "during" do Smalltalk). Serialização opcional em CSV e XML tb ia ser legal.
  18.    
  19. Biblioteca para Banco de Dados simples e funcional. Também que ser capaz de trabalhar com closures naturalmente. Nada de open - close tosco, usar novamente o padrão "during" do Smalltalk.
  20.    
  21. Biblioteca para Rede simples e funcional. Suporte a closure, serialização e desserialização automática de qualquer objeto. Sockets do Java são um bom começo.
  22.    
  23. Suporte descente a Threads. A nova biblioteca do Java 1.5 parece boa, mas, adicionalmente, deveria ter uma estrutura especial de linguagem para indicar instruções que eu posso executar em paralelo daquelas que eu sou obrigado a executar sequencialmente. O trecho em paralelo tem que terminar todo antes de prosseguir para a próxima instrução sequencial. A JVM ou equivalente deveria aceitar um parâmetro de quantas paralelizações no máximo ela aceita e qdo esse limite chegar, executar sequencialmente as instruções que estão marcadas como "executáveis em paralelo". Se quiser ter uma boa idéia do que estou falando, veja as tags "sequential" e "parallel" do ANT.
  24.    
  25. Suporte MUITO simples e funcional a XML e processamento XSLT.

Nenhum comentário:

Postar um comentário