Robert C. Martin

Last updated

Robert C. Martin
Robert C. Martin surrounded by computers (cropped).jpg
Martin in 2020
Born
Robert Cecil Martin

(1952-12-05) 5 December 1952 (age 73) [1]
Other names"Uncle Bob" Martin
Occupations Software engineer, [2] instructor
Known for Agile Manifesto, SOLID principles
Children4
Website cleancoder.com

Robert Cecil Martin (born 5 December 1952), colloquially called "Uncle Bob", [3] is an American software engineer, [2] 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. [4]

Contents

Martin has authored many books and magazine articles. He was the editor-in-chief of C++ Report magazine and served as the first chairman of the Agile Alliance. [5] [6]

Martin joined the software industry at age 17 and is self-taught. [7]

Professional work

In 1991, Martin founded Object Mentor, [8] now defunct, which provided instructor-led training on the extreme programming methodology. [9] As of November 2023, he operated Uncle Bob Consulting, which provides consulting and training services. [10] He serves as Master Craftsman / Mentor at Clean Coders, a company run by his son Micah Martin, and produces training videos. [11]

In a 2024 interview Martin stated that he is programming primarily with Clojure. [12]

Software principles advocacy

Martin is a proponent of software craftsmanship, agile software development, and test-driven development. [13]

He is credited with introducing the collection of object-oriented programming (OOP) design principles that came to be known as SOLID. [14]

Publications

Guests

Notable guests of his video channel include Grady Booch and Ward Cunningham.

Clean Code

One term that is connected with Robert Martin is "Clean Code". It is the name of a book that he wrote, [15] a firm that he owns[ citation needed ], a class that he teaches, [15] and a software paradigm that he supports. The software paradigm involves SOLID, Test Driven Development, Structured Programming, Object Oriented Programming, and certain Design Patterns. [16]

Short functions

A core teaching from Clean Code reads "Functions should do one thing. They should do it well. They should only do it." [17] Martin tells how impressed he was by a program by Kent Beck: "Every function [..] was just two, or three, or four lines long. Each was transparently obvious. Each told a story. And each led you to the next in a compelling order. That's how short your functions should be." [18] John Ousterhout disagrees with this advice: "once a function gets down to a few dozen lines, further reductions in size are unlikely to have much impact on readability. [..] More functions means more interfaces to document and learn. If functions are made too small, they lose their independence [..]" [19] For Ousterhout, functions and other modules should be "deep", but have a small interface.

References

  1. Groupon OnAir (July 26, 2016). The Future of Programming with Uncle Bob Martin. YouTube.
  2. 1 2 Microsoft Learn (September 15, 2015). "Uncle Bob on Software Practice". Microsoft Learn.
  3. Heusser, Matthew (May 10, 2011). "Do Professional Programmers Need a Code of Conduct? An Interview with Robert C. "Uncle Bob" Martin". InformIT . Retrieved February 26, 2015.
  4. "Authors: The Agile Manifesto". Manifesto for Agile Software Development. 2001. Retrieved January 16, 2020.
  5. "Robert C. Martin". IEEE Xplore. Retrieved August 1, 2021.
  6. Sondra Ashmore; Kristin Runyan (2014). Introduction to Agile Methods. Addison-Wesley Professional. p. 10. ISBN   9780133435214.
  7. Martin, Robert C. (December 10, 2018). "Uncle Bob on X". X (formerly Twitter). Retrieved November 23, 2023.
  8. "Robert Martin (Uncle Bob) - Scrum Alliance". www.scrumalliance.org. Retrieved November 30, 2022.
  9. "Object Mentor: About | LinkedIn". LinkedIn. Retrieved November 23, 2023.
  10. "Robert Martin | LinkedIn". LinkedIn. Retrieved November 23, 2023.
  11. "Clean Coders : Level up your code". cleancoders.com. Retrieved November 23, 2023.
  12. ThePrimeTime (April 30, 2024). "I Interviewed Uncle Bob". YouTube.
  13. "UBC". cleancoder.com. Retrieved November 23, 2023.
  14. Martin, Robert C. (2000) "Design Principles and Design Patterns"(PDF). objectmentor.com. Archived from the original on 2015-09-06
  15. 1 2 "Uncle Bob Martin".
  16. "Uncle Bob Martin".
  17. p. 35 in Robert C. Martin, Clean Code, Pearson 2009.
  18. Clean Code, p.34
  19. John Ousterhout, A Philosophy of Software Design. Yaknyam Press, Palo Alto 2018, 2nd edition 2022.