Robert C. Martin

From Wikipedia, the free encyclopedia
(Redirected from Robert Cecil Martin)
Jump to navigation Jump to search

Robert C. Martin
Martin in 2020
Born
Robert Cecil Martin

(1952-12-05) 5 December 1952 (age 73)[1]
Other names"Uncle Bob" Martin
OccupationsSoftware engineer,[2] instructor
Known forAgile Manifesto, SOLID principles
Children4
Websitecleancoder.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]

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

[edit | edit source]

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

[edit | edit source]

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

[edit | edit source]
  • 1995. Designing Object-Oriented C++ Applications Using the Booch Method. Prentice Hall. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
  • 2000. More C++ Gems. Cambridge University Press. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
  • 2001. Extreme Programming in Practice. Addison-Wesley. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
  • 2002. Agile Software Development, Principles, Patterns, and Practices. Pearson. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
  • 2003. UML for Java Programmers. Prentice Hall. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
  • 2006. Agile Principles, Patterns, And Practices in C#. Pearson. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
  • 2009. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
  • 2011. The Clean Coder: A Code Of Conduct For Professional Programmers. Prentice Hall. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
  • 2017. Clean Architecture: A Craftsman's Guide to Software Structure and Design. Prentice Hall. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
  • 2019. Clean Agile: Back to Basics. Prentice Hall. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
  • 2021. Clean Craftsmanship: Disciplines, Standards, and Ethics. Addison-Wesley Professional. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • 2023. Functional Design: Principles, Patterns, and Practices. Addison-Wesley Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  • 2024. We, Programmers: A Chronicle of Coders from Ada to AI. Addison-Wesley Professional. Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

Guests

[edit | edit source]

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

Clean Code

[edit | edit source]

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]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ Martin, Robert C. (2000) "Design Principles and Design Patterns"(PDF). objectmentor.com. Archived from the original on 2015-09-06
  15. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

Lua error in Module:Authority_control at line 153: attempt to index field 'wikibase' (a nil value).