Joshua Bloch

Joshua Bloch is adjunct professor of the practice at Institute for Software Research at Carnegie Mellon University (CMU).

Bloch has decades of experience in software research and development. After completing his PhD, he joined Transarc, a CMU spinoff, as senior systems designer. He later became a distinguished engineer at Sun Microsystems, where he wrote the Collections library for Java. He then left Sun to join Google as chief Java architect.

Bloch led the design and development of countless Java platform features, and he heavily contributed to the foundations of the Java programming language and to key libraries including the Java Collections Framework, the java.math package, enums, annotations, the for-each loop, try-with-resources, and assert.

Show more

Recent Blogs

Design and document for inheritance—or else prohibit it. Here’s how.

It is dangerous to subclass a ‘foreign’ class that was not designed and documented for inheritance.

You should favor composition over inheritance in Java. Here’s why.

Inheritance is a powerful way to achieve code reuse, but it is not always the best tool for the job.

Receive the latest blog updates