Hi all, here's something I've been thinking about ...
# administrivia
m
Hi all, here's something I've been thinking about - I'm interested to open a bit of discussion about it and hear some more thoughts! Why is Future of Coding called Future of Coding? I've spent the past week educating myself on computer history and the recurring icons of FoC: Bret Victor, Alan Kay (both have lived up to the hype), Xerox Parc, Piaget, Papert... the whole rabbit hole and still going. I'm struck so far that they are really oriented around design, the future of human-computer interaction and the ideas around effective learning and teaching in a technologically-advanced world, not necessarily the practice of coding and computing. So why is FoC called Future of Coding? Why does it matter? I listened to '_A Case for Feminism in Programming Language Design_' by Felienne Hermans and the corresponding FoC podcast - both changed my world. Reading the responses on here were really interesting and there was also expressed interested in increasing the number of people-oriented creators of things, qualitative and feminine voices in this community. In support • Could the name FoC be self-selecting? Maybe these target perspectives might be attracted to the community if 'Coding' didn't appear as the true focus, but 'Human-Computer Interaction' or 'Design Engineering'? • Now, eeeeek, but do we like 'Coding' because it's hard, whereas 'Design' and 'HCI' don't have the same respected-because-they're-highly-technical connotations? (This is something I've reconciled myself since listening to Felienne's talk. I've called myself a Software Engineer for a long time, instead of what I am, what I trained in and what work I actually prefer, which is Design Engineer.) • When we say 'Future of Coding' is that actually why we're all here and what we're interested in? Maybe not! Most of the people in this community can probably code and it's probably how they found FoC, but do we want that to be the common theme of everyone here or are we interested in more designers and other people with interesting perspectives on the Future of "?" who can't code? In defence • 'Coding' is an important distinction, as it focuses on exploration and the making of things, rather than 'Code' which focuses on Computer Science. Maybe the interest of this community is applying these ideas through code and therefore 'Coding' is an appropriate word. • Have I misunderstood what Future of Coding is about? • If it was called something more about HCI and Design or Design Engineering, would a lot of people feel less connected to this community? Many people who identify with code and who have found FoC might not identify with design, even if a fair amount of the conversation and interest here is already around design. It would be a shame to lose or disconnect so many interesting projects and people from this community. • Bret Victor and Alan Kay mostly appear to present to coders, maybe 'Future of Coding' does attract the most appropriate audience, as it's their target audience. • Can a name ever capture everything? Future of Coding is also a good name! • Maybe this is all too in the weeds and communicating the communities interests through it's outputs like social media, Meetups and Slack is most important. • Maybe the problem is my internalised ideas as an individual, rather than the name of a community. In that case, sorry for wasting your time! Why I'm asking I had this experience in joining this community. I'm an AI Design Engineer and sometimes I don't feel much association with SWE communities because coding has always been something I love as a means to make my ideas real, but I'm not necessarily interested in all the aspects of code that many SWEs are. I (wrongly) assumed FoC must be a pure SWE group, and I think it's fair that I got that idea from the word 'Coding'. After many encouraged me to join, I since found that this community is amazing and was actually exactly what I was looking for the whole time, even if I didn't necessarily get that from the tin.
j
The name is what it is for historical reasons rather than because of a strong attachment to it. We even had a long thread where we tried to rename the group based on many of these concerns, but we were unable to generate a new name 😆 🤷🏻‍♂️
k
It could stand another iteration. Perhaps our pool of suggestions was too narrow. @Mimi Reyburn I'd love to have you post any ideas you have, before peeking at the previous thread.
d
I remember resisting "Coding" and pushing for "Programming", back in the Days of Krouse. Now I'd be happy with "Computing" I guess, as a compromise! Like you, I don't identify as a Futurist of Coding, not at all! Of Programming for sure, or Of Computing, yeah fine. Tricky though. Naming is so important but it's often rushed over to get on with the meat of the thing you're naming...
w
Likewise, I wasn't a fan of "coding" as a term either, due to, I don't know, code monkey connotations; but, at this point, I feel the connotation has shifted more to just practically programming, programming for the sake of getting some bigger task done. Is this just me?
k
No, I've been feeling slightly more positively as well about "coding" after starting out with a negative connotation for the term. Quite likely because of this place.
d
(aside: how did I not know about https://akkartik.name/archives/foc/ ..? wow, nice work!)
r
A random related thought: “coding” can also have a connotation of something being encoded or encrypted. Which, in some way, can be in conflict with some of the ideas in the community, where we could want what we're doing to be accessible, visual, have this instant feedback etc. As I understood the name (no idea if this is correct tho), it was done as an allusion to Bret Victor's “Future of Programming”, thus why the name is a bit different. I like the idea above of using the “computing” instead, if we were to choose to rename it. It feels more neutral, and “computing” feels wider than “coding”. Both also start from “C”, which is convenient for the FoC abbreviation :) However, I can also see how “computing” does not solve the “design” or “interaction” being absent from the name, and could still could keep some of the more “harder” connotations (although, in my opinion, we should be ambitious enough to challenge them, with one of the goals for “coding” or “computing” to not actually be “hard” in the future).
m
Thanks all for your comments - super interesting! I understood from Ivan that "Future of Coding" is derived from Victor's "Future of Programming", as you suggest @Roma Komarov. "Computing" is an interesting one because I take it to be synonymous with Computer Science (the CompSci degree at my university was called Computing). So, in my opinion, I'm not sure it's an accurate depiction of the interests of FoC either, as I'm particularly interested in something that would widen the scope to attract people from non-computing disciplines (e.g. designers). Now I'm wondering: Is FoC about coding or is it about interfaces and HCI (which are made by coding)? In which case, @Kartik Agaram names could be anything related too and ideally better than: • Future of HCI • Humane Interfaces • Beyond the Cursor • Tech for Thought (I'll now go and look at the previous thread 👀)
Back from the thread - some great ideas, mostly around computing and coding though. I think HCI and interfaces is more accurate as a unifying idea for FoC and what the group is interested in and who it hopes to attract, so I'd love to see more ideas around that!
k
What I like about this community is that it is very open-minded about defining its scope. There have been interesting discussions about a wide range of topics, with nobody ever chiming in just to say "this is out of scope here". I doubt that any short and memorizable name would ever be appropriate to what is being discussed here. Maybe the best choice would be some made-up word that doesn't suggest any specific topic. People would have to read a full-sentence description to decide if they are interested in joining.
k
My immediate reaction[1] is to push back on privileging "HCI" and "Interfaces" over "Code". They feel equally important for sure, but it feels like overcorrecting to focus on them over code. Then again, we've gone with Code for what, 8 years now? So perhaps we could do with some overcorrection 😂 Hmm, maybe that's the answer! Rotate the name every year by @Ivan Reese executive diktat. An old group I used to belong to did this for a month every year for a few years, and it definitely felt fun. [1] Perhaps I should give some background because I feel like I'm more on the "backend" here than most people. I believe there's a yin-yang here. The best way to get to a timeless interface is a better implementation. Implementation complexity is an underrated design concern. Durable code is superior to constantly updating software infrastructure, no matter how great the interfaces are. Graphics yes, but mostly text. The eye candy is a gateway drug, but the key is tricking people at scale into learning a little bit about systems thinking.
i
@Konrad Hinsen — One thing that is explicitly out of scope is startup boosterism, which is, unfortunately, one of the more pervasive reads/vibes of the name "future of coding" in the broader tech world. I don't feel like the bar is set quite as high as "name that is appropriate", but rather, "name that isn't inappropriate".
c
Thanks for bring this topic up @Mimi Reyburn, it’s also been on my mind since the last podcast episode too! I’m kinda more hung up of the “future” part. I dislike the connotation it invokes of there being a single alternative future (in practice here it’s visual/live programming) selected by the main demographic of this community (i.e. white men, myself included). This isn’t to diminish the value of pushing visual programing forward or that this community hasn’t been open and interested to all types of alternative forms of computing, but there is surely biases and self-selection, and our name is a proxy to that. Especially to Ivan’s point when in other context’s “future of coding” is used to largely push forward the status quo or new platforms to extract value from.
g
I somewhat favour “Future of Computing”, although that sounds like we might be talking about hardware also. I’m convinced that the easiest way to make (Turing Complete) coding easier is to require less of it to get things done. The relational model is capable of expressing most of what most programs do, we’re just pushed away from using it by the extreme awfulness that is SQL. My point is that we can make “coding” easier by giving us more and better ways of doing “computing”, so the name focuses us on the means and not the ends.
j
Note that code is a user interface too 🤔
d
@Jack Rusher well yes! That's actually the heart of this issue, isn't it?
k
I am mostly interested in the aspects mentioned by @Kartik Agaram and @Jack Rusher, but I think we should be open to discussing hardware as well, @Guyren Howe, and a lot more. I find a lot of inspiration in discussions about topics I wouldn't have considered interesting in the beginning. Maybe our subject area is something like "thinking about computing outside of the constraints of short-term applicability". Maybe someone can turn this into a catchy name.
a
If 'Future of Coding' is self-selecting, maybe finding a new name could involve a wider group of people than those who have got past it, somehow..
future can be pluralised like 'code futures' I think the community often looks for 'alternative timelines', like in the og

