Mục lục:
Định nghĩa - Quine có nghĩa là gì?
Một quine là một chương trình về cơ bản xuất ra mã nguồn của chính nó. Mặc dù điều này nghe có vẻ đơn giản, nhưng nó có thể khá phức tạp vì sự cần thiết của kỹ thuật một chuỗi về cơ bản tự in theo lệnh.
Quines còn được gọi là chương trình tự sao chép hoặc chương trình tự sao chép.
Techopedia giải thích Quine
Để tạo ra một quine, cần phải tạo một số loại tham chiếu chuỗi có thể in sạch mã hoạt động của chương trình mà không có biến chứng. Các quines được triển khai khác nhau trong các ngôn ngữ lập trình khác nhau và nhiều lập trình viên đã xây dựng các phiên bản mã quine riêng để cố gắng đạt được mục tiêu này một cách hiệu quả nhất và với số lượng mã nguồn ít nhất.
Vì việc xây dựng một quine thực sự đòi hỏi một mức độ đệ quy và tài nguyên tự tham chiếu nhất định bằng cách sử dụng những thứ như mảng, nội suy chuỗi và chiến lược gọi nhiều phần mã riêng biệt, nó được coi là một nhiệm vụ lập trình đầy thách thức. Nhưng các chuyên gia chỉ ra rằng phần lớn thách thức này có liên quan đến cú pháp của các ngôn ngữ lập trình hiện đại - sử dụng ví dụ về mã cơ bản ban đầu. Theo loại ngôn ngữ lập trình sớm này, lập trình viên có thể chỉ cần tạo một lệnh để in nội dung của từng đoạn mã tuyến tính bằng cách sử dụng vòng lặp "for" hoặc, như những người khác đề xuất, có thể thu được kết quả tương tự chỉ bằng cách lập trình một "danh sách" duy nhất chỉ huy. Tuy nhiên, có một sự đồng thuận rằng loại quine dễ dàng này thực sự cấu thành gian lận và việc thực thi loại chương trình này được thể hiện trong các sản phẩm của các lập trình viên khác nhau sử dụng các ngôn ngữ như Perl, Python, Java, C hoặc các ngôn ngữ hiện đại và phức tạp khác .