|◀||Abstract Wikipedia Updates||▶|
- Inclusion and diversity despite mathematics
Common wisdom has it that skills with numbers and programming go hand-in-hand. If someone is not good in mathematics, then they’ll be no good in natural sciences, technology, or engineering. These skills go so tightly together that people came up with a short acronym for their conjunction: STEM. Given the frequent use of formulas in science, technology, and engineering, this seems to make sense: if you have a good instinct for numbers, units, and relations between quantities, then you will more easily intuit equations and scientific laws. Galileo said that all science is written in the language of mathematics, after all.
So, how would that not be true for programming a computer? They are called computers, after all, because they compute numbers so well. The foundations of computers are the two numbers 1 and 0 and the very fast and repeated processing of operations on long strings of these two numbers.
Last year, a paper in Nature actually tested this wide-spread assumption. And, rather surprisingly, it discovered that the correlation between STEM skills and the ability to learn to program is far weaker than the correlation between learning to program and natural language aptitude. Natural language aptitude was about ten times as predictive!
I was very worried about the effort that we would need to undertake in order to identify and recruit the right people for Wikifunctions: people who can build a library of natural language generation functions for hundreds of languages. Where would we find people skilled in both under-represented languages and programming? Would there be enough of them? Would they have the time to contribute to Wikifunctions or would they be busy due to their rare combination of skills?
But as we can infer from the result in the Nature paper, this should turn out to be easier than I initially feared. All we need to look for is natural language aptitude, and through that we will cover all necessary skills.
It shouldn’t have come as a surprise. Lady Ada Lovelace, widely known as the world’s first programmer, proclaimed that we would use programming to work with art, and that numbers were not the only domain that computers could work with. She likened programming to poetry. As a counter-point, Donald Knuth, author of The Art of Computer Programming, estimated that only about 2% of the population are what he calls “geeks”, with the mindset necessary for programming. He based this on his own observations and his life-long attempts at educating and reaching out about computer science.
But in many of Knuth’s writings, just as in many other introductions to programming, you will start with examples in mathematics. The first example in The Art of Computer Programming is Euclid’s algorithm to determine the greatest common divisor, and even before you get to the first section heading, entitled “Mathematical preliminaries”, he has already talked about prime numbers and averages, asked you to give a mathematical proof, and had you formulate a set-theoretic definition. Many other books introducing programming are no different, often assuming fluency in at least high school mathematics and sometimes beyond.
Is it possible that by relying so much on a strong mathematical foundation the field of computer science has systematically, if unintentionally, excluded a large number of people who would otherwise be active contributors to the world of programming? Can we imagine a more inclusive approach to programming?
This is the community we should be aiming to grow and foster for Wikifunctions: one where we do not exclude people because of their lack of certain skills, such as mathematics. We want to give everyone the ability to effectively use functions, to create functions, to share and talk about functions. We should allow for people with different skill sets to collaborate and reach more than any one of us can do. That is, and always has been, the special advantage of the Wikimedia projects. Let us make a concentrated effort to be open and welcoming.
And I think we can do so. To give one example: when Jeff Howard performed user research for Wikifunctions, he identified that many people didn’t really get what we were aiming for with Wikifunctions. He cited existing Wikimedia contributors such as Vigneron who said that, while they were excited about using Wikifunctions, they didn’t think they would necessarily contribute to it. They didn’t think of themselves as “programmers”.
Earlier this year, we were talking about morphological paradigms to create plurals in English. After we published that newsletter, one user saw it and created a function, tests, and an implementation to do the same thing in French. It was Vigneron!
It will be challenging. It will require new and inclusive ways of product development to thoughtfully and intentionally ensure Wikifunctions is a welcoming and inclusive community. But let us all commit to it. Let us be mindful in the examples we choose, in the tutorials we write, in the language we use.
I have not been mindful of this concern in many of my talks. My examples were often drawn from mathematics, and the very first implementation I presented was a recursive application of addition, using it to calculate a product. I will aim to do better, and I plan to draw my examples from other domains, in particular from natural language generation. And whereas I fully expect us to quickly build up a library of functions in different areas of STEM, which is of course important, let us be especially mindful to not emphasize these to the exclusion of other areas, skill sets, and interests.
The insight from the Nature paper is a gift to our project. Let us be careful not to squander it.
(The weekly newsletter is always a collaborative effort by the whole team. This week’s newsletter in particular benefited from discussions, contributions, editing, questions, and comments by James Forrester, Cory Massaro, Aishwarya Vardhana, Adam Baso, and Nick Wilson. -- Denny)
The recording about Wikifunctions and Abstract Wikipedia with a Russian translation at the Russian Wiki-Conference in Moscow, Russia, organized by Wikimedia RU, is now available on YouTube. Thanks to Gulnara for the translation!
The video recording from the Data Con LA 2021 Panel on Structured Data with Wikifunction’s Denny Vrandečić, Heather Hedden, and Karen Lopez, hosted by Joe Devon is now online.
The Arab presentation slides about Abstract Wikipedia and Wikifunction at WikiArabia by Houcemeddine Turki are now online on Meta. The video recording is expected to be online later. Houcemeddine will also present an English version of that talk at WikidataCon next week.
Talking about WikidataCon! Next weekend we celebrate the ninth anniversary of Wikidata! From the 29th to the 31st of October we have three days full of program, community, and data. This year’s WikidataCon is accessible online and will be co-hosted by Wikimedia Deutschland and Wiki Movimento Brasil. You can register for WikidataCon 2021 for free!
At WikidataCon, on Friday, Tochi Precious of the Igbo community is joined by Denny Vrandečić in “Igbo and Abstract Wikipedia - a conversation” hosted by Silvia Gutiérrez.
Also, we are looking forward to the fiftieth newsletter next week. Expect something long in the making.