The Language of Programming: A Deeper Perspective
In her talk at the Deconstruct Conference, Anjana Vakil delves into the intricate relationship between programming and linguistics. With a background in linguistics and philosophy, Vakil challenges common perceptions of code as a tool for communicating with machines. Instead, she posits that code is a human language designed for collaboration and communication. Vakil draws parallels between human languages and programming languages, emphasizing the need to understand both in their broader cultural and social contexts. She also highlights the importance of the words we choose in our code, advocating for awareness of these choices’ cultural and societal implications.
The Human Element of Code
Vakil argues that code is not just a set of instructions for machines but a language that allows humans to collaborate and communicate ideas. She suggests that, like human languages, programming languages are deeply connected to the cultures and societies in which they are used.
- Question: How does viewing code as a human communication change our programming approach?
- Insight: Recognizing code as a human language can shift our focus from mere functionality to clarity, readability, and the social impacts of our work.
Breaking Down Paradigms
Vakil discusses the concept of programming paradigms and how they are not indivisible units but can be broken down into concepts. She cites Peter van Roy’s perspective that each paradigm, and language, is best suited for certain types of problems based on the pictures it supports.
- Question: How can embracing diverse programming paradigms enhance our problem-solving abilities?
- Insight: By understanding the strengths and weaknesses of various paradigms, we can choose the most effective approach for each unique problem.
The Power of Words in Code
Vakil emphasizes the importance of being conscious of the words we use in our code, as they are deeply tied to broader cultural and social contexts. She advocates for using terms that are culturally sensitive, more descriptive, and self-explanatory.
- Question: How can we actively promote the use of more inclusive and descriptive language in the coding community?
- Insight: The words we choose in our code are not neutral; they carry weight and can reinforce or challenge existing societal norms.
This talk by Anjana Vakil encourages us to view programming through a new lens that recognizes the deep connections between coding and human communication, culture, and society. It’s a call for programmers to be mindful of the words they use and the paradigms they operate within, recognizing the broader impacts of their work.
The original article is at Deconstruct-2018.