Joshua J. Bloch (geboren am 28. August 1961) ist ein US-amerikanischer Softwareingenieur und Technologieautor.

Er leitete die Entwicklung und Implementierung zahlreicher Java- Plattformfunktionen, darunter das Java Collections Framework, das Paket java.math und den Assert- Mechanismus. [ 1 ] Er ist Autor des Programmierhandbuchs Effective Java (2001), das mit dem Jolt Award 2001 ausgezeichnet wurde , [ 2 ] und Mitautor zweier weiterer Java-Bücher, Java Puzzlers (2005) und Java Concurrency In Practice (2006).

Bloch besitzt einen Bachelor of Science in Informatik von der Columbia University (School of Engineering and Applied Science) und einen Doktortitel in Informatik von der Carnegie Mellon University . [ 1 ] Seine Dissertation aus dem Jahr 1990 trug den Titel „A Practical Approach to Replication of Abstract Data Objects“ [ 3 ] und wurde für den ACM Distinguished Doctoral Dissertation Award nominiert. [ 4 ]

Bloch arbeitete zunächst als Senior Systems Designer bei Transarc und später als Distinguished Engineer bei Sun Microsystems . Im Juni 2004 verließ er Sun und wurde Chief Java Architect bei Google . [ 5 ] Am 3. August 2012 gab Bloch seinen Abschied von Google bekannt. [ 6 ]

Im Dezember 2004 nahm das Java Developer's Journal Bloch in seine Liste der „Top 40 Software-Persönlichkeiten der Welt“ auf. [ 7 ]

Bloch schlug die Erweiterung der Programmiersprache Java um zwei Funktionen vor: Concise Instance Creation Expressions (CICE) (gemeinsam mit Bob Lee und Doug Lea entwickelt ) und Automatic Resource Management (ARM)-Blöcke. Die Kombination von CICE und ARM war einer der drei frühen Vorschläge zur Unterstützung von Closures in Java. [ 8 ] ARM-Blöcke wurden mit JDK 7 in die Sprache eingeführt. [ 9 ]

Stand Februar 2025 ist Bloch als Professor of Practice am Department für Software und gesellschaftliche Systeme der Carnegie Mellon University gelistet . [ 10 ]

Bibliographie

  • Effektives Java: Programmiersprachenleitfaden , ISBN 0-201-31005-8, 2001; zweite Auflage: ISBN 978-0-321-35668-0, 2008; dritte Auflage: ISBN 978-0134685991, 2017
  • Java-Rätsel: Fallen, Tücken und Sonderfälle , ISBN 0-321-33678-X, 2005 (gemeinsam mit Neal Gafter verfasst)
  • Java Concurrency in Practice , ISBN 0-321-34960-1, 2006 (gemeinsam verfasst mit Brian Goetz, Tim Peierls, Joseph Bowbeer, David Holmes und Doug Lea )
  • Joshua Bloch (2006). „Wie man eine gute API entwirft und warum das wichtig ist“ . Begleitband zur 21. ACM SIGPLAN-Konferenz über objektorientierte Programmiersysteme, Sprachen und Anwendungen – OOPSLA '06 . doi : 10.1145/1176617.1176622 . Wikidata  Q56602059 .

Referenzen

  1. ^ a b „Über den Autor“ , Leitfaden zur effektiven Java-Programmierung
  2. ^ Gewinner des Jolt & Productivity Award 2002. Archiviert am 03.05.2007 in der Wayback Machine . Dr. Dobbs Portal.
  3. ^ Ein praktischer Ansatz zur Replikation abstrakter Datenobjekte . Fachbereich Informatik, Fakultät für Informatik, Carnegie Mellon University. Mai 1990.
  4. ^ Bücher & Autoren: Effektives Java , abgerufen am 16. April 2008
  5. ^ Heiss, Janet J. (2007). „Rock Star Josh Bloch“ . JavaOne . Archiviert vom Original am 27. Oktober 2007.
  6. ^ Joshua Bloch, Nach acht Jahren bei Google ist es für mich an der Zeit, weiterzuziehen
  7. ^ Geelan, Jeremy (21.12.2004). „The i-Technology Right Stuff“ . Java Developer's Journal . Archiviert vom Original am 22.04.2008 . Abgerufen am 13.03.2007 .
  8. ^ Kreft, Klaus; Langer, Angelika (17. Juni 2008). „Understanding the closures debate“ . JavaWorld . Abgerufen am 20.07.2020 .
  9. ^ Darcy, Joseph D. (28. August 2009). „Project Coin: Die letzten Fünf (oder so)“ . Joseph D. Darcys Oracle Weblog . Oracle. Archiviert vom Original am 1. September 2009. Abgerufen am 14. Dezember 2022 .
  10. ^ „Fakultät“ . Institut für Softwareforschung . Carnegie Mellon University . Abgerufen am 3. Februar 2025 .