Allen Holub

Last updated

Allen I. Holub (born 1955) is a computer author who was published in Dr. Dobb's Journal in the 1980s and then again in the 2010s. He also wrote for SD Times . His 1990 book Compiler Design in C was praised as an accessible reference. He is also a teacher, consultant, and speaker.

Contents

Career

Allen Holub received double Bachelor of Arts degrees from the University of California, Berkeley, in Computer Science and Medieval European History. [1] In 1982, he became an instructor for the University of California Berkeley Extension, [2] where he has continued teaching periodically to the present day. [3] He started his consulting company "Holub Associates" in 1983, [2] which has also continued to the present day. [3] [4]

Holub was the Chan-Norris Distinguished Visiting Professor of Computer Science at Mills College for the 2021-2022 academic year, [5] [6] teaching a computer science elective course among other duties. [5] [7]

Writing

Holub is a prolific author and has written many books and articles. His "C Chest" column appeared in Dr. Dobb's Journal from 1984 to 1988. [8] His "Java Toolbox" column appeared in JavaWorld from 1998 to 2004. His bi-monthly "JavaWatch" column was in SD Times from May 2004 to September 2006. Holub also blogged on Agile for Dr. Dobb's Journal from 2011 until its shutdown in 2014. [9]

Compiler Design in C
AuthorAllen I. Holub
Cover artistAllen I. Holub and Lundgren Graphics Ltd.
PublisherPrentice Hall, Inc.
Publication date
1990
Pages984
ISBN 0-13-155045-4
LC Class QA76.76.C65H65
Website https://holub.com/compiler/

His 1990 book Compiler Design in C is a 984-page reference book, recommended by several library services at the time, [10] [11] as well as trade publications [12] [13] [14] and the comp.compiler Usenet group FAQ. [15] It is now out of print, but available as a download on his website. [16] One reviewer stated he preferred it to the "dragon book", Compilers: Principles, Techniques, and Tools , as its code examples made the material more approachable. [12]

Holub's book Taming Java Threads is an edited re-print of a 9-part series from his Java Toolbox column. [9] It has some good information, although is not as broad in coverage as other books. [17] Holub's book Holub on Patterns: Learning Design Patterns by Looking at Code contains a few of his more popular Java Toolbox articles, but is mostly new content. [18] It is a valuable resource for Java software developers. [19]

Speaking and advocacy

Holub signed the Agile Manifesto in March 2014. [20] As of 2023, Holub positions himself as well-versed in Lean/Agile methodology. [1] He has made several controversial statements, such as that software development teams do not need a bug tracking system, [21] do not need estimates, [22] and indeed should avoid most of the practices of Scrum. [23]

Personal life

In addition to his work in the software industry, Holub is also a composer, musician, artist, and pilot. As of 2023 he resides in Berkeley, CA. [1]

Related Research Articles

<span class="mw-page-title-main">Li-Chen Wang</span> American computer programmer (born 1935)

Li-Chen Wang is an American computer engineer, best known for his Palo Alto Tiny BASIC for Intel 8080-based microcomputers. He was a member of the Homebrew Computer Club and made significant contributions to the software for early microcomputer systems from Tandy Corporation and Cromemco. He made early use of the word copyleft, in Palo Alto Tiny BASIC's distribution notice "@COPYLEFT ALL WRONGS RESERVED" in June 1976.

In software engineering, a design pattern describes a relatively small, well-defined aspect of a computer program in terms of how to write the code.

<i>Dr. Dobbs Journal</i> American computer magazine

Dr. Dobb's Journal 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 on microcomputer software, rather than hardware. In its last years of publication, it was distributed as a PDF monthly, although the principal delivery of Dr. Dobb's content was through the magazine's website. Publication ceased at the end of 2014, with the archived website continuing to be available online.

<span class="mw-page-title-main">Michael Abrash</span> American programmer and technical writer

Michael Abrash is an American programmer and technical writer. He is best known for his magazine articles and books on code optimization and graphics for IBM PC compatibles and for working at id Software in the mid-1990s on the rendering technology for Quake. Since 2014, he has been the chief scientist of Oculus VR, a subsidiary of Meta Platforms.

