Há pouco mais de 7 anos atrás, em 2005, comecei a desempenhar funções no Instituto de Tecnologias de Informação na Justiça. Um dos problemas com que nos deparámos de imediato foi a multiplicidade de tecnologias usadas: em sistemas operativos, Windows, Linux, z/OS, AIX e outros; em bases de dados, Oracle, MySQL, MS SQL, DB2 e inclusive Lotus Notes; em termos de linguagens de programação, Cobol, .NET, PHP, Javascript. Uma das prioridades que estabelecemos então foi o tentar diminuir essa multiplicidade.
Os casos de sistemas operativos e de bases de dados foram mais fáceis de resolver. O escolher uma linguagem de programação unificada foi mais complicado. O processo de análise que fiz levou-me a concluir que essa linguagem de programação seria o Javascript, embora não fosse essa a escolha final para o ITIJ, por razões organizacionais.
Sim, também eu achava que o Javascript era uma linguagem para o frontend, que era fracota, que era lenta, que nunca iria substituir o PHP, o Python ou o Perl no backend. E, no entanto, tudo apontava para que de facto fosse a Next Big Language: a maior base instalada do mundo, desde telemóveis a milhões de websites, o maior número de programadores do mundo, com mais ou menos competência, uma linguagem com familiaridade sintática com o C, e com uma familiaridade de paradigma com as linguagens funcionais como o Lisp ou o Erlang. Note-se: o Javascript não tem rigorosamente nada a ver com Java.
Na altura fiz uma apresentação no âmbito do projecto Asterisco onde chegava precisamente a essa conclusão e a encontrar algo que estava esquecido: o Javascript podia ser uma linguagem de backend, substituindo o PHP/Perl/Python. No meio da década de 90 a Netscape chegou a ter uma solução dessas de seu nome Livewire. Começavam também a aparecer algumas implementações de Javascript serverside como o Helma ou o Rhino.
A partir dessa altura a utilização do Javascript do lado do servidor começou a aumentar de mês para mês. Em 2008, no Codebits, cheguei a lançar o desafio da criação de um framework web que utilizasse Javascript desde o nivel no sistema do servidor até ao web browser no frontend, tendo referido também a grande oportunidade de negócio que isso representava. De há um ano e meio para cá esse crescimento do Javascript foi notório, para o qual ajudou o aparecimento do Node.js e de múltiplos frameworks de desenvolvimento web.
Contra todos os velhos do Restelo, o Javascript transformou-se numa alternativa sólido tanto do lado do servidor como do lado do frontend, estando já a substituir o próprio Flash, quando conjugado com as tecnologias genericamente designadas como HTML5.
Mais recentemente tem-se observado um outro fenómeno extremamente relevante: o Javascript está a transformar-se no Assembler da Internet. Neste último ano multiplicaram-se as linguagens que, diferentes do Javascript, são no entanto compiladas para Javascript. Como exemplos refiram-se o Go, o Objective-J, o CoffeeScript, o TypeScript e até o C/C++.
Sete anos depois das minhas reflexões, está mais do que claro qual é a Next Big Language: foi o Javascript que ganhou essa guerra.
Só uma pequena correcção – no penúltimo parágrafo onde referes Go deves querer dizer Dart, outra linguagem originada na Google.
Cumprimentos.