I think that there are several concepts which need to be addressed:
The shape of logic itself
The ways that programming can be taught to children
The different languages which people use to intuit the meaning of concrete syntax
The nature of neocolonialism, neoliberalism, and capitalism
One easy mistake which I notice in this presentation is to think that logic is especially white/Western/etc. merely because our current flavors of formal logic were refined by white Westerners. Quantifiers and syllogisms are diverse and ancient (e.g. from Greece or China), and formal grammar is also ancient (e.g. from India); what is new is the remarkable precision and success of set theory, type theory, category theory, etc.
Another easy mistake is to think that ALGOL and COBOL are the only possible language families. The claim that syntax follows English grammar is not universal, but specifically about COBOL. Similarly, the heavy focus on procedures and syntactic recursion is characteristic of ALGOL. I would have loved to see a treatment of something like Forth or Prolog.
Nomenclature and translations are important, but they aren’t abstract syntax. This is relevant to Quorum, which the author indicates as a stepping stone towards accessibility; all of the concrete syntax improvements in the world cannot make Quorum into a good language, any more than they could make PHP or COBOL into good languages. As a serious example, Wordplay is implemented in a way which invites type confusions, and while their UX for resolving type confusions is nifty, it is fundamentally papering over a language-design mistake which we understand how to avoid.
Finally, note that Wordplay “functions” need not be actual functions; some Wordplay expressions denote partial functions, which predictably undermines the obligatory slide (two slides, actually!) full of the typical functional-programming memes. This is an important lesson for all language designers: we are not immune to memes!
Computing has long prized performance over comprehensibility, as part of a broader project of capitalism…
Tempting, right? But not quite accurate. Performance comes as part of the industrialization of society, which postdates the origins of capitalism by a couple centuries. (The East India Company is the latest that we can start the clock on capitalist society, in the early 1600s; however, the Industrial Revolution did not start in earnest until at least the 1750s.) Instead, we should look at performance on its own merits, as a singular driving force which eats everything else. We sacrifice for speed.
This means that an anti-capitalist language will not merely be achieved by ignoring speed. Instead, proper anti-capitalism consists of attacking and degrading the various social constructions which underlie capitalism itself, like copyright or planned obsolescence. For example, I’d love to share a PDF of Tormey 2013, Anti-capitalism: a beginner’s guide, but I can’t find one and the book is under copyright.
All this said, though, I enjoyed the presentation and I think that we need more of this sort of research. Justice is not easy and requires us to build bridges between the familiar and the distant.
One easy mistake which I notice in this presentation is to think that logic is especially white/Western/etc. merely because our current flavors of formal logic were refined by white Westerners.
I was expecting myself to write a long reply to this but then I got stuck, because I know less than I thought about non-Western logic! This really needs a book-level treatment and I don’t know one (although I bet there are several).
In short, I strongly agree with the main idea.
One caveat is that many of the most important refiners of Western science were not in fact Western but were working in a Western system, but I can’t think of many in logic specifically, although Hao Wang is one example. There are of course traditions still going outside the hegemonic one, but they’re no longer particularly characterised by West or North versus the rest. Okay, that’s obvious to anyone who’s being careful but some people aren’t.
By the way, a lot of the calls I hear for non-Western logics in my neck of the woods might be better thought of as calls for more diverse logics regardless of origin. I imagine that very few people outside academic logic groups (and, I know for a fact, even quite a few people inside academic logic groups!) have no idea how diverse Western logic is. They need to hear about relevance logics and dieletheism and intuitionism and OMG so much diverse stuff (and that’s not even including anything recent!)
APL is very briefly referenced, but I’m surprised it wasn’t more prominent. APL-family languages rely upon symbols, rather than keywords, conveying meaning without relying upon any particular human language. They’re functional, and also highly concise, which makes programs faster and easier to manipulate, whether by keyboard, mouse/touchscreen, or other input devices.
I find the title strange. The topic is mostly about making programming (or learning it) more accessible, e.g. by supporting not just English keywords but also other languages etc.
The use (or overuse) of the term “Justice” in the title is reminiscent of https://en.wikipedia.org/wiki/Law_of_the_instrument to me, and additionally also seems a bit of an inflammatory language choice (ok, so in response to the inevitable “but who stands against Justice, unless you are a libertarian anarchist?” I’d say that its association with SJW is unfortunate)
Interesting. Isn’t it ironic that someone working on “justice in programming language design” fails to get the meaning of the title across to someone like me who is not a native English speaker? Looks like the author has exactly the same bias they are fighting against…
I think that there are several concepts which need to be addressed:
One easy mistake which I notice in this presentation is to think that logic is especially white/Western/etc. merely because our current flavors of formal logic were refined by white Westerners. Quantifiers and syllogisms are diverse and ancient (e.g. from Greece or China), and formal grammar is also ancient (e.g. from India); what is new is the remarkable precision and success of set theory, type theory, category theory, etc.
Another easy mistake is to think that ALGOL and COBOL are the only possible language families. The claim that syntax follows English grammar is not universal, but specifically about COBOL. Similarly, the heavy focus on procedures and syntactic recursion is characteristic of ALGOL. I would have loved to see a treatment of something like Forth or Prolog.
Nomenclature and translations are important, but they aren’t abstract syntax. This is relevant to Quorum, which the author indicates as a stepping stone towards accessibility; all of the concrete syntax improvements in the world cannot make Quorum into a good language, any more than they could make PHP or COBOL into good languages. As a serious example, Wordplay is implemented in a way which invites type confusions, and while their UX for resolving type confusions is nifty, it is fundamentally papering over a language-design mistake which we understand how to avoid.
Finally, note that Wordplay “functions” need not be actual functions; some Wordplay expressions denote partial functions, which predictably undermines the obligatory slide (two slides, actually!) full of the typical functional-programming memes. This is an important lesson for all language designers: we are not immune to memes!
Tempting, right? But not quite accurate. Performance comes as part of the industrialization of society, which postdates the origins of capitalism by a couple centuries. (The East India Company is the latest that we can start the clock on capitalist society, in the early 1600s; however, the Industrial Revolution did not start in earnest until at least the 1750s.) Instead, we should look at performance on its own merits, as a singular driving force which eats everything else. We sacrifice for speed.
This means that an anti-capitalist language will not merely be achieved by ignoring speed. Instead, proper anti-capitalism consists of attacking and degrading the various social constructions which underlie capitalism itself, like copyright or planned obsolescence. For example, I’d love to share a PDF of Tormey 2013, Anti-capitalism: a beginner’s guide, but I can’t find one and the book is under copyright.
All this said, though, I enjoyed the presentation and I think that we need more of this sort of research. Justice is not easy and requires us to build bridges between the familiar and the distant.
I was expecting myself to write a long reply to this but then I got stuck, because I know less than I thought about non-Western logic! This really needs a book-level treatment and I don’t know one (although I bet there are several).
In short, I strongly agree with the main idea.
One caveat is that many of the most important refiners of Western science were not in fact Western but were working in a Western system, but I can’t think of many in logic specifically, although Hao Wang is one example. There are of course traditions still going outside the hegemonic one, but they’re no longer particularly characterised by West or North versus the rest. Okay, that’s obvious to anyone who’s being careful but some people aren’t.
By the way, a lot of the calls I hear for non-Western logics in my neck of the woods might be better thought of as calls for more diverse logics regardless of origin. I imagine that very few people outside academic logic groups (and, I know for a fact, even quite a few people inside academic logic groups!) have no idea how diverse Western logic is. They need to hear about relevance logics and dieletheism and intuitionism and OMG so much diverse stuff (and that’s not even including anything recent!)
APL is very briefly referenced, but I’m surprised it wasn’t more prominent. APL-family languages rely upon symbols, rather than keywords, conveying meaning without relying upon any particular human language. They’re functional, and also highly concise, which makes programs faster and easier to manipulate, whether by keyboard, mouse/touchscreen, or other input devices.
I had similar thoughts as I was watching. The playfulness aspect and emphasis on interactive visuals also reminded me of Decker.
I find the title strange. The topic is mostly about making programming (or learning it) more accessible, e.g. by supporting not just English keywords but also other languages etc.
The use (or overuse) of the term “Justice” in the title is reminiscent of https://en.wikipedia.org/wiki/Law_of_the_instrument to me, and additionally also seems a bit of an inflammatory language choice (ok, so in response to the inevitable “but who stands against Justice, unless you are a libertarian anarchist?” I’d say that its association with SJW is unfortunate)
Interesting. Isn’t it ironic that someone working on “justice in programming language design” fails to get the meaning of the title across to someone like me who is not a native English speaker? Looks like the author has exactly the same bias they are fighting against…