Speaking as a Fancy Computer Science Professor at a Fancy Institution of Higher Education who teaches the course on Programming Languages:
-
Here @aubilenon gets at something really important, and per the above, all the comparisons to “is it art / music / a game” etc etc are on point:
https://peoplemaking.games/@aubilenon/113680577564840603Context matters. Intent matters. Patterns of usage matter •a lot•.
-
@inthehands As I've grown older and more experienced, my definition of programming has ended up shifting to "I knows it when I sees it".
As I said before - it is a silly definition of "programming" that doesn't include Coq and Agda, but does include Minecraft and Rollercoaster Tycoon.
(though I'd argue that the activity one performs while implementing eg. a full-adder with rollercoasters *is* programming, even if Rollercoaster Tycoon is not a programming language.)
-
@inthehands scoped problems, their meta-problems, and their ancestors' and descendants' problems…
-
@inthehands @nikclayton PREACH!
-
@datarama
Agreed, right up to the end: at that point, you're making Roller Coaster Tycoon / Minecraft into a programming language.People who build working machines out of the Game of Life quickly start building up design patterns and abstractions. Programming is a kind of problem and/or a way of using something, not just an intrinsic attribute of the object itself.
-
@billseitz
Heh, I’m game as long as we don’t forget that the purpose of the Cube Rule is to be silly -
@inthehands To me, that just means that you can do programming with something that isn't a programming language - just like you can make music with something that isn't a musical instrument.
-
@inthehands @billseitz If it has a frontend and a backend, it's a compiler. if backend only, it's a database. if it doesn't end, it's called a daemon. if it also has a leftend and a rightend it's ravioli
-
@inthehands @nikclayton This all reminds me of one of the first actual "debugging" tools I ever used (this was before I had done enough "what-people-who-think-HTML-isn't-programming" programming to use or need a traditional debugger for it).
"Reveal Codes."
This was the magic WordPerfect command from the 80s/90s that showed you why, for example, the fricking italics weren't working or that one section on that one page was just a little bit off. "Reveal Codes" popped up a little text area (not even a window, this was DOS, after all) showing a section of your text and all the associated "codes", which were tags indicating the structure or appearance of whatever they contained.
A *lot* like HTML.
And using Reveal Codes to figure out where your document was going wrong, and why, and how to fix it, was a lot like wrangling HTML to get your web page to have the right structure and appearance...and, as noted, also like trying to figure out how to get a cranky API to get the kind of output that you need it to deliver.
-
@jorendorff @billseitz
“Our fully relational ravioli offers the dual benefits of both persistence and delicience” -
@datarama
I mean, we’re dancing around two sides of the same coin: yes, and at some point, you’ve got to admit that it’s become a musical instrument. -
@inthehands @billseitz idunno sounds like it could lead to spaghetti code
-
@jorendorff @billseitz
* slow clap * -
@inthehands @nikclayton and even a button is increasingly complex - I’m often seeing forms where the button changes state to indicate whether or not you can click if (or if there is some portion of the form you haven’t finished filling out)
But every site does this differently and it is eh not at all obvious often which state the button is in - without attempting to click it
Further many sites have multiple buttons and knowing which to click when is not always obvious (save vs next? Etc)
-
@inthehands @nikclayton I'd actually go so far as to say that Reveal Codes back in the 80s made HTML almost instantly comprehensible, even with emerging complexities like (then-larval) style sheets, in the 90s. And *that* in turn made it possible for me to make the jump to web development as a career when a previous one started to head south -- more so in many ways than having a reasonably decent background in "what the annoying pedants call programming" programming as well.
-
@inthehands @nikclayton and I’ll date myself here but wordprocessors since WordPerfect lost out to Microsoft Word have made it very hard to actually see what formatting/codes are applied where within your text. Often hiding formatting changes in what looks like white space but really hides a change from heading to subheading to body text or from one font to another etc. And to get the text to do what you want means knowing how the final doc is created from the elements (page format etc)
-
@dpnash @nikclayton
All that. I really appreciate all these historical on-ramps — Applesoft BASIC was mine! — that allow a random curious human’s machine interactions to progressively become more and more programming-shaped. -
@inthehands Not sure why you thought that was sarcastic. Trying to form a mental model of how Word interprets formatting instructions ("Why does the formatting change when I collapsed two paragraphs into one?") and then giving instructions to Word based on that mental model meets the definition.
Contrast that with pounding on the keyboard trying to get it to do what you want without understanding what's going on.
-
@nikclayton
I misinferred the sarcasm. Apologies! We seem to be on the same page here, very much so. -
@dpnash @inthehands @nikclayton exactly this.
And removing this from “modern” word processing tools I think was a deep mistake. It makes the whole fixing formatting a point and click nightmare