MarketGilad Bracha
Company Profile

Gilad Bracha

Gilad Bracha is a software engineer at F5, and formerly at Google, where he was on the Dart programming language team. He is creator of the Newspeak language, and co-author of the second and third editions of the Java Language Specification, and a major contributor to the second edition of the Java Virtual Machine Specification.

BGGA closures
In 2006, Bracha, with Neal Gafter, James Gosling, and Peter von der Ahé (collectively BGGA), drafted a specification for adding closures to the Java language, version 6. The proposal has been criticized by Joshua Bloch on terms of being needlessly complex (adding function types and non-local returns) while providing little benefit for the average Java programmer over other simpler proposals. Closures were added to Java 8, but based on a different proposal than the BGGA one. ==Pluggable type systems==
Pluggable type systems
Bracha proposes that choice of type system be made independent of choice of language; that these type systems should be co-existing modules that "plug" into said language as needed. He believes this is advantageous, because what he calls mandatory type systems make languages less expressive and code more fragile. The requirement that types do not affect the semantics of the language is challenging to fulfill; for example, constructs like type-based overloading are disallowed. Pluggable type systems are similar to other categories of type systems, such as optional typing, type hinting, type annotations, and gradual type checking. The difference lies in allowing for multiple type systems to co-exist in the same codebase. Examples of these similar type approaches include Smalltalk, Python 3, Ruby, Clojure, and PHP 5. For most of the languages there is only one implementation of the type system. The exception is Python 3 where the type system is truly pluggable, because there are several implementations and the programmer can use the one that is the best fit. The only language designed with a pluggable type system from the start is Newspeak. Java 8 provides the ability to extend the type system, but does not allow flexibility in the basics of the type system, such as choosing between static and dynamic typing. ==References==
tickerdossier.comtickerdossier.substack.com