<span class="mw-page-title-main">Guy L. Steele Jr.</span> American computer scientist (born 1954)

Guy Lewis Steele Jr. is an American computer scientist who has played an important role in designing and documenting several computer programming languages and technical standards.

The following outline is provided as an overview of and topical guide to software engineering:

<span class="mw-page-title-main">Andy Hertzfeld</span> American programmer (born 1953)

Andrew Jay Hertzfeld is an American software engineer who was a member of Apple Computer's original Macintosh development team during the 1980s. After buying an Apple II in January 1978, he went to work for Apple Computer from August 1979 until March 1984, where he was a designer for the Macintosh system software.

James O. Coplien, also known as Cope, is a writer, lecturer, and researcher in the field of computer science. He held the 2003–4 Vloeberghs Leerstoel at Vrije Universiteit Brussel and has been a visiting professor at University of Manchester.

<span class="mw-page-title-main">Craig Larman</span> Canadian-born computer scientist, author, and organizational development consultant

Craig Larman is a Canadian computer scientist, author, and organizational development consultant. With Bas Vodde, he is best known for formulating LeSS, and for several books on product and software development.

In object-oriented programming, inheritance is the mechanism of basing an object or class upon another object or class, retaining similar implementation. Also defined as deriving new classes from existing ones such as super class or base class and then forming them into a hierarchy of classes. In most class-based object-oriented languages like C++, an object created through inheritance, a "child object", acquires all the properties and behaviors of the "parent object", with the exception of: constructors, destructors, overloaded operators and friend functions of the base class. Inheritance allows programmers to create classes that are built upon existing classes, to specify a new implementation while maintaining the same behaviors, to reuse code and to independently extend original software via public classes and interfaces. The relationships of objects or classes through inheritance give rise to a directed acyclic graph.

This is an alphabetical list of articles pertaining specifically to software engineering.

<span class="mw-page-title-main">Jeff Sutherland</span> American computer scientist

Jeff Sutherland is one of the creators of Scrum, a framework for product management. Together with Ken Schwaber, he presented Scrum at OOPSLA'95. Sutherland contributed to the creation of the Agile Manifesto in 2001. Along with Ken Schwaber, he wrote and maintains The Scrum Guide, which contains the official definition of the framework.

<span class="mw-page-title-main">Comment (computer programming)</span> Explanatory note in the source code of a computer program

In computer programming, a comment is a programmer-readable explanation or annotation in the source code of a computer program. They are added with the purpose of making the source code easier for humans to understand, and are generally ignored by compilers and interpreters. The syntax of comments in various programming languages varies considerably.

Scott W. Ambler is a Canadian software engineer, consultant and author. He is an author of books about the Disciplined Agile Delivery toolkit, the Unified process, Agile software development, the Unified Modeling Language, and Capability Maturity Model (CMM) development.

Organizational patterns are inspired in large part by the principles of the software pattern community, that in turn takes it cues from Christopher Alexander's work on patterns of the built world. Organizational patterns also have roots in Kroeber's classic anthropological texts on the patterns that underlie culture and society. They in turn have provided inspiration for the Agile software development movement, and for the creation of parts of Scrum and of Extreme Programming in particular.

<span class="mw-page-title-main">Parasoft</span> Software testing framework

Parasoft is an independent software vendor specializing in automated software testing and application security with headquarters in Monrovia, California. It was founded in 1987 by four graduates of the California Institute of Technology who planned to commercialize the parallel computing software tools they had been working on for the Caltech Cosmic Cube, which was the first working hypercube computer built.

The Edison Design Group (EDG) is a company that makes compiler front ends for C++ and formerly Java and Fortran. Their front ends are widely used in commercially available compilers and code analysis tools. Users include the Intel C++ compiler, Microsoft Visual C++ (IntelliSense), NVIDIA CUDA Compiler, SGI MIPSpro, The Portland Group, and Comeau C++. They are widely known for having the first, and likely only, front end to implement the unused until C++20 export keyword of C++.

