Joshua Bloch
   HOME

TheInfoList



OR:

Joshua J. Bloch (born August 28, 1961) is an American
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 ...
and a technology author, formerly employed 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 ...
and
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 ...
. He led the design and implementation of numerous
Java platform Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cro ...
features, including the
Java Collections The Java collections framework is a set of classes and interfaces that implement commonly reusable collection data structures. Although referred to as a framework, it works in a manner of a library. The collections framework provides both int ...
Framework, the package, and the mechanism."About the Author"
''Effective Java Programming Language Guide''
He is the author of the programming guide ''Effective Java'' (2001), which won the 2001
Jolt Award ''Dr. Dobb's Journal'' (''DDJ'') was a monthly magazine published in the United States by UBM Technology Group, part of UBM. It covered topics aimed at computer programmers. When launched in 1976, DDJ was the first regular periodical focused o ...
, and is a co-author of two other Java books, ''Java Puzzlers'' (2005) and ''Java Concurrency In Practice'' (2006). Bloch holds a B.S. in
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
Columbia University Columbia University (also known as Columbia, and officially as Columbia University in the City of New York) is a private research university in New York City. Established in 1754 as King's College on the grounds of Trinity Church in Manhatt ...
's School of Engineering and Applied Science and a Ph.D. in computer science from
Carnegie Mellon University Carnegie Mellon University (CMU) is a private research university in Pittsburgh, Pennsylvania. One of its predecessors was established in 1900 by Andrew Carnegie as the Carnegie Technical Schools; it became the Carnegie Institute of Technology ...
. His 1990 thesis was titled ''A Practical Approach to Replication of Abstract Data Objects'' and was nominated for the ACM Distinguished Doctoral Dissertation Award. Bloch has worked as a Senior Systems Designer at
Transarc Transarc Corporation was a private Pittsburgh-based software company founded in 1989 by Jeffrey Eppinger, Michael L. Kazar, Alfred Spector, and Dean Thompson of Carnegie Mellon University. Transarc commercialized the Andrew File System (AFS), ...
, and later as a Distinguished Engineer 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 ...
. In June 2004, he left Sun and became Chief Java Architect 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 ...
. On August 3, 2012, Bloch announced that he would be leaving Google. In December 2004, ''Java Developer's Journal'' included Bloch in its list of the "Top 40 Software People in the World". Bloch has proposed the extension of the Java programming language with two features: Concise Instance Creation Expressions (CICE) (coproposed with Bob Lee and Doug Lea) and Automatic Resource Management (ARM) blocks. The combination of CICE and ARM formed one of the three early proposals for adding support for closures to Java. ARM blocks were added to the language in JDK7. Bloch is currently an affiliated faculty member of the Institute for Software Research at
Carnegie Mellon University Carnegie Mellon University (CMU) is a private research university in Pittsburgh, Pennsylvania. One of its predecessors was established in 1900 by Andrew Carnegie as the Carnegie Technical Schools; it became the Carnegie Institute of Technology ...
, where he holds the title " Adjunct Professor of the Practice".


Bibliography

* ''Effective Java: Programming Language Guide'', , 2001; second edition: , 2008; third edition: , 2017 * ''Java Puzzlers: Traps, Pitfalls, and Corner Cases'', , 2005 (co-authored with Neal Gafter) * ''Java Concurrency in Practice'', , 2006 (co-authored with Brian Goetz, Tim Peierls, Joseph Bowbeer, David Holmes, and Doug Lea) *


References


External links

* * Janice J. Heiss
More Effective Java With Google's Joshua Bloch
October, 2008
Josh Bloch, How to design a good API and why it matters, Google Tech Talk, 2007
{{DEFAULTSORT:Bloch, Joshua 1961 births Living people Columbia School of Engineering and Applied Science alumni Columbia University alumni Carnegie Mellon University alumni American computer programmers American software engineers Sun Microsystems people American technology writers