कंपाइलर को भी प्रोग्रामिंग का अंत करना था
यह दावा कि AI coding agents “प्रोग्रामिंग का अंत” कर देंगे, पहले की उन घोषणाओं के मुकाबले रखा जा रहा है जिनमें कहा गया था कि कंपाइलर, COBOL, SQL और visual tools गैर-विशेषज्ञों को software engineers की जगह लेने देंगे — लेकिन वे वादे अधिकतर काम के स्वरूप को बदलने तक सीमित रहे, उसे समाप्त नहीं कर पाए। टिप्पणीकार deterministic compilers और probabilistic LLMs के बीच अंतर बताते हैं, यह तर्क देते हुए कि natural-language prompts में software design, architecture और debugging को पूरी तरह automate करने के लिए आवश्यक सटीक contracts नहीं होते, भले ही वे routine coding को बहुत तेज़ कर दें। कई लोगों को उम्मीद है कि programming और अन्य white-collar jobs घटेंगी और specifications लिखने, agents को manage करने, तथा उच्च-स्तरीय product thinking की ओर शिफ्ट होंगी, जबकि कुछ को संदेह है कि LLMs कभी वास्तविक दुनिया की उलझी आवश्यकताओं को इतनी विश्वसनीयता से पकड़ पाएँगी कि इंसानों को पूरी तरह loop से बाहर किया जा सके।
ऐतिहासिक संदर्भ और “प्रोग्रामिंग के अंत” की पिछली लहरें
- टिप्पणीकारों को याद है कि COBOL, SQL, BASIC, 4GLs, विज़ुअल टूल्स, और RAD/लो-कोड पहले ऐसे प्रयास थे जिनका लक्ष्य “साधारण लोगों” को प्रोग्रामिंग करने देना था, लेकिन इनमें से किसी ने भी प्रोग्रामरों को समाप्त नहीं किया।
- यह स्पष्ट किया गया कि शुरुआती “ऑटोमैटिक कोडिंग” का मतलब हाथ से लिखे मशीन कोड को बदलना था, न कि स्वयं प्रोग्रामिंग को समाप्त करना; कंपाइलरों को कभी “ऑटोमैटिक कोडर” कहा जाता था।
- कुछ लोगों का तर्क है कि भविष्यवाणियाँ आंशिक रूप से सही थीं: कंपाइलरों ने मैन्युअल काम की पूरी परतें हटा दीं और और अधिक, उच्च-स्तरीय प्रोग्रामिंग पैदा की।
क्या LLMs की तुलना कंपाइलरों से की जा सकती है?
- एक पक्ष: LLM-सहायित कोडिंग बस एक और एब्स्ट्रैक्शन परत है, जैसे assembly से Fortran की ओर जाना; “source of truth” स्पेक्स/टेस्ट्स की ओर स्थानांतरित हो सकता है।
- विरोधी दृष्टिकोण: यह गलत तुलना है; कंपाइलर सटीक, नियतात्मक (deterministic) मैपिंग लागू करते हैं जिनके स्पष्ट contracts होते हैं, जबकि LLMs stochastic, धुंधले हैं, और हमेशा कुछ न कुछ आउटपुट देते हैं।
- नियतत्व (determinism) पर बहस: आधुनिक कंपाइलर जटिल और heuristic हैं, लेकिन फिर भी उन्हें प्रोग्राम semantics को सुरक्षित रखना होता है; LLMs यह गारंटी नहीं देते।
स्पेक्स, प्राकृतिक भाषा, और अस्पष्टता
- कई लोगों का तर्क है कि प्राकृतिक भाषा स्वभाव से अस्पष्ट होती है; अस्पष्टता हटाने की कोशिश करने पर अंततः फिर code या formal specs ही बनते हैं।
- दूसरे जवाब देते हैं कि कई व्यवसायिक workflows पहले से ही tools और agentic workflows में natural-language जैसी rules का उपयोग करते हैं।
LLM-जनित कोड की गुणवत्ता और भूमिका
- कुछ लोग बताते हैं कि वे अब लगभग “program” नहीं करते; LLMs उनका अधिकांश code बनाती हैं, और इंसान दिशा-निर्देशन और review पर ध्यान देते हैं।
- दूसरों का कहना है कि LLMs over-engineer करती हैं, “boneheaded” गलतियाँ करती हैं, और सावधानी से constraints न हों तो गंदे, कठिन-से-maintain systems बनाती हैं।
- इस पर असहमति है कि क्या top models पहले ही अधिकांश developers से बेहतर प्रदर्शन करते हैं; कुछ इसे बढ़ा-चढ़ाकर या संदर्भ-निर्भर मानते हैं।
नौकरियाँ, अर्थशास्त्र, और भविष्य के workflows
- यह मजबूत चिंता है कि AI programmers और अन्य white-collar workers की demand को काफी कम कर देगा; तुलना horses के cars द्वारा प्रतिस्थापित होने से की जाती है।
- प्रतिवाद: software कभी “finished” नहीं होता, humans को अभी भी products परिभाषित करने, बदलती वास्तविकता को संभालने, और underspecified requirements को हल करने की ज़रूरत होती है।
- कुछ लोग 2030s के ऐसे workflows की कल्पना करते हैं जहाँ agents अधिकांश coding, tests, और operations करेंगे, जबकि मनुष्य behavior specify करेंगे, edge cases का adjudication करेंगे, और “office politics” संभालेंगे।
- अन्य लोग वर्तमान उत्साह को एक दोहरावदार चक्र का हिस्सा मानते हैं; tools बदलते हैं, लेकिन “software कैसे बनाया जाना चाहिए” पर बहसें बनी रहती हैं।