30 पॉइंट द्वारा GN⁺ 2025-04-04 | 16 टिप्पणियां | WhatsApp पर शेयर करें
  • जब मैंने पहली बार AI code tools का इस्तेमाल किया, तो उनकी हैरान करने वाली क्षमता और efficiency से प्रभावित हुआ।
  • खासकर C++ compile errors का analysis करने में उन्होंने मदद की, और यह लगभग जादू जैसा लगा।
  • GitHub Copilot और अलग-अलग LLM-आधारित editor integration tools का इस्तेमाल करते-करते वे मेरे development workflow का हिस्सा बन गए।
  • लेकिन 2024 के अंत तक मैंने अपने code editor से सभी LLM integration features हटा दिए।
  • मैं अब भी कभी-कभी AI का इस्तेमाल करता हूँ, लेकिन उसे अपने मुख्य workflow में शामिल नहीं करता।

Tesla FSD जैसा एक समान अनुभव

  • 2019~2021 के दौरान Tesla कार चलाते समय मैंने FSD का अक्सर इस्तेमाल किया।
  • हाईवे पर FSD इस्तेमाल करने से ड्राइविंग पर मेरा ध्यान धीरे-धीरे कम होने लगा।
  • FSD पर निर्भरता की वजह से अपनी ड्राइविंग क्षमता कमजोर होने लगी।
  • बाद में सामान्य कार चलाते समय फिर से पूरा ध्यान वापस पाने में समय लगा।

AI code editor इस्तेमाल करने का अनुभव

  • AI tools का इस्तेमाल जितना बढ़ा, काम की रफ्तार उतनी तेज हुई, लेकिन बुनियादी कौशल उतने कमजोर हुए।
  • side projects में AI tools उपलब्ध न होने पर असुविधा महसूस हुई और आत्मविश्वास भी कम हुआ।
  • function definitions, test code लिखने जैसी बुनियादी चीजों में भी कठिनाई होने लगी।
  • AI पर निर्भर होते-होते implementation decisions खुद लेने में भरोसा कम हो गया।
  • आखिरकार महसूस हुआ कि जटिल कामों में मेरी क्षमता सचमुच घट गई है।

सहज तकनीकी समझ का खोना

  • जर्मन शब्द ‘Fingerspitzengefühl’ का अर्थ है वह सहज निर्णय क्षमता जो किसी अनुभवी व्यक्ति में होती है।
  • code लिखने में भी, किसी language और framework से गहराई से परिचित होने पर ऐसी समझ विकसित होती है।
  • pointer usage, standard library चुनना, assert का इस्तेमाल जैसी बारीक technical choices में यह समझ अहम होती है।
  • AI tools इस समझ को कमजोर कर देते हैं।
  • code की quality और maintainability को देखते हुए मानवीय अंतर्ज्ञान बहुत महत्वपूर्ण है।

AI tools के बिना भी development संभव है

  • यह डर कि AI tools के बिना काम ही नहीं हो पाएगा, बढ़ा-चढ़ाकर कहा गया है।
  • वास्तव में बड़े projects या legacy systems में AI इतना उपयोगी नहीं होता।
  • जिन projects में internal tools, frameworks, या internal DSL का इस्तेमाल होता है, वहाँ LLM ज़्यादा मदद नहीं करते।
  • security-sensitive code (JWT, RBAC आदि) AI के भरोसे नहीं छोड़ना चाहिए।
  • security वह क्षेत्र है जिसे आपको खुद समझना और जिसकी जिम्मेदारी खुद लेनी चाहिए।
  • अगर AI code लिखने से लेकर PR review और deployment तक सब संभाले, तो security समस्याएँ तेजी से बढ़ेंगी।

AI इस्तेमाल करने की सीमा तय करना

  • AI उपयोगी है, लेकिन उसे editor में integrate करके इस्तेमाल करने के तरीके से मैं बचता हूँ।
  • मैं खुद context देता हूँ, ज़रूरी code लेता हूँ, और उसे manually लागू करता हूँ।
  • उदाहरण: test conversion, SIMD calculations conversion, compressed data decoding आदि।
  • इस तरीके से code के प्रति जिम्मेदारी महसूस होती है और लागत भी कम होती है।
  • सीखने के लिए AI का इस्तेमाल फायदेमंद है: assembly code, shaders, network code आदि की व्याख्या माँगने पर यह खास तौर पर उपयोगी होता है।
  • अपने व्यक्तिगत ब्लॉग में मैं AI-generated content का इस्तेमाल नहीं करता और मानव-निर्मित सामग्री को प्राथमिकता देता हूँ।

