The birth of computational prime hunting
Today in the history of programming
February 23 matters in the history of programming because it marks the birth of Derrick Henry Lehmer in Berkeley, California in 1905, a figure who helped turn number theory into something you could run like an experiment. Before modern high level languages, Lehmer’s work pushed computation forward by treating prime search and factoring as engineering problems, building electromechanical and mechanical “sieves” that embodied algorithms in hardware.
The Lehmer sieve is one of the cleanest reminders that programming is older than software. A sieve is an algorithmic idea, and the Lehmers implemented it as a physical machine that could rapidly test congruences and filter candidates, essentially hard wiring a search procedure into moving parts, switches, and sensors. This is not a museum curiosity. It is an early example of what we still do today when we move hot loops into specialized kernels, vector instructions, GPUs, or custom accelerators. The medium changes. The impulse stays the same: take a mathematical structure and make it execute faster by respecting the constraints of the machine.
Lehmer also sits directly on the line that connects prime hunting to modern computing practice. Prime tests and fast modular arithmetic are not just pure math, they are the backbone of widely used cryptographic systems, and the Computer History Museum explicitly frames prime numbers as important to cryptography in its February 23 entry on Lehmer. When you write software today that depends on secure connections, signatures, or authenticated updates, you are relying on descendants of the same computational number theory mindset: you need fast, reliable procedures for working with large integers and for establishing properties like primality under tight performance budgets.
If you want a technical moral from today’s date, it is that a surprising amount of programming history is really the history of making math executable. Lehmer’s era did it with electromechanical ingenuity. Ours does it with libraries, constant time implementations, hardware acceleration, and careful engineering around side channels. The continuity is the important part. Programming has always been about bridging abstract rules to real machines, and February 23 is a good day to remember one of the people who helped make that bridge concrete.
https://www.computerhistory.org/tdih/february/23/
https://mathshistory.st-andrews.ac.uk/Biographies/Lehmer_Derrick/

