I think this might be a classic question but I am not aware of an answer. Can a program output a copy of itself, and, if so, is there a short program that does this?
In the language invented by Jon Skeet the following operator prints "Hello, world!\n".
h
I can make a modification of this language so that the following program prints "Hello, world!\n":
Hello, world!
So that's the program that prints itself.
Oh, you feel something strange about it, while it has a precise and correct mathematical definition? That's your problem. "I won't accept..." ha! Mathematics does accept, and she's the mistress I serve, so I post this answer.