Has this community ever agreed on some "big proble...
# thinking-together
n
Has this community ever agreed on some "big problems" in programming language design? Having recently gone back to think about "big picture" things, I've realised I have no idea what other people think is important. Surely there are a couple of historical threads. It would be a little awkward if after several years of having this Slack group, we've never collectively stopped to define the problems we're working on.
❤️ 2
c
Who needs to define a problem to work on something good – our new paradigms don't require a crisis
👍 1
w
Would be great to have a conversation about what the big problems/directions of interest are. (Historical threads in Slack? I thought Slack was all about the eternal present. 😏)
amiga tick 1
c
I thought about starting a thread trying to define the major currents/factions in FoC space. I was inspired by the deadlock RPG game thing. This is very much a "Type 1 FoC" solution in that it's purpose is make current programming practice more understandable. It basically brings more people up to the point of a genius coder. Most of Learnable Programming is like this. A Type 2 project would be something like these Actor Model systems that try and come at computation from a completely different place where things like deadlocks don't exist. I think that Dynamicland and maybe Hest is this type. A third type would be the low-code/app builder type projects which just try and help people get to solutions as directly as possible. So I would categorise projects based on how they deal with the fundamentally difficult points about programming at the moment; 1. Try and explain them 2. Try and avoid them 3. Try and hide them
🍰 1
🤔 1
In this ontology I personally am a diehard type1-er therefore I may have inadvertently characterised the other options negatively
🤷 1
👍 1
a
A clear problem is indeed very helpful for making something both good and novel. I've thought about sharing my big ol list of design goals for feedback, but it's honestly still not super coherent. One of the big things most of us seem to agree on is that programming should be more accessible to people lower technical skill (not sure about everyone else but I see this as overlapping the goal of reducing accidental complexity). Another common undercurrent is the sort of political goal of keeping computation more under the control of device owners than corporations, et al. I'm sure there's a better way to phrase this....
👍🏾 1
👍🏼 1
✔️ 1
d
I'm fully with what @Andrew F said! He may not agree with my four-word summary: "power to the people!!"
("Power to the people" can be Anarchistic, not necessarily Communistic!)
😎 1
n
Well, I would be willing to have a proper video meeting wherein we as a community attempt to compare and contrast our perspectives on "the problem" with programming, and possibly come up with an "official" document that captures them. Perhaps we could try this? If you're interested, add your availability to this poll.
👍 2
Hmm... only two other respondents. I must say, I'm surprised there isn't more enthusiasm!
w
I found specifying my availability in when2meet, a little weird. So I almost gave up.
d
I think firstly that people are more comfortable getting the conversation started here, not on video, especially when it involves the mass synchronisation of busy and diverse folk, and secondly, yes, that site was, well, I don't want to be rude, so.. 🤗
1
a
Video does not strike me as a good format for such a sprawling topic. By default a conversation is a random walk, not a survey. If you were really disciplined, you might be able to come up with a curated list of subject headings, maybe outline an agenda for a much larger discussion, but even that would be tricky. To say nothing of the logistical synchronization issues others mentioned... I think we can do better async. You are making me think I should get the ball rolling by posting my draft list of goals.
☝️ 1
n
I actually dislike asynchronous (multi-day) text chat quite a lot, because in my experience everyone ends up talking past each other. In a video chat, you can more easily have a dialogue rather than a monologue. You can ask for clarification. But if everyone else prefers text chat then I suppose I'll have to settle for that. I think video can work well if people come prepared with detailed discussion points.
k
https://futureofcoding.slack.com/archives/CC2JRGVLK/p1639354109142000 by @Orion Reed has a nice list of the sorts of things people have been interested in here.
n
That list could definitely serve as a starting point! Anyway, seeing as my suggestion of a video meeting (my preferred medium) has flamed out, I will leave it to someone else to champion a plan for how we can discuss and compare goals.
o
@Kartik Agaram I have plenty more of those in my head and notes, I had to just pick a good sample for that thread. I’d be happy to expand that list if we want to do some curation. I’ve always been interested in the organisational side of this community, so have kept tabs on the ideas that recur or seem significant.
❤️ 4
@Nick Smith I actually quite like video/audio too, I’d personally be up for a call!
k
Sorry I didn't respond. The format of Slack unfortunately makes it easy to forget threads once my allergy to anything 'official' got me to navigate away the first time. I also tend to think we can do plenty of good work without defining any terms. Indeed, we humans seem to be doing fine in this cosmos without having come up with definitions for our most important terms: life, love, truth, value, good. That said, though, it's certainly a useful exercise to attempt. And I'd love to chat with more people around this season.
👍 1
@Orion Reed a wiki of common discussions would be a great asset to this place where it's so easy to forget past discussions. I could imagine updating a wiki after some fruitful conversation.
3
n
@Orion Reed Are you available at 20:30 UTC this Tuesday? If so, we might be able to have a few participants on the call. https://www.when2meet.com/?13851953-J31FY
I also tend to think we can do plenty of good work without defining any terms.
Perhaps if you're working alone, but if you're looking to collaborate closely with others, establishing shared goals is important. That's one reason why I want to establish what this community cares about. Everyone has been working exclusively by themselves, and I'm personally sick of the isolation.
o
@Nick Smith yep I’m around then!
k
@Nick Smith since it seems relevant, I find some reluctance to engage with your previous comment, and I think other comments of yours in the past. I can't pinpoint why. Too intense, perhaps. Which is strange since I tend to be intense myself, and I have certainly enjoyed intense conversations in the past? Perhaps intensity needs to build up more naturally/reciprocally or something. Just thinking aloud. No offense intended.
👍🏼 1
n
@Kartik Agaram Do you mean too blunt? I know I have a blunt communication style. I'm not a fan of text-based communication, and so I try and pack as much information or opinion into each sentence as possible. I also tend to pedantically counter points I disagree with. Either way, thanks for pointing that out. I already had a hunch people don't like how I communicate here. By blunt, I mean this definition:
If you are blunt, you say exactly what you think without trying to be polite.
m
what if people tried to write their top 3 problems and we try to find patterns? it's a good exercise in itself and the top 3 keeps it short and manageable, I think we may conclude that there are different groups of patterns. Alternatively (and it may get weird) trying to use a format like the agile manifesto or similar ("we value X over Y" or any other format)
n
@Mariano Guerra That could be useful. Perhaps we should get people to submit their answers via an anonymous form, and then we can aggregate the results. This will ensure a person's answer is not influenced by someone else's.
Anyway, 5 of us here have scheduled a video meeting for 20:30 UTC this Tuesday (42 hours from this moment). The agenda is to discuss and compare our views on the "problems" with modern-day programming languages, tools, and systems. If you would like to join the meeting, let me know and I'll add you to the group chat.
👍 2
d
Just saw this - I’d love to join. Can anyone send a link? @Nick Smith @Kartik Agaram @Orion Reed @wtaysom @Ivan Reese @Tom Larkworthy @Mariano Guerra
a
@Nick Smith you know what, count me in. It'll probably be fun whatever happens, and maybe I'll be pleasantly surprised with what we accomplish. :)
👍 2
❤️ 1
c
Was the video call a success?
n
It was constructive and most people enjoyed themselves, for sure. We didn't get very far in agreeing on a taxonomy or anything though. I'm trying to spearhead a survey where we can ask the whole community what problems they care about or are working on. Atm I'm still soliciting feedback from our group of 8.
👍 2
k
I'm quite demoralized. But that might be a success. We'll have to wait and see. Got me to revisit long-held assumptions.
w
For my part, I really appreciated your observations @Kartik Agaram.
❤️ 2
d
@Kartik Agaram I’m interested in what assumptions you revisited if you care to share.
z
I want to simply imagine a system and have something read my brain and code it up automatically if I've imagined it clearly enough. Is that too much to ask? (Only half joking)
m
if you imagine it clearly enough, then the code is in your brain 🙂
z
Indeed. It's a communication problem.
k
I know y'all are mostly kidding, but it's such a prevalent voice in my own head that I want to explicitly say: • it's impossible, and • it's not desirable even if it was possible. The instinct comes from a sense that we know what's best and we're just ordering the computer around. But we seldom know what's best when we start writing a program. We don't understand the consequences of our desires. Elsewhere people have said that writing is for generating ideas, not just communicating them. Programming is for understanding our own desires, not just translating them.
amiga tick 2
I think this gets to the essence of the power of computers. People in all walks of life get to walk around with half-formed desires, act on some of them and find out years and decades later how wrong they were. Computers are super powers for finding out immediately how wrong we are.
z
You're right that we often don't know what we really want, but you can modify the program as you go. Again by just thinking the change in the model you want. So then it also becomes a wiki of our every design thought. A personal memo pad extraordinaire. Yes, like writing not only records ideas but also helps us clarify them and generate new ones. Just on steroids.
🤔 1
a
The more thought-out scifi trope about reading your intents off your brain is that it copies your brain state and simulates your reaction to a variety of different solutions, using something like gradient descent. 🙂 My favorite example is in Ra, chapter "Abstract War"; I would link it directly but the start of the chapter contains massive spoilers.