Actions do change the world.

I heard it in a college lecture about Haskell.

Haskell is a programming language akin to Latin: Learning either language expands your vocabulary and technical skills. But programmers use Haskell as often as slam poets compose dactylic hexameter.*

My professor could have understudied for the archetypal wise man: He had snowy hair, a beard, and glasses that begged to be called “spectacles.” Pointing at the code he’d projected onto a screen, he was lecturing about input/output, or I/O. The user inputs a request, and the program outputs a response.

That autumn was consuming me. Computer-science and physics courses had filled my plate. Atop the plate, I had thunked the soup tureen known as “XKCD Comes to Dartmouth”: I was coordinating a visit by Randall Munroe, creator of the science webcomic xkcd, to my college. The visit was to include a cake shaped like the Internet, a robotic velociraptor, and playpen balls.  The output I’d promised felt offputting.

My professor knew. We sat in his office for hours each week, dispatching my questions about recursion and monads and complexity. His input shaped the functional-programming skills I apply today, and my input shaped his lecture notes. He promised to attend my event.

Most objects coded in Haskell, my professor reminded us in that lecture, remain static. The Haskell world never changes. Even the objects called “variables” behave like constants. Exceptions, my professor said, crop up in I/O. Users can affect a program through objects called “actions.”

“Actions,” he said, “do change the world.”

I caught my breath. What a zinger, I thought. What a moral. What a lesson for the ages—and from the mouths of computer scientists.

My professor had no idea. He swanned on about I/O without changing tone.

That December, I gave my professor a plaque that read, “Actions do change the world.” Around his slogan, I’d littered illustrations of fractals, Pascal’s triangle, and other subjects we’d studied. My professor’s actions had changed my world for the better.

Drysdale photo 2

You can change the world by writing code that revolutionizes physics or finance. You can change the world by writing code that limps through tasks but improves your understanding. You can change the world by helping someone understand code. You can change the world by understanding someone.

A new year is beginning. Which actions will you take?

 

*Not that I recommend studying Haskell to boost your verbal SAT score.

This entry was posted in Reflections and tagged , , , by Nicole Yunger Halpern. Bookmark the permalink.

About Nicole Yunger Halpern

I’m a theoretical physicist at the Joint Center for Quantum Information and Computer Science in Maryland. My research group re-envisions 19th-century thermodynamics for the 21st century, using the mathematical toolkit of quantum information theory. We then apply quantum thermodynamics as a lens through which to view the rest of science. I call this research “quantum steampunk,” after the steampunk genre of art and literature that juxtaposes Victorian settings (à la thermodynamics) with futuristic technologies (à la quantum information). For more information, check out my book for the general public, Quantum Steampunk: The Physics of Yesterday’s Tomorrow. I earned my PhD at Caltech under John Preskill’s auspices; one of my life goals is to be the subject of one of his famous (if not Pullitzer-worthy) poems. Follow me on Twitter @nicoleyh11.

8 thoughts on “Actions do change the world.

  1. Changing the world starts by changing professor’s lecture notes and keeps learning things that are going to help us change the world. This will be my new year action too 🙂

Your thoughts here.