Robert C. Martin
Robert C. Martin | |
|---|---|
Martin in 2020 | |
| Born | Robert Cecil Martin 5 December 1952[1] |
| Other names | "Uncle Bob" Martin |
| Occupations | Software engineer,[2] instructor |
| Known for | Agile Manifesto, SOLID principles |
| Children | 4 |
| Website | cleancoder |
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[update], 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]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Martin, Robert C. (2000) "Design Principles and Design Patterns"(PDF). objectmentor.com. Archived from the original on 2015-09-06
- ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ 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).