In a 1982 tongue-in-cheek diatribe titled “Real Programmers Don’t Use Pascal”, Ed Post laments the softening of computer programmers. Personal computers and user-friendly tools were breeding novices who could ostensibly write a program but not actually understand how it worked.
Real Programmers, he insists, do everything in Fortran. If Fortran isn’t available, they use assembly. If assembly isn’t available, they punch the hex codes directly into the front panel.
The article proved prescient. For decades, American universities dominated the ACM International Collegiate Programming Contest, the world’s largest and oldest programing competition. After 1989, it appears our country’s programmers fell off a cliff. The last 17 years’ winners have alternated between China and Russia, with two cameos from the University of Warsaw in Poland. Our last win was in 1997.
American inferiority isn’t just at the elite level; HackerRank compiled the results of 1.4 million coding challenges done by 300,000 programmers and ranked the United States at a dismal 28th. The top two countries were China and Russia. Geez, no wonder we keep getting hacked.
Real Programmers used to have a solid understanding of math. The questions used in programming competitions are really just mathematical logic problems with a coding element (here are some samples). The fact that American programmers are getting pwned at solving algorithms doesn’t mean we suck at computers, it means that our brightest programmers no longer focus on math.
According to Ed Post, here are some things that Real Programmers did for a living in 1982:
o Real Programmers work for Los Alamos National Laboratory, writing
atomic bomb simulations to run on Cray I supercomputers.
o Real Programmers work for the National Security Agency, decoding
o It was largely due to the efforts of thousands of Real Programmers
working for NASA that our boys got to the moon and back before
These tasks don’t require programming skill so much as the ability to apply advanced mathematics. You can’t simulate bombs without integral calculus; You can’t put a man on the moon without understanding acceleration curves and differential calculus; You can’t decode ciphers without information theory and abstract mathematics.
Post warned that Real Programmers might compromise their principles to work at trivial but lucrative jobs, like building Atari games or writing code for LucasFilm. He was right. Three and a half decades later, the best programmers are working on better ways to show you ads.