Grady Booch: A Life in Code – From Fortran to AI, a Software Legend Reflects

Booch's career has spanned several significant eras in the history of computing. His anecdotes from his time working with various companies and technologies provide a unique glimpse into the evolution of the field.

Insights

  • The Booch method and C++ developed in parallel and influenced each other. Booch and Bjarne Stroustrup (the creator of C++) even did a lecture series together in the United States.
  • UML was initially conceived as a way to unify three prominent object-oriented methodologies: Booch, Object Modeling Technique (OMT), and Objectory. This led to the collaboration of Grady Booch, James Rumbaugh, and Ivar Jacobson.
  • Booch believes that the shift from UML 1.0 to 2.0, which focused on making UML a precise programming language, was a mistake. He intended UML to be a visual language for reasoning about, visualising, specifying, and documenting software systems, not for generating code.
  • "the entire history of software engineering is one of rising levels of abstraction so what we're seeing here is the rise of another level of abstractions which gives us all these extraordinarily powerful Frameworks from which I can build systems"
  • Booch's early work in AI involved automating the discovery of patterns within legacy software systems, before the advent of neural networks. This work was ultimately unsuccessful due to the complexity of the problem.
  • He highlights the "loss of information" that occurs during software migrations, as the original design decisions and rationale are often lost over time. This makes migrations challenging as developers work "in the dark" without a full understanding of the original system.
  • "The code is the truth but the code is not the whole truth there is so much that is outside of the code that represents design decisions"
  • "All architecture is design but not all design is architecture...architecture represents the set of significant design decisions that shape the form and function of a system where significant is measured by cost of change"
  • "All of modern computing was woven on a loom of sorrow. What we see in modern Computing was born from World War II and the Cold War particularly a system called sage the semi-automatic ground environment"
  • Booch draws a parallel between the impact of distributed systems and the rise of GPUs, both stemming from advancements in other fields (defence and gaming, respectively) and leading to significant shifts in software development.
  • The rise of powerful frameworks and cloud services has shifted the landscape of software architecture. Many architectural decisions are now embedded within these pre-built solutions, reducing the need for the same level of upfront, formalized design that might have been necessary in the past.
  • Booch speaks about the varying degrees of "ceremony" required in software development, linking it to factors like risk, complexity, and the economic model of the project. This further reinforces the idea that the level of formalism in architectural practices should be tailored to the specific context. Booch advocates a pragmatic approach and states that the degree of rigour and formality in architectural design should align with the stakes involved in the project.
  • On the contemporary state of software architecture - Booch argues that while the nature of software architecture has changed, with cloud providers like Amazon and Microsoft offering pre-architected solutions, architecture itself remains important. He uses the term "blocky diagrams" to refer to the visual representations of architectural patterns that these companies provide, which serve as a guide for developers building similar systems.
  • Discussing about the emergence of the Solutions Architect role as a specialized position focused on cloud architecture and the economic implications of choosing specific cloud services, Booch emphasizes that Solution Architects bring valuable experience, understanding the costs and potential pitfalls associated with different cloud technologies. Their expertise allows startups to make informed decisions, accelerating development and avoiding costly mistakes.
  • Grady Booch refers to Large Language Models (LLMs) as “stochastic parrots”. This is because, in his view, they:
    • Do not reason
    • Do not understand
    • Produce coherent results because they navigate a latent space made complex through training on the internet corpus.
  • The term "stochastic parrots" was coined by researchers including Emily Bender. It emphasises how these models statistically predict word sequences based on training data, rather than reasoning or possessing knowledge. This analogy points out risks such as perpetuating biases, misinformation, or producing convincing yet incorrect outputs. While these models excel at mimicking human language, their lack of awareness and contextual comprehension raises ethical concerns, particularly in sensitive applications.
  • Andrew Ng was among the first to recognize that GPUs used for gaming could be applied to deep learning because they use the same kind of mathematics. This led to a “perfect storm” of:
    • Lots of data
    • Powerful hardware
    • The rise of interesting algorithms such as back propagation
This was similar to the rise of distributed systems, which was another big change in computing.

Fun Facts

  • Grady Booch built his first computer at the age of 12, 57 years before this interview.
  • Booch served as Chief Scientist of Rational Software Corporation from its founding in 1981 through its acquisition by IBM in 2003 (for ~$2.1 Billion) where he was made IBM Fellow.
  • Grady Booch was offered the job of Chief Architect for Enterprise at Microsoft by Bill Gates, but declined. He thought Microsoft was too "dysfunctional" at the time.
  • "There was a time that my business card said I was a free radical but upper management didn't like that so I had to find something a little bit more tame"
  • "Old code never dies, you have to kill it"
  • The name for Rational Software came from a paper by David Parnas titled, "A Rational Design Process: How and Why to Fake It".
  • The first prototype of Rational Software's Rose tool was written in Smalltalk.
  • Grady Booch met the founder of Netflix, Reed Hastings, when Rational Software acquired Hastings' company Pure Atria. Hastings thought he was a "lousy CEO" so he left the company and used some of the money from the acquisition to help found Netflix.
  • The first distributed systems emerged in the defence world, particularly with the development of the ARPANET (the precursor to the internet).
  • Booch received his first email address in 1979, when there were only a few thousand email addresses in existence worldwide. He even had a mimeographed document listing all the email addresses in the world!
  • The James Webb Space Telescope uses UML in its design.
  • Grady Booch worked with NASA on the software for the Robonaut 2, a humanoid robot on the International Space Station.
  • Grady Booch worked with Soul Machines, a company that uses AI to create digital people, on the software for their avatars.
  • Grady Booch is blocked on Twitter by Yann LeCun, currently Meta's Chief AI Scientist.

Comments

Popular posts from this blog

Datawrapper Makes Data Beautiful & Insightful

GitHub Copilot Q&A - 1

Learning Resources for GitHub Foundations Certification