Why do people faint at the sight of plain-text code?
-
Maybe I'm an old fogey, but I usually hear more pushback against visual languages as being too finicky to actually create anything with and I usually advocate for a blending of them, like working in Godot and having nodes to organize behaviour but written scripts to implement it.
I really appreciate the talks from Bret Victor, like Inventing on Principle (https://youtu.be/PUv66718DII), where he makes some great points about what sorts of things our tooling, in addition to the language, could do to offload some of the cognitive load while coding. I think it's a great direction to be thinking, where it's feasible anyways.
Also, one reason folks new to programming at least struggle with text code is that they don't have the patterns built up. When you're experienced and look at a block of code, you usually don't see each keyword, you see the concept. You see a list comprehension in Python and instantly go "Oh it's a filter", or you see a nested loop and go "Oh it's doing a row/column traversal of a 2d matrix". A newbie just sees symbols and keywords and pieces each one together individually.
-
I've kinda noticed this block when working with non-developers attempting low-code and no-code platforms. Anecdotally, non-coders tend to assume that knowing how to code is the hard part of software development. It's really not though, there's tons of resources to learn any language you want for free, and cs students cover all of the basics in their first year. The hard part (well one of them) is knowing what to code: the data structures and algorithms. Pro_code, low-code, or no-code, there's just no way around not knowing how to design a working, efficient algorithm or a clean, scalable database schema. Ironically, for anything but the most trivial problems, the lack of maturity in low-code platforms tends to only make the algorithm harder to implement.
-
i don't usually cross-post my comments but I think this one from a cross-post of this meme in programmerhumor is worth sharing here:
The statement in this meme is false. There are many programming languages which can be written by humans but which are intended primarily to be written by other programs (such as compilers for higher-level languages).
The distinction can sometimes be missed even by people who are successfully writing code in these languages; this comment from Jeffrey Friedl (author of the book Mastering Regular Expressions) stuck with me:
I’ve written full-fledged applications in PostScript – it can be done – but it’s important to remember that PostScript has been designed for machine-generated scripts. A human does not normally code in PostScript directly, but rather, they write a program in another language that produces PostScript to do what they want. (I realized this after having written said applications :-)) —Jeffrey
(there is a lot of fascinating history in that thread on his blog...)
-
Programs are meant to be read by humans and only incidentally for computers to execute
-
i don't usually cross-post my comments but I think this one from a cross-post of this meme in programmerhumor is worth sharing here:
The statement in this meme is false. There are many programming languages which can be written by humans but which are intended primarily to be written by other programs (such as compilers for higher-level languages).
The distinction can sometimes be missed even by people who are successfully writing code in these languages; this comment from Jeffrey Friedl (author of the book Mastering Regular Expressions) stuck with me:
I’ve written full-fledged applications in PostScript – it can be done – but it’s important to remember that PostScript has been designed for machine-generated scripts. A human does not normally code in PostScript directly, but rather, they write a program in another language that produces PostScript to do what they want. (I realized this after having written said applications :-)) —Jeffrey
(there is a lot of fascinating history in that thread on his blog...)
PostScript was my first thought to. I guess these days WASM also applies.
-
It's a balancing act between made for humans and made for optimization.
Because humans left with their own devices right shit code.