जो काम पसंद है, उसे जारी रखना

  • efficiency और productivity के अलावा, उस काम को जारी रखना भी ज़रूरी है जिसे आप पसंद करते हैं।
  • जैसे chess में AI जीत सकता है, फिर भी लोग उसे खेलना पसंद करते हैं; उसी तरह programming भी आनंद की वजह से जारी रह सकती है।
  • सिर्फ बेहतर करने के लिए नहीं, बल्कि क्योंकि आप इसे पसंद करते हैं, programming जारी रखना महत्वपूर्ण है।

नए developers के लिए सलाह

  • AI पर निर्भर रहने वाले ‘permanent junior’ मत बनिए।
  • खुद code लिखने की क्षमता विकसित कीजिए और system के सिद्धांतों को गहराई से समझिए।
  • under the hood चलने वाली संरचनाओं का अध्ययन करते हुए अपनी क्षमता बढ़ाना महत्वपूर्ण है।
  • AI सिर्फ एक tool है; वह अपने-आप में कोई पूर्ण समाधान नहीं है।
  • कभी-कभी AI के बिना काम करने का अभ्यास भी ज़रूरी है।
  • सिर्फ ‘vibe coding’ से आप एक सक्षम developer नहीं बन सकते।
  • अगर आप AI के बिना coding नहीं कर सकते, तो आप वास्तव में coding नहीं कर रहे हैं।

निष्कर्ष

  • AI का मतलब है गति के बदले ज्ञान की कुछ कीमत चुकाना।
  • कभी-कभी यह trade-off मूल्यवान हो सकता है, लेकिन fundamentals की training अनिवार्य है।
  • सक्षम developers बार-बार basics का अभ्यास करते हैं।
  • AI अभी नौकरियाँ पूरी तरह replace करने से बहुत दूर है, और कंपनियाँ अक्सर FOMO पैदा करके investment आकर्षित करना चाहती हैं।
  • AI सिर्फ एक tool है, सोचने का विकल्प नहीं।
  • हमेशा जिज्ञासु बने रहना और सीखते रहना महत्वपूर्ण है।

16 टिप्पणियां

 
supermaxi 2025-04-28

कुशल डेवलपर की बुनियादी समझ क्या कंप्यूटर के आविष्कार के बाद से बदली नहीं है?

 
space0403 2025-04-05

मैं भी cote की तैयारी करते हुए बस आदतन Cursor ही चलाता रहा, यहाँ तक कि typing से ज़्यादा Tab ही दबाने लगा... haha फिर अच्छे मन से वापस vscode पर लौट आया।

 
ahwjdekf 2025-04-05

AI टूल बनाने वाले लोग भी शायद इस समस्या को अच्छी तरह जानते होंगे। बस इस पर चुप्पी साधे हुए हैं

 
potatium 2025-04-05

अगर आप AI पर बिना सोचे-समझे निर्भर हो जाएँ, तो यह वैसा ही हो सकता है जैसे कोई अक्षम मैनेजर जिसे architecture की भी समझ न हो, जो खुद code की एक लाइन भी न लिख सके, सिर्फ अपने जूनियर कर्मचारियों से काम करवाए, code में छिपे जोखिमों को भी न समझे, और समस्या आने पर उसका हल भी न ढूंढ पाए। फर्क बस इतना होगा कि इस्तेमाल का tool मानव बुद्धि से बदलकर कृत्रिम बुद्धिमत्ता हो जाएगा।

 
aqqnucs 2025-04-04

गंदे, थकाऊ मेहनत वाले कोडिंग काम के लिए इससे बेहतर कुछ नहीं है...

 
dbs0829 2025-04-04

मैं कुल मिलाकर इससे सहमत हूँ। मुझे लगता है कि अभी भी ऐसे क्षेत्र हैं जहाँ इस तरह की समझ की ज़रूरत होती है, और किसी चीज़ को पहचानना और न पहचानना—इन दोनों के बीच का फ़र्क काफ़ी बड़ा होता है। इसे एक टूल की तरह इस्तेमाल करें, लेकिन मेरा मानना है कि उसके बारे में पर्याप्त जागरूकता भी होनी चाहिए।

 
dudghks5722 2025-04-04

AI code editor इस्तेमाल करने का अनुभव, सहज समझ का खो जाना, और नए डेवलपर्स को दी गई सलाह—ये तीनों बातें काफ़ी गहराई से जुड़ती हैं।

 
reagea0 2025-04-04

कंप्यूटर भी इस्तेमाल न करें, फिर क्यों करें..

 
plumpmath 2025-04-06

हाहाहा, पूरी तरह सहमत।

 
plumpmath 2025-04-06

हाहाहाहाहाहाहाहाहा

 
ifmkl 2025-04-04

क्या यह 2025 संस्करण का "किम डेरी, फ़ंक्शन मत इस्तेमाल करि...ए" होगा हाहा

 
dbs0829 2025-04-04

लेख को देखकर ऐसा नहीं लगता कि वह यह कह रहा है कि इसे मेहनत वाले कामों में इस्तेमाल न करें; बल्कि बात यह लगती है कि अपनी सोच-विचार की प्रक्रिया AI पर न छोड़ें।

 
hhkkkk 2025-04-04

