Gilad Bracha - Gilad Bracha

Gilad Bracha
Gilad Bracha lang.NET 2006.jpg
Gilad Bracha 2006
Alma mater Universidade de Utah
Carreira científica
Tese The Programming Language 'Jigsaw': Mixins, Modularity and Multiple Inheritance  (1991)
Orientador de doutorado Gary Lindstrom
Local na rede Internet http://www.bracha.org/

Gilad Bracha é o criador da linguagem de programação Newspeak , engenheiro de software da F5 Networks e ex-engenheiro de software do Google, onde trabalhou na equipe de linguagem de programação Dart . Ele é coautor da segunda e terceira edições da Java Language Specification e um dos principais contribuidores da segunda edição da Java Virtual Machine Specification.

Entre 1994 e 1997, trabalhou no sistema Smalltalk desenvolvido pela Animorphic Systems, empresa que foi comprada pela Sun em 1997. De 1997 a 2006, trabalhou na Sun Microsystems como teólogo computacional e, a partir de 2005, engenheiro de destaque, em vários aspectos da especificação e implementação de Java. Em seguida, ele foi engenheiro destacado na Cadence Design Systems de 2006 a 2009, onde liderou uma equipe de desenvolvedores projetando e implementando o Novilíngua .

Bracha recebeu seu B.Sc. em matemática e ciência da computação pela Ben Gurion University em Israel e seu Ph.D. em ciência da computação pela Universidade de Utah . Bracha ganhou o Prêmio Dahl – Nygaard Sênior em 2017.

Fechamentos BGGA

Em 2006, Gilad Bracha juntamente com Neal Gafter , James Gosling e Peter von der Ahé (coletivamente BGGA) elaboraram uma especificação para adicionar fechamentos à linguagem de programação Java versão 6. A proposta foi criticada por Joshua Bloch por ser desnecessariamente complexa (adicionando tipos de função e retornos não locais) enquanto fornece poucos benefícios para o programador Java médio em relação a outras propostas mais simples. Os closures foram adicionados ao Java 8 , mas com base em uma proposta diferente da BGGA.

Sistemas de tipo plugável

Foi proposto por Bracha que a escolha do sistema de tipo seja feita independentemente da escolha do idioma; que um sistema de tipo deve ser um módulo que pode ser "plugado" em um idioma conforme necessário. Ele acredita que isso é vantajoso, porque o que ele chama de sistemas de tipos obrigatórios tornam as linguagens menos expressivas e o código mais frágil. O requisito de que os tipos não afetam a semântica da linguagem é um desafio de cumprir; por exemplo, construções como sobrecarga baseada em tipo não são permitidas.

Na prática, os sistemas de tipos conectáveis ​​são chamados de tipagem opcional, sugestão de tipo, anotações de tipo ou verificação gradual de tipo. Eles tendem a ser construídos adicionando um sistema de tipo estático a uma linguagem existente dinamicamente tipada sem alterar sua semântica e geralmente mantendo a sintaxe inalterada também. Os exemplos incluem Smalltalk, Python 3, Ruby, Clojure e PHP 5. Para a maioria das linguagens, há apenas uma implementação do sistema de tipos. A exceção é o Python 3, onde o sistema de tipos é verdadeiramente plugável, porque existem várias implementações e o programador pode usar aquela que melhor se ajusta. A única linguagem projetada com um sistema de tipos plugável em mente desde o início é o Novilíngua. Java 8 fornece a capacidade de estender o sistema de tipos, mas não permite flexibilidade nos fundamentos do sistema de tipos, como escolher entre tipagem estática e dinâmica.

Java genérico

Um artigo de 1998 de autoria de Bracha afirma que os moldes inseridos pela tradução [dos genéricos] têm garantia de não falhar. Embora inicialmente verdadeiro, curingas foram adicionados e tornaram o sistema de tipos incorreto .

Referências

links externos