This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Also available in other formats.
Register your product to gain access to bonus material or receive a coupon.
The Journey of Programming and Its Pioneers: From the Birth of Code to the Rise of AI
In We, Programmers, software legend Robert C. Martin--"Uncle Bob"--dives deep into the world of programming, exploring the lives of the groundbreaking pioneers who built the foundation of modern computing. From Charles Babbage and Ada Lovelace to Alan Turing, Grace Hopper, and Dennis Ritchie, Martin shines a light on the figures whose brilliance and perseverance changed the world.
This memoir-infused narrative provides a rich human history filled with technical insights for developers, examining the coding breakthroughs that shaped computing at the bit and byte level. By connecting these technical achievements with the human stories behind them, Martin gives readers a rare glimpse into the struggles and triumphs of the people who made modern technology possible. Depression, failure, and ridicule--these pioneers faced it all, and their stories intertwine with the evolution of computing itself as the field evolved from its humble beginnings to the cloud-based AIs of today. With the rise of AI, Martin also explores how this technology is transforming the future of programming and the ethical challenges that come with it.
Notable topics include
For programmers, coders, and anyone fascinated by the intersection of people and machines, this guide to the history, humanity, and technology behind the code that powers our world today is a fascinating and essential read.
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Foreword xv
Preface xix
Timeline xxiii
About This Book xxvii
Acknowledgments xxix
About the Author xxxi
Part I: Setting the Stage 1
Chapter 1: Who Are We? 3
Why Are We Here? 6
Part II: The Giants 11
Chapter 2: Babbage: The First Computer Engineer 13
The Man 13
Tables 15
Babbage's Vision 23
The Difference Engine 24
Mechanical Notation 26
Party Tricks 27
The Engine's Demise 28
The Analytical Engine 30
Ada: The Countess of Lovelace 34
The First Programmer? 39
A Mixed End 40
Conclusion 42
Chapter 3: Hilbert, Turing, and Von Neumann: The First Computer Architects 45
David Hilbert 46
John von Neumann 53
Alan Turing 57
The Turing-Von Neumann Architecture 60
Chapter 4: Grace Hopper: The First Software Engineer 77
War, and the Summer of 1944 78
Discipline: 1944-1945 83
Subroutines: 1944-1946 89
The Symposium: 1947 90
The UNIVAC: 1949-1951 93
Sorting, and the Beginning of Compilers 99
Alcohol: Circa 1949 100
Compilers: 1951-1952 101
The Type A Compilers 103
Languages: 1953-1956 105
COBOL: 1955-1960 108
My COBOL Rant 112
An Unmitigated Success 113
Chapter 5: John Backus: The First High-Level Language 115
John Backus, the Man 115
Colored Lights That Hypnotize 117
Speedcoding and the 701 120
The Need for Speed 124
ALGOL and Everything Else 131
Chapter 6: Edsger Dijkstra: The First Computer Scientist 135
The Man 135
The ARRA: 1952-1955 138
The ARMAC: 1955-1958 143
ALGOL and the X1: 1958-1962 145
The Gathering Gloom: 1962 150
The Rise of Science: 1963-1967 152
Mathematics: 1968 156
Structured Programming: 1968 160
Chapter 7: Nygaard and Dahl: The First OOPL 165
Kristen Nygaard 165
Ole-Johan Dahl 167
SIMULA and OO 168
Chapter 8: John Kemeny: The First "Everyman's" Language--BASIC 185
The Man, John Kemeny 185
The Man, Thomas Kurtz 188
The Revolutionary Idea 188
Impossible 190
BASIC 192
Time-sharing 193
Computer Kids 194
Escape 195
The Blind Prophet 195
Through a Glass Darkly 201
References 202
Chapter 9: Judith Allen 203
The ECP-18 204
Judy 205
A Stellar Career 209
Chapter 10: Thompson, Ritchie, and Kernighan 211
Ken Thompson 211
Dennis Ritchie 214
Brian Kernighan 219
Unix 226
PDP-11 230
C 232
K&R 236
Conclusion 239
Part III: The Knee of the Curve 243
Chapter 11: The Sixties 245
ECP-18 249
What Fathers Do 252
Chapter 12: The Seventies 253
1969 253
1970 258
1973 261
1974 266
1976 271
1978 275
1979 277
Chapter 13: The Eighties 281
1980 281
1981 285
1982 289
1983 291
1984-1986: VRS 293
1986 295
1987-1988: The UK 298
Chapter 14: The Nineties 301
1989-1992: Clear Communications 301
1992: The C++ Report 304
1993: Rational Inc. 304
1994: ETS 306
1995-1996: First Book, Conferences, Classes, and Object Mentor Inc. 310
1997-1999: The C++ Report, UML, and Dotcom 312
1999-2000: eXtreme Programming 313
Chapter 15: The Millennium 317
2000: XP Leadership 317
2001: Agile and the Crash(es) 318
2002-2008: Wandering in the Wilderness 320
2009: SICP and Chroma-key 321
2010-2023: Videos, Craftsmanship, and Professionalism 324
2023: The Plateau 326
Part IV: The Future 329
Chapter 16: Languages 331
Types 333
Lisp 335
Chapter 17: AI 337
The Human Brain 337
Neural Nets 340
Building Neural Nets Is Not Programming 342
Large Language Models 343
The DISRUPTION of Large X Models 351
Chapter 18: Hardware 355
Moore's Law 356
Quantum Computers 358
Chapter 19: The World Wide Web 361
Chapter 20: Programming 367
The Aviation Analogy 368
Principles 368
Methods 369
Disciplines 369
Ethics 370
Afterword 371
Reflections on the Content 371
Personal Anecdotes or Stories 372
Reflections on the Content 380
Afterword Author's Perspective 381
Discussion of Future Trends 381
Calls to Action, or Closing Thoughts 384
Glossary of Terms 385
Cast of Supporting Characters 411
Index 435