Gilad Bracha
   HOME

TheInfoList



OR:

Gilad Bracha is a
software engineer Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term ''p ...
at
F5 Networks F5, Inc. is an American technology company specializing in application security, multi-cloud management, online fraud prevention, application delivery networking (ADN), application availability & performance, network security, and access & auth ...
, and formerly at
Google Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
, where he was on the
Dart Dart or DART may refer to: * Dart, the equipment in the game of darts Arts, entertainment and media * Dart (comics), an Image Comics superhero * Dart, a character from ''G.I. Joe'' * Dart, a ''Thomas & Friends'' railway engine character * Da ...
programming language team. He is creator of the
Newspeak Newspeak is the fictional language of Oceania, a totalitarian superstate that is the setting of the 1949 dystopian novel ''Nineteen Eighty-Four'', by George Orwell. In the novel, the Party created Newspeak to meet the ideological requirements ...
language, and co-author of the second and third editions of the
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
Language Specification, and a major contributor to the second edition of the
Java Virtual Machine A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describe ...
Specification. Between 1994 and 1997, he worked on the
Smalltalk Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by Alan ...
system developed by Animorphic Systems, a company that was bought by Sun in 1997. From 1997 to 2006, he worked at
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, t ...
as computational theologist and, as of 2005, distinguished engineer, on various aspects of the specification and implementation of Java.Gilad Bracha’s CV
/ref> Following that, he was distinguished engineer at
Cadence Design Systems Cadence Design Systems, Inc. (stylized as cādence), headquartered in San Jose, California, is an American multinational computational software company, founded in 1988 by the merger of SDA Systems and ECAD, Inc. The company produces software, ...
from 2006 to 2009, where he led a team of developers designing and implementing
Newspeak Newspeak is the fictional language of Oceania, a totalitarian superstate that is the setting of the 1949 dystopian novel ''Nineteen Eighty-Four'', by George Orwell. In the novel, the Party created Newspeak to meet the ideological requirements ...
. Bracha received his B.Sc. in
mathematics Mathematics is an area of knowledge that includes the topics of numbers, formulas and related structures, shapes and the spaces in which they are contained, and quantities and their changes. These topics are represented in modern mathematics ...
and
computer science Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to Applied science, practical discipli ...
from
Ben Gurion University Ben-Gurion University of the Negev (BGU) ( he, אוניברסיטת בן-גוריון בנגב, ''Universitat Ben-Guriyon baNegev'') is a public research university in Beersheba, Israel. Ben-Gurion University of the Negev has five campuses: the ...
in
Israel Israel (; he, יִשְׂרָאֵל, ; ar, إِسْرَائِيل, ), officially the State of Israel ( he, מְדִינַת יִשְׂרָאֵל, label=none, translit=Medīnat Yīsrāʾēl; ), is a country in Western Asia. It is situated ...
and his Ph.D. in computer science from the
University of Utah The University of Utah (U of U, UofU, or simply The U) is a public research university in Salt Lake City, Utah. It is the flagship institution of the Utah System of Higher Education. The university was established in 1850 as the University of De ...
. Bracha won the Senior
Dahl–Nygaard Prize The Dahl–Nygaard Prize is awarded annually to a senior researcher with outstanding career contributions and a younger researcher who has demonstrated great potential. The senior prize is recognized as one of the most prestigious prizes in the are ...
in 2017.


BGGA closures

In 2006, Bracha, with Neal Gafter,
James Gosling James Gosling (born May 19, 1955) is a Canadian computer scientist, best known as the founder and lead designer behind the Java programming language. Gosling was elected a member of the National Academy of Engineering in 2004 for the conception ...
, 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 Joshua J. Bloch (born August 28, 1961) is an American software engineer and a technology author, formerly employed at Sun Microsystems and Google. He led the design and implementation of numerous Java platform features, including the Java Collect ...
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 The Java language has undergone several changes since JDK 1.0 as well as numerous additions of classes and packages to the standard library. Since J2SE 1.4, the evolution of the Java language has been governed by the Java Community ...
, but based on a different proposal than the BGGA one.


Pluggable type systems

Bracha proposed that choice of
type system In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a type to every "term" (a word, phrase, or other set of symbols). Usually the terms are various constructs of a computer progra ...
be made independent of choice of language; that a type system should be a module that can be " plugged" into a 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. In practice, pluggable type systems are variously called optional typing, type hinting, type annotations, or gradual type checking. They tend to be constructed by adding a static type system to an extant dynamically typed language without changing its semantics and usually its syntax. Examples include Smalltalk,
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
3,
Ruby A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called ...
, 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


External links

*
Bracha’s blog

Bracha’s old blog at Sun
{{DEFAULTSORT:Bracha, Gilad Year of birth missing (living people) Living people American computer programmers American software engineers Sun Microsystems people Ben-Gurion University of the Negev alumni University of Utah alumni Dahl–Nygaard Prize