I am an undergraduate at the University of Chicago. I originally wanted to study pure mathematics and theoretical computer science but decided to pivot into systems programming and software development in Jan 2024 after a(n) (un)fortunate realization that I did not possess the raw intellectual power to make it in the world of mathematical academia.
Before entropy gets the best of me, I hope my sensory organs feel some cool things, that my neurons fire some cool thoughts, and that my limbs build some cool stuff.
Wacky Stuff
I am a believer that computer science as a pure mathematical/philosophical discipline was already completed by 1950. Everything after that was purely for improved operability (e.g. Operating Systems, HCI, Programming Languages, Networking, Databases etc.), though obviously nevertheless super non-trivial (little old me wouldn’t dare) and in fact responsible for the impact of computing on modern living.
- Charles Babbage designs machinery with addressability, syntax, and operators without electricity in 1837!!
- Turing mathematically formalizes computability in 1936.
- Konrad Zuse implements first programmable Turing Complete Z3 in 1941.
- Von Neumann Architecture eternalizes patterns of Fetch-Decode-Execute and I/O in 1945.
- Claude Shannon formalizes Information Theory and practicalizes Boolean logic into electrical circuits in 1948.
These works are what I contend are the mathematical/philosophical/engineering kernel of computer science. Of course, every giant stands on the shoulders of gianter giants so an argument can easily be made that the intellectual foundations go further back. I believe every idea in computer science can be traced back to three concepts:
- addresses (indirection i.e. location routing)
- syntax (memory i.e. delayed signal processing)
- operators (instructions i.e. physical transformation)