(OTOH I hope that the work I do for programmers mi...
# thinking-together
d
(OTOH I hope that the work I do for programmers might become part of the underlying infrastructure of tools for non-programmers.)
d
.. and I'd like to take this opportunity to once more assert that I, for one, am pursuing the Future of Programming, for non-Coders šŸ˜„
ā¤ļø 2
w
I think about it as: in a future with sufficiently good education and tools, everyone is a programmer.
m
but that future programmer won't seem to be "programming" from the current perspective/definition
šŸ’Æ 2
w
Though I'm really oriented along a different axis. It's not Programmers vs Non-programmers so much as... well it's not Professionals vs Amateurs either, but that's getting closer. I mean sometimes it's great to get an 80% solution quick. Sometimes it's great to get a 99.9% solution through endless tweaking, blood, and tears. So maybe there's another direction, call it up, that's neither quick nor twiddly.
d
My future makes that line very blurry and way to cross. There's still a spectrum, but much less of a barrier. So, it's definitely for both
p
literacy : programming :: author : programmer?
d
lawyers are programmers. anyone who creates rules, in their local photography club or their United Nations, are programmers. Programming is still elite in those cases, but much more 'normal'
Science involves modelling, so scientists are often programmers. Still elite though.
Maybe "programming" in this broader sense is always destined to be an elite occupation..
Having said that, maybe education and society make it so: children absolutely love making up rules and games and confabulating reasons why things are the way they are ("science")
which is what @Will was alluding to perhaps
w
In educational circles they like to call this ā€œcomputational thinking,ā€ which is ill-defined but most closely captures the skill set Iā€™m envisioning. One definition: the ability to understand, use, modify, and create formal languages (programming languages, law, mathematics, games, ā€¦). Bonnie Nardiā€™s book ā€œA Small Matter of Programmingā€ does a good job explaining the universality of formal languages.
In the future, I think that computational thinking (CT) can be seen as a basic skill all people should have, just like standard literacy. Right now, our concept of CT is heavily tied to computers, which is bad because computers are counterintuitive and designed to work in accordance with the laws of physics, not the laws of human thought.
However, I think with sufficient understanding of humans and formal languages, we could develop an education around CT that teaches these skills in a way everyone can appreciate and benefit from, leading some people to be programmers, but more generally leading to a society where everyone can apply computational ideas to all walks of life. Crafts (see knitting languages), law (distinguishing precise from ambiguous language), whatever
šŸ‘šŸ¼ 1
(so, in that sense, what I said wasnā€™t quite right--itā€™s not true that everyone should a programmer, but everyone should be a computational thinker!)
For example, I think the foundational ideas of precision (formal languages, syntax/grammar, semantics), abstraction (variables, functions), and modularity (interfaces, encapsulation, exchangeability) should be universal skills in the same way arithmetic, literacy, historical interpretation, etc. are.
šŸ‘šŸ¼ 2
Iā€™ve sometimes referred to this as ā€œcomputational literacyā€ as well. (Thanks @Duncan Cragg for reminding me to expand on the comment.)
d
šŸ‘šŸ¼