@krismicinski @shriramk @jfdm @csgordon @lindsey @jeremysiek we have been claiming for decades that we are not just educating coding monkeys, so it shouldn't really matter that LLMs can now do all the coding. As far as I see it, it's still necessary to identify and clearly formulate verifiable requirements and specifications, come up with a modular design, and verify the whole thing, because I still believe the ultimate responsibilty lies with the developer. So students still need to understand the fundamentals. But yes, it has become much harder to check *at scale* whether they actually grasped them.

@GeorgWeissenbacher @[email protected] @jfdm @csgordon @lindsey @jeremysiek
Yes to most of that. I think it's not that hard to assess if that is what people were always assessing that.

I actually disagree w/ your opening comment. Most intro CS educators will say (and have said), "I don't teach programming, I teach *problem solving*" (whatever the fuck that is). My response is, "great, this should be your liberation! Programming got easy, what are your «problem solving» ideas?"

@shriramk @GeorgWeissenbacher @krismicinski @jfdm @csgordon @lindsey @jeremysiek ... did programming get easy? Can one be said to be programming if one asks someone else (or an LLM) to write a program for you? Or is some other kind of (not- or not-quite-programming) interaction going on?
@tonyg @GeorgWeissenbacher @[email protected] @jfdm @csgordon @lindsey @jeremysiek
I very much think of what I'm doing with Claude Code as a kind of programming — indeed, the kind of programming I always wished I could do! But if it makes you happier to use a different term for it (not "vibecoding", that has too many specific connotations and is definitely not how *I'm* doing things), and it's *useful* to have that other term…that's fine by me. I guess my slogan is: "Philosophy…but not too much".
@shriramk @tonyg @GeorgWeissenbacher @krismicinski @jfdm @csgordon @jeremysiek This comment made me realize something about myself: this is *not* a kind of programming I always wished I could do. I really only like programming because I like manipulating formal systems. That might explain a lot about why this kind of programming doesn't appeal to me, aside from all the bad externalities.
@lindsey @shriramk @tonyg @GeorgWeissenbacher @krismicinski @jfdm @csgordon @jeremysiek another issue (at least for me) is it's far easier to write code than it is to read somebody else's code, and i think ppl using llms to write code are optimizing for the wrong kind of thing (also negative externalities aside, carbon tax wen)

@nemo @lindsey @tonyg @GeorgWeissenbacher @[email protected] @jfdm @csgordon @jeremysiek
Yes, I'm sure people like me know so little about software that we're all "optimizing for wrong kind of thing". 🙄

You do know how absurd these kinds of remarks look, right?

@shriramk @lindsey @tonyg @GeorgWeissenbacher @krismicinski @jfdm @csgordon @jeremysiek oh apologies, I didn't mean to infer that you were optimizing the wrong thing, I guess I was refering to the vibecoding community

im also not saying that what you're doing is vibecoding either, my remark was more for the ppl using llms to vibecode

i should have been more specific 🫠

@nemo @lindsey @tonyg @GeorgWeissenbacher @[email protected] @jfdm @csgordon @jeremysiek
Implicit apology accepted, but I still don't agree with you. The vibecoders aren't out to read any code at all *by definition*. So who cares whether the code is readable?

There are lots of tasks that computing can help with. I keep describing programming as a "superpower": there are things you wouldn't even do if you didn't know you about programming. As an example: ↵

@nemo @lindsey @tonyg @GeorgWeissenbacher @[email protected] @jfdm @csgordon @jeremysiek
In my courses, I make up all kinds of wacky grading schemes for assignments, because I have full knowledge that come semester's end, I can figure out how to turn these into grades — using code. Sometimes it takes me 2-3 hours to wrangle, but I *know* can do it. Most profs don't have that power, so they just use whatever crappy grading scale Canvas or Gradescope or whatever give them. ↵
@nemo @lindsey @tonyg @GeorgWeissenbacher @[email protected] @jfdm @csgordon @jeremysiek
Likewise, I teach my students SQL and Unix commands because they are another kind of superpower. Even if you know to code, trying to write what a 5-Unix pipe does could take a half day of Java, so you would never get started; whereas you'd bang out the code on the shell and get on to your next task that depends on that output. ↵

@nemo @lindsey @tonyg @GeorgWeissenbacher @[email protected] @jfdm @csgordon @jeremysiek
If, now, *everyone* can have that superpower within reach — why are we not all *CELEBRATING*?!?

We should be using out knowledge and strength to figure out how to enable people to do this safely and responsibly, not acting as high priest gatekeepers like the men standing around IBM mainframes locked away in "computer rooms", dressed in such a way you can't tell if the photo is b&w or color.

@shriramk @lindsey @tonyg @GeorgWeissenbacher @krismicinski @jfdm @csgordon @jeremysiek >why are we not all *CELEBRATING*?!?

ik this is a rhetorical question, but id have to do some introspection to answer this, apologies \:

@nemo @lindsey @tonyg @GeorgWeissenbacher @[email protected] @jfdm @csgordon @jeremysiek
Please do, I welcome it. Hearing thoughtful other views helps me sharpen my thinking.

To be clear, I see problems too. But at least *some* of those problems have been around from the dawn of time: arguably the whole field of software engineering (beyond PL) exists because "humans always fuck up, how can we help them".

Of course, speed, scale, etc. are all different, and there are subtleties like copyright. ↵

@nemo @lindsey @tonyg @GeorgWeissenbacher @[email protected] @jfdm @csgordon @jeremysiek
To me, a useful thought experiment is, "What is a line in the sand behind which we are not likely to go back?" That would be some combination of an open-source agentic loop and open-weight model, running on reasonable modern hardware. Those all exist or can easily exist. That doesn't require trillion-dollar investments, destroying the earth, etc. Can we not do a lot with that? ↵
@nemo @lindsey @tonyg @GeorgWeissenbacher @[email protected] @jfdm @csgordon @jeremysiek
At that point, you also aren't externalizing impacts. If you use a lot of power, it's on *your* machine and *your* power bill. No amount of subsidy is going to help with that. (I sometimes run ollama on my laptop and think "whoa, this is taking a while, that's why they want me to run things on their cloud".) So it's reasonable to answer (not entirely rhetorical) questions against that baseline.