ОК, для тех, кто никогда не сталкивался со сроком, является «самовоспроизводящейся» компьютерной программой. Чтобы быть более конкретным, тот, который - после исполнения - создает копию своего исходного кода в качестве единственного выхода.Функции языка полезны для написания quines (программы самопроверки)?
Конечно, quines может быть разработан на многих языках программирования (но не для всех); но некоторые языки, очевидно, более подходят для производства quines, чем другие (чтобы четко понять несколько субъективно звучащие «более подходящие», посмотрите на Haskell example vs. C example in the Wiki page - и я даю более объективное определение ниже).
Вопрос, который у меня есть, составляет с точки зрения языка программирования, какие языковые возможности (теоретические или синтаксические сахара) делают язык более подходящим/полезным для написания quines?
Мое определение «более подходящее» - «quines легче писать» и «короче/читабельнее/меньше запутано». Но вы можете добавить еще несколько критериев, которые по крайней мере объективны.
Обратите внимание, что этот вопрос явно исключает вырожденные случаи, такие как язык, который предназначен для размещения примитива print_a_quine.
От взгляда на всевозможные примеры функциональные языки, по-видимому, имеют четкое преимущество (см. Примеры Haskell, Lisp или Scheme). Я не совсем уверен, почему это так, поэтому я хотел бы услышать экспертизу сообщества. – DVK