4 ms·
My Adventure Writing My First Quine in Java
- istjohn 16y agoPython (triple quotes make this too easy): def q(s): print(s+'q(""' '"'+s+'"' '"")') q("""def q(s): print(s+'q(""' '"'+s+'"' '"")') """)
- snprbob86 16y agoI consider this totally cheating: $ python quine.py import sys print open(sys.argv[0]).read(),
- wh-uws 16y agoI couldn't do python for a long time because it made me feel guilty all the time. Sometimes writing python literally feels like taking candy from a baby
- deleted 16y ago[deleted]
- GrooveStomp 16y agoThis misses the point of a Quine. You haven't written the code to generate the string, you've used an external library that someone else wrote to do that job for you. I made this mistake the first time I tried too.
- snprbob86 16y agoOh I know, hence I called it "cheating"
- s3graham 16y agoA friend wrote a neat C one a while back: http://dwcope.freeshell.org/projects/spinningquine/ http://dwcope.freeshell.org/projects/spinningquine/
- daniel-cussen 16y agoIn Lisp they're pretty easy: ((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x)))) returns itself (note: written in Clisp; I've had issues with Lispworks doing things properly). You can also stuff messages in there pretty easily: ((lambda (x y) (list x (list 'quote x) y)) '(lambda (x y) (list x (list 'quote x) y)) "Hello, world")
- mncaudill 16y agoHere's a PHP->C->Python->JavaScript->original PHP quine I wrote a few weeks ago: https://gist.github.com/749686 https://gist.github.com/749686 And here's a little write-up on how I approached the problem: https://nolancaudill.com/2011/01/01/how-to-build-a-quine/ https://nolancaudill.com/2011/01/01/how-to-build-a-quine/