You are currently browsing the archives for the ioke category


Quer saber onde será seu próximo trabalho?

Então não deixe de visitar…

O site é recém-nascido, mas já tem uns recursos bem legais, como sistema de pesquisa por palavras-chave, núvem de tags e entre outros. Vale a pena conferir e acompanhar sua evolução – e oportunidades de bons trabalhos.

Mais uma iniciativa bem interessante da Caelum. :)

Entrevista com Ola Bini: Ioke, JVM, .NET e mais!

Quem me conhece há algum tempo ou acompanha este meu blog, sabe que eu sou totalmente meio fissurado por linguagens de programação. Sempre estou dando uma olhada em uma aqui e outra ali. Lendo, fuçando…

Mas tem um cara que com certeza é ainda muito mais fissurado em linguagens de programação do que eu - e diferente de mim, manja pra caramba. Esse cara é o Ola Bini, membro do core team do JRuby, consultor da ThoughtWorks, escritor do livro JRuby on Rails, membro do expert group da JSR-292 e criador da linguagem Ioke.

Bem, como não podia deixar de ser, eu resolvi fazer uma pequena entrevista com ele sobre Ioke, linguagens para a JVM e a Microsoft CLR, e uma coisinha ou duas mais. Confira!

Ola Bini e nosso compatriota Fábio Akita

Ola Bini e o nosso patrício Fábio Akita (QCon 2008)

Fale-nos um pouco sobre sua paixão por linguagens de programação. Quando isto começou? O que mais te motivou?

Oh wow. Boa pergunta. Eu não sei quando isto começou. Em algum momento obscuro do passado – muito longe para me lembrar. =)

Eu comecei bem cedo, com Basic no Apple IIc. Fiz muito C e assembler na minha adolecencia, e então, aprendi C++, Java e Lisp.

Penso que minha atual facinação por linguagens começou quanto eu percebi como diferentes linguagens são e como muitas coisas ruins são usadas. Esta percepção levou algum tempo, mas ficou cada vez maior.

Eu comecei com a implementação de outra linguagem há 5-6 anos atrás.

Além de contribuir com o projeto JRuby, você também criou a linguagem Ioke do zero. O que você tem a dizer sobre a JVM com plataforma para outras linguagens (além da linguagem Java)?

Sim. Então, a JVM é uma excelente plataforma para linguagens. Você tem um JIT muito maduro no Hotspot. Você tem garbage collectors fantásticos; e você tem um monte de bibliotecas e ferramentas disponíveis. A parte ruim é que a JVM atualmente está muito amarrada a linguagens que se parecem com Java, no nível do bytecode. É possível contornar isto, e nós estamos trabalhando na JSR292 para dar suporte a invocações dinâmicas na JVM.

Mas atualmente a JVM ainda está um bocado ligada a linguagens como Java. Isto não é necessário a tudo (muitas das tecnologias Java começaram em Smalltalk e Strongtalk).

Você acredita que a linguagem Java está caminhando para se tornar em uma linguagem de infra-estrutura? (Uma linguagem para escrever linguagens e outros componentes críticos de infra-estrutura.)

Espero que sim. Java não é uma boa linguagem para escrever aplicações – ela é realmente muito baixo nível.

Sobre Ioke. O que levou você a começar o projeto desta linguagem? Onde você pensa chegar com ela? O que você planeja para o futuro de Ioke?

Basicamente, a ideia com Ioke é ver o quão expressiva você pode fazer uma linguagem; e isto é o que tenho feito. Isto tem dado características linguísticas bastante avançadas; você pode fazer coisas nela que muitas pessoas inicialmente tem problemas para entender – mas ela permite você escrever código bastante sucinto e legível, que capture suas intenções.

O que acontecerá exatamente no futuro está no ar. Tenho muitas idéias, mas nada concreto no momento.

Recentemente, você também portou a linguagem Ioke para a Microsoft CLR. O que te motivou a fazer isto? O que você pensa sobre a plataform Microsft .NET como plataforma host para novas linguagens?

Sim! Eu fiz isto porque não queria que Ioke fosse somente uma linguagem da JVM. Queria ver como a CLR funcionaria para implementa-la e queria amplicar um pouco a base de usuário. A plataforma .NET é mais ou menos tão boa quanto a JVM. Algumas coisas são piores, outras são melhores.

O que você recomenda a aqueles que gostariam de, como você, serem designers de linguagens para a JVM? Esta recomendação seria mais ou menos a mesma para a plataforma .NET?

Há duas coisas que você precisa fazer. A primeira é ter uma boa idéia de como diferentes linguagens funcionam. Você precisa aprender linguagens de diferentes paradigmas e tentar entender como elas podem ser implementadas. Então, você precisa começar a fazer. Esta é a parte mais importante.

Comece realmente a implementar e ver o que acontece.

Finalmente, sinta-se à vontade para dizer o que quiser sobre Ioke.

Ela é muito “louca”. Ela é expressiva. Ela é muito lenta.

Penso que esta coisa de expressividade vai ser importante no futuro – já que nós estamos fazendo coisas mais e mais avançadas. Texto não escala se não podemos ter uma abstração estrutural (1). Ioke permite isto.

(1) N.T.: O que o Ola Bini quis dizer é que “texto, por si só, não pode ir a um nível superior, não pode evoluir, crescer, se não pudermos ter uma abstração estrutural sobre ele”. :)

Acho que Ola Bini não dorme!

Ola Bini publicou hoje em seu blog um roadmap para sua mais nova criação, a linguagem de programação Ioke.

Ioke é, nas palavras do próprio Ola Bini, uma lingagem de programação fortemente tipada, orientada a objetos baseada em protótipos, bastante inspirada em Io, SmallTalk, Self, Ruby e Lisp (especialmente Common Lisp). Atualmente, ela está implementada em Java e rodar unicamente na JVM.

Nesse roadmap, Ola Bini anuncia que a primeira release será chamada 0 (sim, zero), e deverá ser publicada até no máximo o Natal.

Se você quiser acompanhar a evolução de Ioke, você pode segui-la no GitHub.

Agora fica a pergunta: Esse Ola Bini não dorme, não?