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.
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]
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]
Author | Allen I. Holub |
---|---|
Cover artist | Allen I. Holub and Lundgren Graphics Ltd. |
Publisher | Prentice Hall, Inc. |
Publication date | 1990 |
Pages | 984 |
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]
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] , indeed should avoid most of the practices of Scrum, [23] and not deploying on Friday is a huge red flag. [24]
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]
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 software design pattern or design pattern is a general, reusable solution to a commonly occurring problem in many contexts in software design. A design pattern is not a rigid structure that can be transplanted directly into source code. Rather, it is a description or a template for solving a particular type of problem that can be deployed in many different situations. Design patterns can be viewed as formalized best practices that the programmer may use to solve common problems when designing a software application or system.
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.
Michael Abrash is an American programmer and technical writer. He has written dozens of magazine articles and multiple books on code optimization and software-rendered graphics for IBM PC compatibles. He worked at id Software in the mid-1990s on the rendering technology for Quake. He later wrote the Pixomatic software renderer for RAD Game Tools. Since 2014, he has been the chief scientist of Oculus VR, a subsidiary of Meta Platforms.
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:
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.
Agile software development is an umbrella term for approaches to developing software that reflect the values and principles agreed upon by The Agile Alliance, a group of 17 software practitioners in 2001. As documented in their Manifesto for Agile Software Development the practitioners value:
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.
Phillip JamesPlauger is an author, entrepreneur and computer programmer. He has written and co-written articles and books about programming style, software tools, and the C programming language, as well as works of science fiction.
This is an alphabetical list of articles pertaining specifically to software engineering.
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.
In computer programming, a comment is a human-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.
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.
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.