It’s not really abstraction though. It is more like syntactic sugar. In stead of 1000111011 you say ADD, but it is still the exact same thing. There is no functional, prgrammatical benefit of one over the other. It’s just that asm is readable by humans.
At least thats as far as I understand asm. I haven’t gone beyond NandToTetris
Exactly. For every level of abstraction, the abstractor is the high level and the abstractee is the lower level. Those aren’t real words perhaps, but you get what I’m saying. It’s all relative along the chain of abstraction.
Is it a chain though? I think it’s more of a branching network that (almost?) always is stopped at quantum physics and it’s theories or some form philosophy.
I would argue they don’t know what that means really. Assembly is pretty much a mapping of words to machine code. It’s just a way to make machine code easier to read. It doesn’t actually change how it works.
A compiler re-arranges and modifies things so what you write isn’t the same as the final program that is created. With assembly it is. It’s not really an abstraction, but a translation. It doesn’t move you further from the machine, it only makes it so you’re speaking the same language.
I once knew somebody who supposedly thought that ASM was high level.
Wait until you learn about micro ops and processor internals. That somebody isn’t as wrong as you think.
There is no way ASM is high level
It’s higher than machine code. It’s degrees of highness. Any abstraction technically makes it high level.
It’s not really abstraction though. It is more like syntactic sugar. In stead of 1000111011 you say ADD, but it is still the exact same thing. There is no functional, prgrammatical benefit of one over the other. It’s just that asm is readable by humans.
At least thats as far as I understand asm. I haven’t gone beyond NandToTetris
It’s a matter of perspective. To someone who’s job is to write the system which interprets ASM, ASM is high level
Exactly. For every level of abstraction, the abstractor is the high level and the abstractee is the lower level. Those aren’t real words perhaps, but you get what I’m saying. It’s all relative along the chain of abstraction.
Is it a chain though? I think it’s more of a branching network that (almost?) always is stopped at quantum physics and it’s theories or some form philosophy.
My mental model of it is a chain, yes. But you can define it however you like. It’s just steps in some direction.
Maybe a cake would suit someone the best.
ASM is high level. Real programmers use punch cards
Once met a man who said he loved assembly language because it was so much nicer than punch cards and FORTRAN, but C was OK too.
This was last year. In his defense though, he’s been retired for years, used to work as a professor.
Real programmers use a magnetized needle and a steady hand.
Back to the iron ages
REAL programmers tap into the electron flow across the CPU and set bits in real time
There’s an emacs-command to do that.
No, the emacs command is for the butterfly
Dang, I meant a neovim-Plugin
Emacs keybind?
I would argue they don’t know what that means really. Assembly is pretty much a mapping of words to machine code. It’s just a way to make machine code easier to read. It doesn’t actually change how it works.
A compiler re-arranges and modifies things so what you write isn’t the same as the final program that is created. With assembly it is. It’s not really an abstraction, but a translation. It doesn’t move you further from the machine, it only makes it so you’re speaking the same language.