The cool thing about writing code is that the computer is doing exactly what you tell it to do.

The cool thing about debugging code is slowly learning what you actually told the computer to do.

@hzulla

While debugging is the process of removing errors from a program, programming is the task of integrating errors into the program.

@Lapizistik @hzulla
Also known as "bugging"

@c0m4 @Lapizistik @hzulla

The "VIBE" in "vibe coding" stands for "Visual Integrated Bugging Environment "

@hzulla Debugging is the process of understanding the consequences of what you actually told the computer to do.
@hzulla Easy fix, just know what you're writing ahead of time instead /s
@hzulla the cool thing about writing a debugger is learning all the sleight of hand that you computer uses to make it possible to execute what you told it to

@hzulla The cool* thing about vibe coding is that the computer is doing a random amalgamation of what all the worst people on the internet told their computers to do.

*not cool

@dalias @hzulla so automated search and copy from stack overflow ?
@mjrider @hzulla You forgot the lossy compression part too that makes it even more fun. 🙃
@hzulla Both of these things are why I enjoy coding at an amateur level, but also could never ever code at a professional level.

Sometimes I figure out what I told the computer to do before I forget what I wanted it to do

@hzulla

@hzulla
10 PRINT "LOL"
20 GOTO 10

@lyrial @hzulla

$ yes LOL

I stopped teaching Beginners All-purpose Symbolic Instruction Code in the early 1980s.

@lyrial @hzulla Or if I'm not lazy and use the #Posix #shell :

map (\x -> "LOL") [1..]

#haskell

@hzulla in this metaphor of coding as communication, sometimes there are cultural misunderstandings that can only be attributed to inefficiencies in language https://github.com/denysdovhan/wtfjs
GitHub - denysdovhan/wtfjs: 🤪 A list of funny and tricky JavaScript examples

🤪 A list of funny and tricky JavaScript examples. Contribute to denysdovhan/wtfjs development by creating an account on GitHub.

GitHub
@hzulla
The great thing about writing code is that computers do exactly what we tell them to do.
The awful thing about writing code is that computers do exactly what we tell them to do.
In reality, we want computers to do exactly what we _want_ them to do.
Debugging is learning the difference between 'wanting' and 'telling'.
@hzulla Debugging, a.k.a. time to find out whether that thing you throw code at is an abstraction or obfuscation.

@hzulla the cool thing about vibe coding is how quickly the computer is doing something that looks like what you might tell it to do if you understood the problem.

the cool thing about having to debug someone else's vibe coding is.....is....is.....ummm

@hzulla @designatednerd in practice “cool” for vanishingly small values of coolness
Saturday Morning Breakfast Cereal - Use

Saturday Morning Breakfast Cereal - Use

@hzulla Garage in garage out (on purpose)
@hzulla I've been feeling lately that "debugging" fails to adequately describe what I do to my programs, because it seems to imply that your program mostly works
@hzulla Computers are pedantic idiots 😁
@hzulla and that's why i wouldn't have the patience to learn how to code lol
@hzulla And the cool thing about QA is learning how you can change what the computer was told to do.

@hzulla Well, it used to be like that, back in the days when you wrote every byte of code in the computer and you could watch every bus cycle with a logic analyser to see what it did.

These days most "programming" is trying to guess what the poorly written documentation for a library or API actually means, and debugging is finding out what in fact it really means. In this patch version, anyway: nobody can predict what your same code will do next week.

@hzulla
I hate this damned machine!
I wish that they would sell it.
For it does not what I want,
But only what I tell it.

(Origin unknown to me)

@hzulla
Yes, but how do you convey that to people who have nothing to do with programming?
That could prevent a lot of harm in the analog world, too.
@hzulla Oftentimes, I'll have a bug that just makes no sense, until I realize I set the exact opposite condition that I meant to in a boolean evaluation. I am literally checking for the opposite of what I wanted, and doing that seems so dumb that it's too obvious to look for as a possible source for the bug.

@hzulla One worrying thing about the future state of software is that companies are working hard to change this forever. LLMs are about to be used as the core of a lot of software, and non-determination is part of the foundation.

I wonder what debugging looks like in the future.