सी या जावा में मैं जो कंपाइलर इस्तेमाल कर रहा हूं उसमें डेड कोड की रोकथाम है (चेतावनी जब किसी लाइन को कभी निष्पादित नहीं किया जाएगा)। मेरे प्रोफेसर कहते हैं कि यह समस्या पूरी तरह से संकलक द्वारा हल नहीं की जा सकती है। मैं सोच रहा था कि ऐसा क्यों है। मैं संकलक के वास्तविक कोडिंग से बहुत परिचित नहीं हूं क्योंकि यह एक सिद्धांत-आधारित वर्ग है। लेकिन मैं सोच रहा था कि वे क्या जांचते हैं (जैसे कि संभावित इनपुट बनाम स्वीकार्य इनपुट इत्यादि), और यह अपर्याप्त क्यों है।
if (isPrime(1234234234332232323423)){callSomething();}
क्या यह कोड कभी कुछ कॉल करेगा या नहीं? ऐसे कई अन्य उदाहरण हैं, जहां कभी किसी समारोह को तय करना कार्यक्रम में इसे शामिल करने से कहीं अधिक महंगा होता है।
public static void main(String[] args) {int counterexample = findCollatzConjectureCounterexample(); System.out.println(counterexample);}
<- प्रिंटल कॉल डेड कोड है? इंसान भी नहीं सुलझा सकता!