real actual dragon (θΔ). follow for weird photography stuff and the occasional rawr


i feel like computer programming instruction (keeping it general) needs to get way more explicit about how there is no magic, anywhere, ever in the whole write / compile / run / debug pipeline. nothing else gets even close to how meta this discipline is fucking act like it please.

i'm so tired of talking to people with pretty much any level of experience or education and finding out that "the compiler is a program and it takes your code and turns it into a data structure that works roughly like this" is a new concept to them, or even that the editor/compiler/linker/shell/debugger/operating system/standard library/whatever else are also programs and therefore operate under the same constraints theirs do. I'm not saying everyone needs to be able to write a compiler from scratch, but they should at least understand the equivalent of "when you press the gas pedal it doesn't just inherently make the car go faster, it provides more fuel to the engine, which lets it generate more torque, which gets transmitted through the gearbox and differential to the road and that makes the car go faster", because one of these levels of understanding allows you to know why the car won't move if you have it in neutral and one doesn't.

People need to learn to ask "what does this look like at the next level down". Abstraction layers are a fundamental building block of programming, and I don't have the slightest idea why, after decades of hearing "but I dunno it's hard it's all just this arbitrary bullshit" from new programmers, that we don't try letting people know that the difference here is you can go and see for yourself why it's like that.


You must log in to comment.