I have the same passion about computing history. I can't count the amount of literature I've read to learn about this fascinating history; it's very satisfying to know when, how, where, and by who original work was done to advance computing. Most of the foundational work in computer architecture and computer science was done in the 50s, 60s, and 70s. From there it has been incremental improvements.
I highly recommend reading "The Dream Machine" by Mitchell Waldrop. It's very well written, and covers a huge swath of computing history, from the ENIAC to the Internet (it was written in 2000).
Instead of recommending specific sources (too many), I can mention key milestones in computing history that you may want to research:
- Theory of computation (Alan Turing, Alonzo Church)
- Early binary systems (John Atanasoff, Konrad Zuse, George Stibitz, Claude Shannon)
- Early computers (ABC, ENIAC, EDSAC, EDVAC, Von Neumann architecture)
- Early programming (Assembly language, David Wheeler, Nathaniel Rochester)
- Early interactive computing (MIT Whirlwind, SAGE, TX-0, TX-2)
- Early mainframes (UNIVAC, IBM 70x series)
- Early programming languages (Speedcoding, Autocode, A-0, A-2, MATH-MATIC, FLOW-MATIC)
- First programming languages (FORTRAN, COBOL, LISP, ALGOL)
- Early operating systems (GM-NAA I/O, BESYS, SOS, IBSYS, FMS)
- Early time-sharing system (MIT CTSS, Multics, DTSS, Berkeley TSS, IBM CP-67)
- Early Virtual Memory (Atlas, Burroughs MCP)
- Early minicomputers (DEC PDP line)
- Mainframe operating systems (IBM OS/360, UNIVAC EXEC)
- Early online transaction processing (SABRE, IBM ACP/TPF)
- Early work on concurrency (Edsger Dijkstra, C.A.R. Hoare, Per Birch Hansen)
- Early database systems (GE IDS, IBM IMS, CODASYL)
- Early Object-Oriented Programming (Simula I, Simula 67, Smalltalk)
- More programming languages (CPL, BCPL, B, C, BASIC, PL/I)
- Mini/Supermini operating systems (Tenex, TOPS-20, VMS)
I’ll second your recommendation for The Dream Machine. Unless your vision is very good, I’d recommend getting it as an ebook. The book from Stripe Press is beautiful, but the text is pretty tiny.
I highly recommend reading "The Dream Machine" by Mitchell Waldrop. It's very well written, and covers a huge swath of computing history, from the ENIAC to the Internet (it was written in 2000).
Instead of recommending specific sources (too many), I can mention key milestones in computing history that you may want to research:
- Theory of computation (Alan Turing, Alonzo Church)
- Early binary systems (John Atanasoff, Konrad Zuse, George Stibitz, Claude Shannon)
- Early computers (ABC, ENIAC, EDSAC, EDVAC, Von Neumann architecture)
- Early programming (Assembly language, David Wheeler, Nathaniel Rochester)
- Early interactive computing (MIT Whirlwind, SAGE, TX-0, TX-2)
- Early mainframes (UNIVAC, IBM 70x series)
- Early programming languages (Speedcoding, Autocode, A-0, A-2, MATH-MATIC, FLOW-MATIC)
- First programming languages (FORTRAN, COBOL, LISP, ALGOL)
- Early operating systems (GM-NAA I/O, BESYS, SOS, IBSYS, FMS)
- Early time-sharing system (MIT CTSS, Multics, DTSS, Berkeley TSS, IBM CP-67)
- Early Virtual Memory (Atlas, Burroughs MCP)
- Early minicomputers (DEC PDP line)
- Mainframe operating systems (IBM OS/360, UNIVAC EXEC)
- Early online transaction processing (SABRE, IBM ACP/TPF)
- Early work on concurrency (Edsger Dijkstra, C.A.R. Hoare, Per Birch Hansen)
- Early database systems (GE IDS, IBM IMS, CODASYL)
- Early Object-Oriented Programming (Simula I, Simula 67, Smalltalk)
- More programming languages (CPL, BCPL, B, C, BASIC, PL/I)
- Mini/Supermini operating systems (Tenex, TOPS-20, VMS)
- Structured Programming (Pascal, Modula, Niklaus Wirth)
- Relational data model and SQL (Codd, Chamberlin, Boyce)
I could keep going on, but this is already too long. I hope this at least puts your feet on the first steps.