हाहा +1 है

 
tujuc 2025-04-04

धीरे-धीरे... ऐसे हालात आ रहे हैं जहाँ जानबूझकर अभ्यास की ज़रूरत पड़ती है... :)

 
kandk 2025-04-04

???: "putty और vi का इस्तेमाल करते रहिए"

 
GN⁺ 2025-04-04
Hacker News राय
  • मेरा मानना है कि कौशल दो तरह के होते हैं: स्वतंत्र कौशल और आधारभूत कौशल

    • इतिहास में हमने कई स्वतंत्र कौशल खोए भी हैं और नए हासिल भी किए हैं
    • तर्क, reasoning, वक्तृत्व क्षमता, और बुनियादी मशीन तथा engineering सिद्धांतों की समझ प्राचीन ग्रीस या 18वीं सदी के फ्रांस में भी उपयोगी होती
    • AI, programming के स्वतंत्र कौशलों में उपयोग के लिए उपयुक्त है
    • अगर किसी प्रोजेक्ट की बुनियादी architecture AI पर छोड़ दी जाए, तो आधारभूत problem-solving और software design की क्षमता कमजोर हो सकती है
    • AI स्वतंत्र कौशलों के लिए उपयोगी है, लेकिन आधारभूत कौशलों में अभी भी कमज़ोर है
    • AI-आधारित code editor, लंबे समय में कौशल घटने के जोखिम के बिना उपयोगी हो सकते हैं
  • अब मैं Cursor जैसे editor-स्तर के AI tools का उपयोग नहीं करता, और inline text completion तथा chat के जरिए समस्याएँ हल करता हूँ

    • AI पर बहुत ज़्यादा निर्भर होने से लगता है कि दिमाग सुस्त हो रहा है
    • भविष्य में AI पर ज़रूरत से ज़्यादा निर्भर लोगों और ऐसा न करने वालों के बीच का अंतर और बढ़ेगा
  • ज़्यादातर coding मैं हाथ से करता हूँ, लेकिन research को समृद्ध करने के लिए semantic search में LLM का उपयोग करता हूँ

    • मैं LLM से पूरी file नहीं लिखवाता
    • AI tools बाज़ार पर एक अच्छा कथन है: कई कंपनियाँ FOMO को बिक्री रणनीति की तरह इस्तेमाल करती हैं
  • मैंने code completion बंद कर दिया है; सुझावों को पढ़ना मानसिक बोझ लगता है

    • chat का उपयोग केवल ज़रूरत पड़ने पर करता हूँ
  • Nicholas Carr की किताब बताती है कि automation पर निर्भरता बढ़ने के साथ कौशल कैसे घटते हैं

    • मैंने Copilot बंद कर दिया और chat का उपयोग कम कर दिया
    • यह फैसला दो कारणों से लिया: कौशल बिगड़ रहे थे और coding कम मज़ेदार हो रही थी
    • मुझे खुद सोचना पसंद है, और अपने कौशल को बेहतर बनाना अच्छा लगता है
    • फिर से अकेले coding करना धीमा है, लेकिन अनुभव ज़्यादा आनंददायक है
  • यह "हर developer को Assembly क्यों सीखनी चाहिए" जैसे लेखों से मिलता-जुलता है

    • AI coding क्षमता बेहतर होती जाएगी, और बाज़ार में ले जाने लायक 90% समाधान दे पाएगी
    • वे optimized न हों या पूरी तरह सुरक्षित न हों, लेकिन यह अधिकांश वास्तविक software projects से बहुत अलग नहीं है
  • मैं सिर्फ Rider के साथ आने वाली line-completion AI का उपयोग करता हूँ

    • यह पारंपरिक code completion और थोड़ी smartness का एक उचित मिश्रण है
  • AI tools जीवन को अधिक सुविधाजनक बनाते हैं

    • मैं manual car चला सकता हूँ, लेकिन automatic transmission अधिक सुविधाजनक है
    • programming में भी मैं वास्तविक समस्याओं पर ध्यान देना चाहता हूँ
    • तकनीक का अस्तित्व जीवन को अधिक सुविधाजनक बनाने के लिए है
  • कौशल का ह्रास दोनों दिशाओं में काम करता है

    • LLM को प्रभावी ढंग से इस्तेमाल करने की शुरुआती क्षमता छूट सकती है
    • संभव है कि LLM programming languages को बदल दें
  • किसी खास समस्या को खोजते समय मैं Google search की जगह इसका उपयोग करता हूँ

    • AI के नतीजे बहुत लंबे और शब्दबहुल होते हैं, इसलिए मैं Google को पसंद करता हूँ, लेकिन Google भी धीरे-धीरे कम उपयोगी होता जा रहा है