Джошуа Блох
Джошуа Блох (англ. Joshua J. Bloch) — американский программный инженер, специалист в области информатики, профессор, бывший сотрудник компании Sun Microsystems и Google, возглавлявший разработку и реализацию различных функционалов платформы Java, включая фреймворк коллекций Java Collections, пакет java.math и механизм assert[1].
Карьера[править]
Джошуа Блох родился 28 августа 1961 года в Саутгемптоне, Саффолк, штат Нью-Йорк. Отец работал химиком в Брукхейвенской национальной лаборатории.
Отец научил Джошуа фортрана, затем юноша освоил бейсик.
4 июля 1977 года написал свой вариант игры 20Q (Двадцать вопросов) и назвал его «Животные». Там было бинарное дерево с вопросами типа «да/нет» на внутренних узлах и животными на листьях. Когда программа встречала незнакомое животное, она «заучивала» его название, задавая пользователю вопросы, предполагающие ответ «да» или «нет». Так она училась отличать новое животное от того, название которого определила неверно. Бинарное дерево хранилось на диске, так что программа со временем становилась «умнее».
Получил степень бакалавра информатики в Колумбийском университете и степень доктора философии по информатике в Университете Карнеги-Мелон, где работал над Camelot — распределенной системой обработки транзакций, позднее получившей название Encina; она была выпущена компанией Transarc, где Блох являлся старшим системным проектировщиком.
Получил известность как главный Java-архитектор в Google, до этого с 1996 года работал в Sun Microsystems, где был удостоен звания Заслуженный инженер и руководил созданием и реализацией Java Collections Framework, появившегося в Java 2, а также внёс некоторые дополнения в язык для версии Java 5.
В декабре 2004 года журнал Java Developer's включил Блоха в список «Top 40 Software People in the World».
В настоящее время — профессор в Университете Карнеги-Мелон.
Труды[править]
- Effective Java: Programming Language Guide, первое издание: ISBN 0-201-31005-8, 2001; второе издание: ISBN 978-0-321-35668-0, 2008
- Джошуа Блох. Java. Эффективное программирование = Effective Java. — М.: Лори, 2002. — 224 с. — ISBN 5-85582-169-2.
- Java Puzzlers: Traps, Pitfalls, and Corner Cases, ISBN 0-321-33678-X, 2005 (в соавторстве с Neal Gafter)
- Java Concurrency in Practice, ISBN 0-321-34960-1, 2006 (соавторстве с Brian Goetz, Tim Peierls, Joseph Bowbeer, David Holmes, и Дагом Ли)
Примечания[править]
- ↑ Википедия