# thinking-together

David Piepgrass

04/03/2019, 1:25 PM
(OTOH I hope that the work I do for programmers might become part of the underlying infrastructure of tools for non-programmers.)

Duncan Cragg

04/03/2019, 2:52 PM
.. 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


04/03/2019, 5:01 PM
I think about it as: in a future with sufficiently good education and tools, everyone is a programmer.

Mariano Guerra

04/03/2019, 6:56 PM
but that future programmer won't seem to be "programming" from the current perspective/definition
💯 2


04/04/2019, 12:36 AM
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.

Dan Cook

04/04/2019, 2:16 AM
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

Peter van Hardenberg

04/04/2019, 9:58 PM
literacy : programming :: author : programmer?

Duncan Cragg

04/04/2019, 10:09 PM
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


04/04/2019, 10:20 PM
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.)

Duncan Cragg

04/04/2019, 10:35 PM