fn main(){print!("{}",("object QR extends App{print(\"(display \\\"printf(\\\\\\\"1d;s/.//;s/1/ the sum of a son and0/g;s/0/ twice/g;s/2/You are as bad as/g;s/3/ a son!Speak your mind!/g\\\\\\\\n#The Relay of Quine.\\\\\\\\n#Ajax, a man.\\\\\\\\n#Ford, a man.\\\\\\\\n#Act i: Quine.\\\\\\\\n#Scene i: Relay.\\\\\\\\n#[Enter Ajax and Ford]\\\\\\\\n#Ajax:\\\\\\\\n#\\\\\\\");function[]=f(s);for i=1:2:length(s),printf(\\\\\\\"2%s3\\\\\\\",part(dec2bin(hex2dec(part(s,i:i+1))),$:-1:2)),end;endfunction\\\\nf('[lots of hexdump]')\\\\nf('[lots of hexdump]')[snip]\\\\nprintf(\\\\\\\"\\\\\\\\n#[Exeunt]\\\\\\\");quit\\\")\");}"));}
...where `("object ... ;}")` part is a single string literal here. The actual quine stuff can be done in just one language at your choice, or can be assimilated into some other language where unquoting is a bit heavier. It is much easier than polyglots, where a single code should be interpreted in multiple languages.Making a quine relay is substantially more complicated, because you don't just print the quoted string, you have to print the quoted version of a string in a different language, but that unwraps to the same thing 128 applications later!
If you still think it's easy, I reckon you should write us a quine relay of just 3 languages and then explain how simple it is.
Of course there should be several intermediate steps to keep the number of quotes reasonable (since it will be exponentially increasing in most languages), and that's probably why there are hexdumps after about 20ish languages.
I see this every single day.
And it becomes more and more obvious the better you become.
Are we saying "can't do it in an interview without access to some resources", "can't do it in the amount of time I'm willing to learn the language", or truly a "I could never do this even if I dedicated time to it and had standard resources to work with"?
For me, I 'can't' do the first one even in languages I commonly use as I almost never write the code for the initial entry point. Either I'm working on an existing project of the IDE generates it and I never look closely at it so I'll likely mess something up.
If it is the second, it is more a of an 'I won't' do it in some languages. I don't doubt my ability to do it, I just don't have plans on learning many of these languages. I'll read an article on how BF works, but I don't plan to spend more time on it than that.
If it is the third option, then I'm quite bothered by level of defeatism in it and would be surprised by a programmer saying it. It is something I hear from people who took a coding class, barely passed, and decided not to touch the topic again. Even then I would challenge those people as having the ability to do it but having (entirely valid) reasons not to spend time on the attempt. (I make such a challenge because I think it is beneficial for people to not put themselves down and to draw a distinction between something they can't do and something they do have the power to do but don't have enough reason to do.)
This guy demonstrated enough understanding of 128 of them to make this work.
Is the difference in competence really so big between us?