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.

2017-01-13T10:05:37+00:00 December 28th, 2014|Reflections|8 Comments

8 Comments

  1. C.A.S December 28, 2014 at 5:04 am - Reply

    Reblogged this on Broken Things Aren't Forever.

  2. Steve Pink December 28, 2014 at 5:58 am - Reply

    A “perfect” computer language would contain no I/O. To change the world, we need to embrace imperfection.

  3. Teresa Rothschild December 28, 2014 at 10:34 am - Reply

    I love this blog!! Your actions change my world Nicole and I thank you ???????????????????? Happy New Year

    • Nicole Yunger Halpern December 28, 2014 at 10:37 am - Reply

      Thank you, Teresa, and likewise. 🙂

  4. ychen December 28, 2014 at 11:31 am - Reply

    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 🙂

    • Nicole Yunger Halpern December 28, 2014 at 12:04 pm - Reply

      Those sound like worthwhile resolutions!

  5. johnpappas January 11, 2015 at 9:18 am - Reply

    Reblogged this on John Pappas's blog.

  6. Jon Awbrey January 11, 2015 at 9:24 am - Reply

Leave A Comment