2015/06/19

Bitcode é o grande trunfo da Apple para o futuro?


A WWDC da Apple é um evento para developers, e uma das novidades que foi apresentada foi o Bitcode, um sistema que permitirá à Apple tornar-se independente do hardware utilizado... e que poderá significar que a empresa está a prever grandes mudanças para o futuro.

Os computadores podem ser excelentes a processar milhares de milhões de operações por segundo, mas têm a pequena particularidade de não falarem a mesma língua que nós. Para os programarmos utilizamos linguagens de programação, que na verdade também não são percebidas pelos CPUs. Para que os computadores entendam os nossos programas é necessário utilizar um compilador, que transforma as instruções "em texto" em instruções em código máquina, que o CPU pode digerir.

O problema desta abordagem é que um programa compilado funciona apenas no CPU para o qual foi concebido (ou CPUs compatíveis), não podendo ser executado noutros CPUs, nem tão pouco tirar partido de novas funções que uma versão mais avançada do CPU venha a disponibilizar (a não ser que os developers recompilem o seu programa para dele tirar partido).

Com o Bitcode, a Apple quer livrar-se dessa dependência. A ideia é que em vez de os programas serem compilados para o código máquina final, o sejam para uma linguagem intermédia - o Bitcode. Com esta linguagem intermédia, os developers não têm que revelar o código fonte, mas a Apple ganha a possibilidade de a poder recompilar para qualquer qualquer dispositivo actual ou futuro, incluindo a tal capacidade de poder tirar partido de novas funcionalidades de CPUs mais avançados, ou até de fazer com que o programa corra num CPU completamente diferente (por exemplo, uma Apple TV que recorra a um chip Intel em vez de um chip ARM).

De certa forma, é idêntico ao que o Java ou o .NET fazem, com a diferença de que no caso da Apple a compilação fica exclusivamente a seu cargo e os utilizadores recebem apenas as versões finais compiladas, e não os programas nessa linguagem intermédia. (Nos Androids mais recentes, o Google recorre a uma compilação/optimização das apps, mas sendo feita no próprio dispositivo.)


A grande questão é: porque motivo decidiu a Apple fazer este Bitcode? Será que é apenas em jeito de precaução, para garantir que todos os milhões de apps existentes poderão continuar a funcionar nos equipamentos das próximas gerações com capacidades que por agora não se imaginam? Ou será que que está a planear qualquer coisa para mais curto prazo, e onde se torne indispensável recorrer a uma solução técnica deste género?

... Só o tempo o dirá.

2 comentários:

  1. Isto traz o iPad para bem mais perto do Macbook.

    Bitaite: Sou gajo para acreditar que a próxima versão do Macbook 12" virá com touchscreen :)

    ResponderEliminar
  2. eu apostaria mais no abandono dos cpus da intel e passagem para um cpu Apple A qq coisa desktop :-)

    ResponderEliminar