Linda Rising is an American author, lecturer, independent consultant. Rising is credited as having played a major role in having "moved the pattern approach from design into corporate change." She also contributed to the book 97 Things Every Software Architect Should Know, edited by Kevlin Henney and published by O´Reilly in 2009 (ISBN 059652269X).

The Dr. Dobb's Excellence in Programming Award was an annual prize given to individuals who, in the opinion of the editors of Dr. Dobb's Journal, "made significant contributions to the advancement of software development." The Excellence in Programming Award includes a $1,000 prize that was donated in the award winner's name to a charity of the winner's choice. The award was launched in 1995 in the print edition of Dr. Dobb's Journal and was given each year until 2009. In his March 1995 article introducing the awards, then editor-in-chief Jonathan Erickson wrote that the award was intended to recognize "achievement and excellence in the field of computer programming." Erickson explained that the winners were "selected by a special editorial committee" of the magazine. Because Dr. Dobb's serves an audience of software developers, the Excellence in Programming Award is specifically intended to recognize resources for programmers: languages, code libraries, tutorial books, and so on. Developers of shrinkwrap software intended for retail sale, custom software for corporate use, embedded software, or general-purpose applications were not considered for the award.

<span class="mw-page-title-main">Robert C. Martin</span> American software consultant

Robert Cecil Martin, colloquially called "Uncle Bob", is an American software engineer, instructor, and author. He is most recognized for promoting many software design principles and for being an author and signatory of the influential Agile Manifesto.

References

  1. 1 2 3 Holub, Allen. "Allen Holub". Allen Holub. Retrieved 22 April 2023.
  2. 1 2 "Allen I. Holub, Biography". 5 November 1996. Archived from the original on 1996-11-05. Retrieved 2023-04-22.
  3. 1 2 "Allen Holub - Principal - Holub Associates". LinkedIn. Retrieved 22 April 2023.
  4. "Allen Holub: Clients". 22 November 2017. Archived from the original on 2017-11-22.
  5. 1 2 "Allen Holub | Mills College". Archived from the original on 27 February 2022.
  6. "Allen Holub". Archived from the original on 24 October 2021.
  7. "Mills College Job Posting: Distinguished Visiting Professor of Computer Science - Essential". Archived from the original on 4 June 2021.
  8. "Allen Holub: Published works". 22 August 2015. Archived from the original on 2015-08-22.
  9. 1 2 "Allen Holub: Online publications". holub.com. Retrieved 22 April 2023.
  10. Computer Book Review. CBR Publications. 1990.
  11. Choice: Publication of the Association of College and Research Libraries, a Division of the American Library Association. American Library Association. 1990.
  12. 1 2 Schulman, Andrew (October 1992). "Programmer's Bookshelf: Slaying the Dragon". Dr. Dobb's Journal.
  13. CommUNIXations. UniForum. 1990.
  14. Blunden, Bill (2002). Virtual Machine Design and Implementation in C/C++. Wordware Pub. ISBN   978-1-55622-903-9.
  15. "Reading list from comp.compilers FAQ". www.cs.man.ac.uk.
  16. Holub, Allen (17 March 2017). "Compiler Design in C". Allen Holub.
  17. Zukowski, John (15 December 2000). "Java threads: A comparative book review". InfoWorld.
  18. Holub, Allen (27 September 2004). Holub on Patterns: Learning Design Patterns by Looking at Code. Apress. ISBN   978-1-4302-0725-2.
  19. Dave, Maulik A. (13 April 2005). "Holub on patterns: learning design patterns by looking at code". Computing Reviews.
  20. "Agile Manifesto Signatories". agilemanifesto.org. Retrieved 22 April 2023.
  21. Holub, Allen (25 February 2022). "Don't track bugs, fix them". Allen Holub.
  22. Holub, Allen (9 July 2016). "#NoEstimates, An Introduction". Allen Holub.
  23. "Agile & Scrum Don't Work | Allen Holub In The Engineering Room Ep. 9". YouTube. Retrieved 22 April 2023.