Linguagens de programação: O fundador do Java, James Gosling, revela mais sobre Java e Android

, Author

Popularidade das linguagens de programação: Python bate Java e Rust continua a subir

James Gosling, o pai do Java, uma das linguagens de programação mais usadas no mundo, falou com o cientista de pesquisa Lex Fridman sobre as origens do Java e suas motivações para criar uma linguagem que seria usada em dezenas de bilhões de aparelhos e se tornaria central para o desenvolvimento do Android no Google.

Gosling desenhou Java há 25 anos atrás enquanto estava na Sun Microsystems. Em 2009, Java seria uma das principais razões pelas quais a Oracle adquiriu a Sun. Segundo a Oracle, hoje existem 51 bilhões de máquinas virtuais Java (JVMs) ativas implantadas globalmente.

Mas muito antes da aquisição da Sun pela Oracle, Gosling disse que ele e uma equipe da Sun “estavam preocupados que havia coisas acontecendo no universo da computação que a indústria da computação estava perdendo” – o que se tornaria a Internet das Coisas de hoje.

VER: Kit de Contratação: Python developer (TechRepublic Premium)

“Era tudo sobre o que estava acontecendo em termos de hardware de computação, processadores e redes que estava fora da indústria da computação”, disse ele.

“Isso era tudo desde os primeiros vislumbres de telefones celulares que estavam acontecendo na época até – você olha para elevadores e locomotivas e sistemas de controle de processos em fábricas e todos os tipos de equipamentos de áudio e vídeo”.

“Todos eles tinham processadores, todos faziam coisas com eles e parecia que havia algo acontecendo lá que precisávamos entender”.

“Naquela fase, C e C++ “eram absolutamente donos do universo” e tudo estava a ser escrito naquelas línguas.

Gosling diz que a sua equipa fez várias “viagens épicas” por volta de 1990 para visitar a Toshiba, Sharp, Mitsubishi e Sony no Japão, Samsung e várias outras empresas sul-coreanas, e foi “por toda a Europa” para visitar empresas como a Philips, Siemens e Thomson.

“Uma das coisas que saltaram fora foi que eles estavam fazendo todas as coisas usuais de computador que as pessoas tinham feito 20 anos antes”, ele lembra.

“Eles estavam reinventando a rede de computadores e estavam cometendo todos os erros que as pessoas na indústria de computadores tinham cometido.

“Como fiz muito trabalho na área de networking, íamos visitar a empresa X que descreveria essa coisa de networking que eles estavam fazendo, e sem nada, eu poderia dizer a eles como 25 coisas que seriam desastres completos”.

Descobrir que a indústria fora do mundo da computação tradicional estava agora repetindo erros anteriores era uma das principais razões pelas quais Gosling e seus colegas pensavam que eles poderiam oferecer algo útil em Java.

No entanto, ele também percebeu que a indústria eletrônica de consumo e a indústria de computadores tinham uma visão muito diferente dos clientes, o que ajudou a informar como ele projetaria Java.

“No topo da lista estava aquele que via a sua relação com o cliente como sagrada. Eles nunca estavam dispostos a fazer concessões por segurança. Uma das coisas que sempre me deixou nervoso na indústria de computadores foi que as pessoas estavam dispostas a fazer trade-offs em confiabilidade para obter desempenho”, disse Gosling.

“Só de descobrir… como garantir que se você colocar um pedaço de torrada na torradeira, isso não vai matar o cliente”. Não vai explodir em chamas e incendiar a casa”, acrescentou ele.

Depois dessas viagens, Gosling e a empresa construíram um protótipo de sistema de controle em código C e C++ para produtos eletrônicos domésticos, como uma TV e um videocassete. A segurança foi uma consideração chave em seus objetivos para o que viria a ser Java.

“No início dos anos 90 foi bem entendido que a fonte número um de vulnerabilidades de segurança eram apenas indicadores, eram apenas bugs, como 50% a 60% a 70% eram bugs e a grande maioria deles eram como buffer overflows. Temos de ter a certeza de que isto não pode acontecer. E isso foi a coisa original para mim foi ‘Isto não pode continuar'”.

Mas no início deste ano, Gosling leu um relatório de notícias sobre a equipe Chromium descobrindo que 70% dos bugs de segurança na base de código Chrome eram bugs de gerenciamento de memória e segurança.

“O Chrome é como uma peça gigante de código C++. E 60% a 70% de todas as vulnerabilidades de segurança eram truques estúpidos de ponteiro. E eu pensei que fosse 30 anos depois e nós ainda estamos lá”, disse Gosling.

Além das considerações de segurança e proteção para Java, ele queria garantir “velocidade de desenvolvimento”.

“Eu fiquei muito religioso sobre isso porque eu tinha passado um tempo ímpio da minha vida caçando bugs de apontadores misteriosos”. Os misteriosos bugs de apontadores tendem a ser os mais difíceis de encontrar porque… os que machucam são um em um milhão de chances”, ele observa.

“Quando você está fazendo um bilhão de operações por segundo, significa que isso vai acontecer”. Eu me tornei religioso sobre se algo falha acontecer imediatamente e visivelmente. Uma das coisas que foi uma verdadeira atração do Java para muitas lojas de desenvolvimento foi que sabemos que colocamos nosso código em funcionamento duas vezes mais rápido”

VER: Stephen Hawking estava errado sobre a IA matando humanos (diz robô)

Object-oriented programming was also an important concept for Java, according to Gosling.

“Uma das coisas que você obtém da programação orientada a objetos é uma metodologia rigorosa sobre quais são as interfaces entre as coisas e ser realmente claro sobre como as partes se relacionam umas com as outras”

Isso ajuda a lidar com situações quando um desenvolvedor tenta “esgueirar-se” e quebra código para outro usuário.

Ele admite que chateia algumas pessoas, impedindo que os desenvolvedores usem backdoors. Foi uma coisa de “engenharia social”, mas diz que as pessoas descobriram que a restrição fez diferença ao construir grandes e complexos pedaços de software com muitos colaboradores em várias organizações. Ele deu a essas equipes clareza sobre como essas coisas se estruturam e “salva sua vida”.

Ele ofereceu uma breve crítica sobre o manuseio do antigo chefe Andy Rubin do Java no desenvolvimento do Android. Gosling em 2011 teve uma breve passagem pelo Google após a aquisição da Sun pela Oracle. O processo da Oracle contra o Google por seu uso de APIs Java ainda não está totalmente resolvido após uma década de audiências em tribunal.

“Estou feliz por tê-lo feito”, disse Gosling, referindo-se ao seu uso de Java no Android. “Java estava rodando em telefones celulares há alguns anos e funcionava muito, muito bem”. Havia coisas sobre como eles o faziam, em particular várias formas que eles meio que violavam todos os tipos de contratos”.

“O tipo que o liderou, Andy Rubin, atravessou muitas linhas. Foram cruzadas linhas que desde então se transformaram em processos judiciais gigantescos. não precisavam fazer isso e na verdade teria sido muito mais barato para eles não cruzarem linhas”, acrescentou ele.

“Eu vim a acreditar que não importava o que o Android fazia, ele ia explodir”. Comecei a pensar como um fabricante de bombas”

jamesgoslingusergroupsatgoogleyoutubeb.jpg

James Gosling”: “As pessoas estavam dispostas a fazer concessões em termos de fiabilidade para obter desempenho.”

Imagem: James Gosling/UserGroupsAtGoogle/YouTube

Deixe uma resposta

O seu endereço de email não será publicado.