4 ms·
I think we can do a better job of teasing apart the essential from the incidental complexity. There is a great deal of essential complexity. Programmers deal w
by repsilat 9y ago
I think we can do a better job of teasing apart the essential from the incidental complexity.
There is a great deal of essential complexity. Programmers deal with corner-cases more often than most other people, and having an eye for a "good" solution to a problem in a programming language or in a spreadsheet or whatever is a specific skill that takes some learning.
On the other hand, programming is just not very approachable, and I don't think that's because of essential complexity. A "good" Excel user -- someone who can use the string functions, vlookup and maybe those "array formulas" -- is basically a programmer, and every step between that and your cousin who uses Excel to write shopping lists is just "Oh, let me show you this one trick."
Get your cousin to write a CRUD shopping list site or app in any programming environment, though? Not a chance.
Maybe AirTable counts as a relational model. There's a useful gradient there. You can start with shopping lists and end with foreign keys, maybe. Not a huge scope for logic, but you can do some pretty cool things in SQL with "this one trick". I wouldn't want to stop at tricking people into learning SQL, though. I think a nice easy ramp up to a Turing complete language is possible.
You don't have to make programming easy, though. Most people will not be programmers. Making "just a bit more programming" easy is a huge win, though.