길라드 브라차

Gilad Bracha
길라드 브라차
Gilad Bracha lang.NET 2006.jpg
길라드 브라차 2006
모교유타 대학교
어워드시니어 달-나이거드상(2017)
과학 경력
필드컴퓨터 공학
기관애니모픽 시스템
Sun Microsystems
케이던스 설계 시스템
구글
F5 네트워크
논문프로그래밍 언어 Jigsaw: Mixins, Modularity 및 Multiple Inheritation (1991)
박사 어드바이저게리 린드스트롬
웹 사이트www.bracha.org

Gilad Bracha는 F5 Networks의 소프트웨어 엔지니어이며, 이전에는 Google에서 Dart 프로그래밍 언어 [1][2][3]팀에 있었습니다.는 Newspeak 언어의 작성자이자 Java Language [4]Specification의 제2판과 제3판의 공동 저자이자 Java Virtual Machine [5]Specification의 제2판의 주요 공헌자입니다.

1994년부터 1997년까지 그는 썬이 1997년에 인수한 애니모픽 [6]시스템즈사가 개발한 Smalltalk 시스템에서 일했다.1997년부터 2006년까지 Sun Microsystems에서 컴퓨터 신학자로 일했으며 2005년에는 저명한 엔지니어로 Java의 [6]사양과 구현의 다양한 측면에 종사했습니다.그 후 2006년부터 2009년까지 Cadence Design Systems에서 저명한 엔지니어로 재직하며 Newspeak 설계 [6]구현 개발자 팀을 이끌었습니다.

브라차는 B학점을 받았다.이스라엘 Ben Gurion University에서 수학컴퓨터 공학 학사, [7]유타 대학교에서 컴퓨터 공학 박사 학위를 취득했습니다.브라차는 2017년 시니어 달-니고르 상을 수상했다.

BGGA 폐쇄

2006년 Bracha는 Neal Gafter, James Gosling, Peter von der Ahé(총칭 BGGA)와 함께 Java 언어 버전 [8]6에 폐쇄를 추가하기 위한 사양서 초안을 작성했습니다.Joshua Bloch는 이 제안이 불필요하게 복잡하다는 점(함수 유형 추가 및 로컬 이외의 반환)에 대해 비판해 왔지만, 일반적인 Java 프로그래머에게는 다른 단순한 [9]제안보다 이점이 거의 없다.Java 8에 폐쇄 기능이 추가되었지만, BGGA와는 다른 제안에 기초하고 있습니다.

플러그형 시스템

Bracha는 타입 시스템의 선택을 언어의 선택과 독립적으로 할 것을 제안했습니다.타입 시스템은 필요에 따라 언어에 "플러그"할 수 있는 모듈이어야 합니다.그는 이것이 유리하다고 생각한다. 왜냐하면 그가 의무적 유형 시스템이라고 부르는 것이 언어를 덜 표현하고 코드를 더 [10]취약하게 만들기 때문이다.타입이 언어의 의미에 영향을 주지 않는다는 요건은 충족하기 어렵습니다.예를 들어 타입 기반의 오버로드와 같은 구조는 허용되지 않습니다.

실제로 플러그형 시스템은 옵션 타이핑, 유형 힌트, 유형 주석 또는 점진적 유형 검사라고 다양하게 불립니다.이들은 의미론 및 일반적으로 구문을 변경하지 않고 기존 동적 유형 언어에 정적 유형 시스템을 추가함으로써 구성되는 경향이 있습니다.를 들어 Smalltalk,[11] Python [12][13]3, [14]Ruby, Clojure,[15] PHP [16]5 등이 있습니다.대부분의 언어에서 타입 시스템은 1개만 구현되어 있습니다.Python 3은 예외로 타입 시스템이 진정으로 플러그가 가능한데, 이는 여러 가지 구현이 있고 프로그래머가 가장 적합한 것을 사용할 수 있기 때문이다.처음부터 플러그형 시스템으로 설계된 언어는 뉴스피크뿐입니다.Java 8은 타입 시스템을 확장할 수 있는 기능을 제공하지만, 타입 시스템의 기본에서 정적 타이핑과 동적 타이핑 [17]중 하나를 선택하는 등의 유연성을 허용하지 않습니다.

범용 자바

1998년 Bracha가 작성한 논문에 따르면 [제너믹스]번역을 통해 삽입된 캐스트[18]실패하지 않는다고 합니다.처음에는 참이었지만 와일드카드가 추가되어 타입 시스템[19]비사운드 상태가 되었습니다.

레퍼런스

  1. ^ "Gilad Bracha". Archived from the original on 2012-04-02. Retrieved 2012-03-15.
  2. ^ Gilad Bracha와의 채널9 인터뷰(mp3)
  3. ^ https://www.linkedin.com/in/gbracha/[자체 확인 소스]
  4. ^ Bracha, Gilad. "The Java Language Specification" (3rd ed.). Oracle. Archived from the original on 2014-10-31.
  5. ^ Bracha, Gilad. "Preface". The Java Virtual Machine Specification (2nd ed.). Oracle. Archived from the original on 2014-07-11.
  6. ^ a b c 길라드 브라차의 이력서
  7. ^ 브라차의 '바이오 블러브
  8. ^ "Closures (Lambda Expressions) for the Java Programming Language".
  9. ^ Bloch, Joshua (8 April 2009). The Closures Controversy (Speech). Javapolis '07. Archived from the original on 4 February 2015. Retrieved 3 February 2015.
  10. ^ Bracha, G.: 플러그형 타입
  11. ^ "Google Code Archive – Long-term storage for Google Code Project Hosting".
  12. ^ "PEP 3107 – Function Annotations".
  13. ^ "PyContracts – PyContracts 1.7.16 documentation".
  14. ^ "Gradual Type Checking for Ruby". 6 May 2014.
  15. ^ "Home – clojure/Core.typed Wiki". GitHub.
  16. ^ "Type Hinting". Archived from the original on 2014-10-18. Retrieved 2014-10-18.
  17. ^ "Type Annotations and Pluggable Type Systems". Oracle.
  18. ^ Bracha, Gilad; Odersky, Martin; Stoutamire, David; Wadler, Philip (October 1998). Making the future safe for the past: Adding Genericity to the Java Programming Language. OOPSLA 98. Vancouver, Canada.
  19. ^ Amin, Nada; Tate, Ross. "Java and Scala's Type Systems are Unsound" (PDF).

외부 링크