I always intended "Programming in the 21st Century" to have a limited run. I knew since the Recovering Programmer entry from January 1, 2010, that I needed to end it. It just took a while.
And now, an explanation.
I started this blog to talk about issues tangentially related to programming, about soft topics like creativity and inspiration and how code is a medium for implementing creative visions. Instead I worked through more technical topics that I'd been kicking around over the years. That was fun! Purely Functional Retrogames is something I would have loved to read in 1998. More than once I've googled around and ended up back at one of my essays.
As I started shifting gears and getting back toward what I originally wanted to do, there was one thing that kept bothering me: the word programming in the title.
I don't think of myself as a programmer. I write code, and I often enjoy it when I do, but that term programmer is both limiting and distracting. I don't want to program for its own sake, not being interested in the overall experience of what I'm creating. If I start thinking too much about programming as a distinct entity then I lose sight of that. Now that I've exhausted what I wanted to write about, I can clear those topics out of my head and focus more on using technology to make fun things.
Thanks for reading!
It's hard to sum up 200+ articles, but here's a start. This is not even close to a full index. See the archives if you want everything. (There are some odd bits in there.)
widely linked
- Things That Turbo Pascal is Smaller Than
- Do You Really Want to be Doing This When You're 50?
- Organizational Skills Beat Algorithmic Wizardry
- Retiring Python as a Teaching Language
- Computer Science Courses that Don't Exist, But Should
popular
- Five Memorable Books About Programming
- A Spellchecker Used to Be a Major Feat of Software Engineering
- Want to Write a Compiler? Just Read These Two Papers.
- On Being Sufficiently Smart
- Optimizing for Fan Noise
- Free Your Technical Aesthetic from the 1970s
- Advice to Aimless, Excited Programmers
- Write Code Like You Just Learned How to Program
- Don't Distract New Programmers with OOP
- Recovering From a Computer Science Education
- Don't Fall in Love With Your Technology
- A Complete Understanding is No Longer Possible
- Solving the Wrong Problem
- This is Why You Spent All that Time Learning to Program
- We Who Value Simplicity Have Built Incomprehensible Machines
- Your Coding Philosophies are Irrelevant
- The Silent Majority of Experts
- Hopefully More Controversial Programming Opinions
- How much memory does malloc(0) allocate?
on creativity
- The Pure Tech Side is the Dark Side
- Flickr as a Business Simulator
- How to Think Like a Pioneer
- What Do People Like?
- Accidental Innovation, Part 1
- If You're Not Gonna Use It, Why Are You Building It?
- It's Like That Because It Has Always Been Like That
- Trapped by Exposure to Pre-Existing Ideas
- Get Good at Idea Generation
- You Can't Sit on the Sidelines and Become a Philosopher
- The Software Developer's Sketchbook
- Design is Expensive
- Why Doesn't Creativity Matter in Tech Recruiting?
others that I like
- Deriving Forth
- Tales of a Former Disassembly Addict
- Living Inside Your Own Black Box
- Tricky When You Least Expect It
- The Most Important Decisions are Non-Technical
- Things to Optimize Besides Speed and Memory
- All that Stand Between You and a Successful Project are 500 Experiments
- The UNIX Philosophy and a Fear of Pixels
- Dangling by a Trivial Feature
- Documenting the Undocumentable
- You Don't Want to Think Like a Programmer
- You Don't Read Code, You Explore It
- If You Haven't Done It Before, All Bets Are Off
- What Can You Put in a Refrigerator?
- The Same User Interface Mistakes Over and Over
- Fun vs. Computer Science
Erlang
- A Deeper Look at Tail Recursion in Erlang
- My Road to Erlang
- Garbage Collection in Erlang
- How to Crash Erlang
- Eleven Years of Erlang
- A Ramble Through Erlang IO Lists
- A Concurrent Language for Non-Concurrent Software
- A Peek Inside the Erlang Compiler
- Evolution of an Erlang Style
retro
- A Personal History of Compilation Speed
- Slow Languages Battle Across Time
- How Much Processing Power Does it Take to be Fast?
- 8-Bit Scheme: A Revisionist History
- Stumbling Into the Cold Expanse of Real Programming
- Why Do Dedicated Game Consoles Exist?
- Lost Lessons from 8-Bit BASIC
- Programming Modern Systems Like It Was 1984
Also see the previous entry for all of the functional programming articles.
Programming as if Performance Mattered is something I wrote in 2004 which used to be linked from every prog21 entry.