4 ms·
(2014) Today, writing actual code is the programming of last resort. Software like Airtable and other no-code tools would handle these examples without the nee
by zamfi 5y ago
(2014)
Today, writing actual code is the programming of last resort. Software like Airtable and other no-code tools would handle these examples without the need for some poor inexperienced programmer to write code from scratch using a bespoke IDE.
I'd add that in 2014 there was another super-relevant Ko & Myers paper literally about what makes programming hard for users: https://faculty.washington.edu/ajko/papers/Ko2004LearningBarriers.pdf https://faculty.washington.edu/ajko/papers/Ko2004LearningBar...
That paper is worth a read for everyone who wants to be helping novice programmers with new tools!
- haolez 5y agoI somewhat agree with you, but I've seen a lot of smart people struggle with Airtable and no code tools. I can't explain why.
- jandrese 5y agoTools like that try to tell you that they'll handle all of the complexity for you, but they do this by adding a whole new layer of complexity. So they tend to demo well but blow up in your face when you try to use the tool in anger. As soon as you're asking the system to do something the developer didn't consider you now have an additional layer of complexity to understand before you can even start to solve your original problem.
- haolez 5y agoThat's what I saw at my company: it looked great in theory, but in practice we need programmers to help fix (and sometimes create) the automation workflows.
- civilized 5y agoWould these people find it straightforward to program equivalent functionality from scratch?
- haolez 5y agoNo. I'm talking about business people (or a sample of those). They have difficulties trying to create tools.
- TeMPOraL 5y agoThose tools hide the easy part of programming - typing, syntactic peculiarities of a programming language, etc. They do absolutely nothing about the meat of the task: distilling a vague idea into fully formal description, structuring and compressing that description by factorization and abstraction, and then iteratively refining your work as the computer repeatedly proves to you that you still don't have a fucking clue what you actually want. Computers don't accept bullshit. The core of programming is truly figuring out the problem you're solving. Everything else is management of complexity.
- valenterry 5y ago> The core of programming is truly figuring out the problem you're solving. Everything else is management of complexity. The second point is equally important, as you already said in "structuring and compressing that description". The core of programming is try figuring out the problem (in your mind) and then serializing your thoughts in a way that both the computer _and_ other humans (or you yourself a year later) can easily understand. The latter obviously is irrelevant if you write the code once, run it a few times and then throw it away, but we all know that most problems occur because this does not happen too often.
- zamfi 5y agoI don’t have the answer, but I suspect one piece of it is that the “code” part and the “logic” part can both be challenging. Exposing just the logic part (and hiding the code) like Airtable does can make things easier, but it’s definitely not a silver bullet. As a sibling comment notes, part of the challenge with the logic part itself, is that many folks don’t know exactly what they want before they start building. They think they do, and on some level they actually do, but it is not the detailed level at which software systems operate. That’s a major reason why all software is built in iterative process, there’s exploration that happens, not just of the software systems, but also of the whole logical structure and requirements. A platform that can make that process easier will transform the world!