future of programming talk

'counterfactual computing'? I think generally the community is about interface-to-code, and/or code-as-interface, so it's a bit hard to get away from the word 'code'
g
My biggest singl concerns is “enabling computation”. We should have tools that are far beyond Excel in enabling non-developers to compute. (The starting point for such tools is “relational”, with Datalog). Once we develop such tools, developers will also use them, to do much of what they now do in code. AFAI’m concerned, a big part of the future of coding isn’t coding.
e
I have a take that might be a bit disconnected from previous conversations as I'm pretty new to this space and I am privileged enough to not have faced a lot of problems that many others have. I also unfortunately don't have a proper HCI grounding, instead just learning things as I go, but I hope that this will still be an interesting perspective. Personally, I think I'd like to see the terms "programming"/"coding" (the act) disconnected from "software engineering" (the profession). I'm going to use "programming" and "coding" below, however I'm not particularly attached to the words themselves, but rather to the idea that they represent to me. Having helped people with no technical background get their initial grounding in SQL and the Unix shell, I believe everyone is able to code. I fully believe that people that use Excel are programmers and Excel is an IDE/programming language. People who record complex actions in Photoshop are programmers. People who make their own blogs and websites are programmers. People who used a mass-rename tool to organize their documents folder are programmers. To me, all those people are programmers, yet they'd never refer to themselves as such. Ultimately, to me, "programming" is about getting your computer to do what you want as conveniently as possible. In that sense, "coding" seems close to synonymous to "human-computer interaction". Of course, as a "software engineer" (as my job title, though the term "programmer" is closer to my heart), I am a bit biased towards "coding" in text based programming languages - and all the prior art (home computers where the interface was a BASIC REPL come to mind) doesn't help with that either. My dream is to get people to code - to interact with their computers - better. To understand them better, to use them better to achieve their own goals (and not to necessarily "ship products"). I think a lot of tools we have are not particularly great for that. A lot of incentives have aligned such that many (most?) of the "programming" tools and even conversations are actually "software engineering" tools and conversations. Sometimes I feel like we don't even have the language to describe some of these things as most of the space is dealing with entirely different problems. This makes me want to expand the terms "coding" and "programming" to include a lot more people than those doing traditional software engineering work. Still, I think the dream itself is much more important than the word itself. I think what I describe can just as well be described as "HCI" rather than "programming" - and I don't mind either name, especially if it means that more people will feel like that these interactions we all have through code are something they too can do on their computer.
j
I agree that “Future of Coding” is not a perfect name, although it’s one I’ve come to accept as the least bad option I can think of. “Coding” has a lot of connotations that I think are appropriate for this community and its interests: 1. “Coding” is often a term used by people who are not professional software developers, and to me it conveys the spirit of novices. I personally observe experienced software developers using the word “coding” less often than people newer to or outside of the conventional definition of “programming” used by that group. (For example, I think annoying people obsessed with what constitutes a “real programming language” have fewer objections to writing HTML being “coding” vs. “programming”. Not that we should pick a name based on what these people think) 2. “Coding” centers a particular style of instructing computers — currently by manipulating highly structured text — that this community is interested in analyzing, criticizing, and proposing alternatives to. It also centers the act of instruction as opposed to any other considerations involved in producing software. “Programming” or “Software Engineering” connote things beyond the medium. IMHO, this community is most interested in criticizing the medium, though it often involves branching out into how changing the medium has implications for thinking about the computation itself. For example, better testing definitely falls under the purview of software engineering, but I think would be only marginally relevant to this community? 3. “Future of Computing” seems far too broad to me. Computing involves so many more things beyond the part where you instruct a computer what to do. Are new CPU designs FoComputing? Theory of computation? While I think those things may be interesting and relevant sometimes, I think looking around this Slack and the podcast it’s evident that this is not what folks seem to mean most of the time by “computing”. Coming at “Human Computer Interaction” from a different angle (current HCI PhD student), I think it’s not a very appropriate term — the HCI community is engaged in much more beyond instructing computers to do things, or even “interaction”. It’s also a pretty unfamiliar term to most people, even those very immersed in studying computing. I suspect that using HCI in the name would not have the intended effect. Coding can also refer to the assignment of categories to observations in the social sciences. This actually comes up a lot in academic HCI and is briefly confusing to me every time I read it. But I don’t think this is a thing most people would think “Future of Coding” means. All of that said, I love Felienne Hermans’ paper and I definitely agree it’s worth examining whether the name is potentially communicating the wrong thing! So while I currently think that the name is reasonably evocative and clearly communicates what people in this community are doing (criticizing the current text-dominated medium for instructing computers to do things), I’m still open to there being a better name out there.
a
Last time this came up, I think I was a fan of "Future of Computing", since at least in common parlance that's closer to the scope of what we tend to talk about here. I seem to recall there was a strong reason we couldn't use it... However, in defense of "coding": literally all information outside the dang Platonic Realm, and maybe the quantum information of fundamental particles, is encoded in some sense or other. This is especially obvious with anything related to computers. C code is an encoding of some intent. So is a mouse gesture, in a sense, which becomes relevant when you start thinking about the aforementioned recorded UI actions. A network of Excel formulas is definitely code in this perspective. It's not an accident that we use an admittedly broad term like "coding" for the instructions we give a computer. It's just a machine, and while we've built towers of languages from binary to GUI, we still have to think about how our intent maps to those "languages", because the full extent of the machine's functionality is to interpret those encodings. Personally this notion of encoding human intent into computer form(s) is core to my approach. Granted it may be lost on newcomers. Mostly what I'm saying is that "coding" is not a wrong term for what we do here. (I particularly object to equivocating between encoding and encrypting. Encryption is deliberate obfuscation, and is optional. Encoding can include obfuscation, but must exist regardless.)
k
While mostly I agree with the defense of "coding" by @Jeffrey Tao and @Andrew F, it's almost orthogonal to @Mimi Reyburn's concern about the message sent by this name to the outside world, consisting essentially of people who (1) don't know our community and (2) haven't spent a lot of time thinking about the word "coding". From a community-building point of view, the most important question is how we need to summarize our topic such that the people we'd like to recruit get the right message. Unfortunately, I am not the right person to answer that question.
g
Ooh! How about "Future of Computation"?
i
I've been AFC (away from community) for a few days, and only just caught up on this thread. It's so lovely to see how we all reflect on the essence of this community, and what we would want for it. Based on this discussion, I've decided to rename the community to Feelings of Computering. I think that name is as close as we can possibly get to capturing what we're all about.
d
No-one got the courage to ask if today's date is related to this, just in case Ivan really means it and it may hurt his feelings? No, not me either...
k
Nobody's asking because there was never any doubt.
Feels good to be amused again by April Fool's jokes. For a few years I only felt annoyance.