Skip to content

Instantly share code, notes, and snippets.

@melaniehoff
Last active February 1, 2024 16:58
Show Gist options
  • Star 51 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save melaniehoff/95ca90df7ca47761dc3d3d58fead22d4 to your computer and use it in GitHub Desktop.
Save melaniehoff/95ca90df7ca47761dc3d3d58fead22d4 to your computer and use it in GitHub Desktop.

Always Already Programming

Everyone who interacts with computers has in important ways always already been programming them.

Every time you make a folder or rename a file on your computer, the actions you take through moving your mouse and clicking on buttons, translate into text-based commands or scripts which eventually translate into binary.

Why are the common conceptions of programmer and user so divorced from each other? The distinction between programmer and user is reinforced and maintained by a tech industry that benefits from a population rendered computationally passive. If we accept and adopt the role of less agency, we then make it harder for ourselves to come into more agency.

We've unpacked the "user" a little, now let's look at the "programmer." When a programmer is writing javascript, they are using prewritten, packaged functions and variables in order to carry out the actions they want their code to do. In this way, the programmer is also the user. Why is using pre-made scripts seen so differently than using buttons that fire pre-made scripts?

When we all build up and cultivate one another’s agency to shape technology and online spaces, we are contributing to creating a world that is more supportive, affirming, and healing.

∞ The user programs and the programmer uses ∞

∞ It's buttons all the way down, buttons pressing buttons ∞

Thanks for stopping by!

@suyashcjoshi
Copy link

suyashcjoshi commented May 2, 2020

Interesting perspective actually, after some thinking it made me realize there is lot of truth here.

@comeoneileen
Copy link

I heard you present this at Learning To Teach Creative Technologies and came here to thank you for this gift. I've taught kids about programming for years, and a couple of times when I've said, "Programming is giving a computer instructions," they've come back with, "Like when you say, 'Hey Siri, tell me a joke'?". I've always instinctively said, "errrrr, well, no..." but not had a reason either of us found satisfactory. Being able to validate their experience by saying, "Yes, that's a way you've given a computer instructions before - what other ways can you think of?" is a really useful reframing. Thank you for sharing!

@suyashcjoshi
Copy link

Melanie Hoff - I'm working on a pet project that I call "Future of programming" love to share with you as I publish it later this year. Hopefully it will change the way most people think about programming.

@gyuri-lajos
Copy link

What a poetic expression of ideas close to my heart. Thanks you.

Indeed Software is a Symmathetic Conversations

Home Brew Computing is about articulation of intent until a working system is co-created and co-evolve

Foture of programming: transcend the practice based on deeper understanding of the task itself

https://twitter.com/TrailMarks/status/1339667385087881225

Trail Marks
@TrailMarks
Quote Tweet
Codex OS
@codexeditor
· Dec 17, 2020
If you could have one of your applications magically rewritten in your dream language, what would it be?

You don't have to be fluent in or even use it. Just be interested in it?

I'd love to see Codex written in @racketlang.

My response:

Sussman says: "I hate all programming languages, including the ones I invented."
I designed the Language-Oriented Programming Language "Meta-Lisp" for my thesis
It was designed for Intellectual Manageability and ease of accommodating conceptual change as the understanding of the problem grew

It was great, but it was still "programming"
With the graph at hand, wield it well, U do not need programming languages as such

https://twitter.com/search?q=programming%20(from%3ATrailMarks%20OR%20from%3ATrailHub1)&src=typed_query

@traincroft
Copy link

Undoing this binary is such a lovely idea. What can we say about dimensionalizing among/between these ways-of-interacting? How many and which dimensions will we need? Thank you

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment