30

Another excellent piece from Iris Meredith - strongly recommend reading if you want an idea of how to un-fuck software as a field.

you are viewing a single comment's thread
view the rest of the comments
[-] V0ldek@awful.systems 8 points 1 day ago* (last edited 1 day ago)

I'm glad this exists even though I vehemently disagree.

I would bounce right off a course like this. I fucking hated the webdev course we had. I don't care about websites. Writing a program in C that finds a shortest path in a graph and dumps it to the terminal? Fuck yeah, that's where the dopamine lies.

I agree that teaching people Java or Python as the first language is a bad idea, but for me it's not because they need something simpler that has tangible results - that's the opposite of what my experience tells me! I want them to write code in C that doesn't produce any GUI at all. They need to know how to test code that has no visible buttons to click. How to debug code just using a debugger. Having a tangible result other than just a dump on the terminal is a blight, it makes people lazy. It's very easy to determine that the program works because when I click through buttons in the GUI it does what I expect. When you have a library that doesn't have a GUI but just does things to objects in memory you can't take a shortcut, you need robust testing to convince yourself it does what you want. If you are GUI-centric, they will think that the only code that matters is the one that they can see from the front-end. This is precisely the way people get taught coding now with Python - it doesn't actually matter what is the code, it matters that you get a plot that looks right at the end.

The way to enlightenment lies in having 200 lines of C code that segfaults but only sometimes and having to figure out where the bug is using nothing but a debugger and your brain to analyse the code you wrote. That's how you learn how a computer actually works underneath, and once you get through that then stuff like Java or Python is small potatoes. You'll get the high-level language because you've seen the nightmare underneath the surface.

If the problem is that people don't feel motivated to do that and need a pretty website to feel like coding is fun then idk maybe they should train in something different? If having to debug broken code feels bad then you might want to do something else that's more rewarding. It's fine if there's like 50% fewer programmers but they're more conscious of all the layers between the user and silicon on average and fixing arcane problems scratches their itch.

[-] swlabr@awful.systems 2 points 9 hours ago

I think there’s room for both approaches simultaneously, especially at universities/colleges where you could offer multiple intro courses.

this post was submitted on 26 Aug 2025
30 points (100.0% liked)

NotAwfulTech

489 readers
18 users here now

a community for posting cool tech news you don’t want to sneer at

non-awfulness of tech is not required or else we wouldn’t have any posts

founded 2 years ago
MODERATORS