AI coding agents प्रोग्रामिंग भाषाओं की दीवारें तोड़ रहे हैं
(railsatscale.com)- AI coding tools की प्रगति के कारण ऐसा माहौल बन रहा है जिसमें developers नई language में जल्दी प्रवेश कर सकते हैं
- लेखक 10 साल तक सिर्फ Ruby इस्तेमाल करने वाले developer थे, लेकिन इस साल AI coding agents (जैसे Cursor, Claude Code) के साथ काम करने की वजह से C, C++, Rust जैसी system languages में वास्तविक योगदान करना संभव हो गया
- Claude Code और Cursor जैसे tools language syntax, idioms, और सामान्य theory में खास तौर पर बड़ी मदद करते हैं
- AI सिर्फ code generator नहीं, बल्कि एक "language expert pair engineer" की तरह काम करता है, जो मौजूदा अनुभव के साथ मिलकर real-time questions, context explanation, और example analysis के जरिए learning efficiency को अधिकतम करता है
- AI को project-specific context या गहरी internal structure की पूरी जानकारी नहीं होती, लेकिन language syntax, typical patterns, standard library जैसी चीज़ों पर तुरंत सलाह देता है, जिससे 100 घंटे से अधिक की pre-learning के बिना भी वास्तविक योगदान संभव हो जाता है
- AI tools के उपयोग से programming language expertise को लेकर पारंपरिक सोच तेज़ी से बदल रही है, और अब अधिक developers कई languages में productively काम कर सकते हैं
10 साल के Ruby developer का multi-language की ओर बदलाव
- लेखक 2014~2024 तक Ruby और Rails ecosystem के dedicated developer रहे
- इस दौरान Ruby ecosystem में Rails, IRB, RDoc, debug gem जैसे core tools के development और maintenance का अनुभव हासिल किया
- 2025 से लेखक Sorbet(C++), RBS parser(C), ZJIT(Rust) जैसे Ruby के बाहर के system-layer projects में योगदान दे रहे हैं
- इस बदलाव के पीछे AI coding agents (Cursor, Claude Code) का अपनाना एक प्रमुख कारण था
- Shopify के भीतर भी इन AI tools के सक्रिय उपयोग को प्रोत्साहित किया जा रहा है
मौके की पूरी तैयारी
- यह बदलाव सिर्फ AI की वजह से नहीं आया, बल्कि कुछ महत्वपूर्ण शर्तें भी साथ मौजूद थीं
- Ruby DX team के roadmap में बदलाव से Sorbet के लिए RBS support की ज़रूरत पड़ी → स्वाभाविक रूप से C/C++ अनुभव की मांग हुई
- Shopify की Ruby & Rails infrastructure team के सदस्यों ने know-how share किया और सक्रिय tutoring वाला माहौल दिया
- पहले भी बेहतरीन mentors और वास्तविक project opportunities मौजूद थीं, लेकिन AI ने learning barrier और learning curve को नाटकीय रूप से छोटा कर दिया
system programming की जटिलता
- ZJIT (नया JIT Ruby compiler) project का उदाहरण:
- इसमें एक साथ कई तरह के जटिल ज्ञान और skills की ज़रूरत होती है
- Rust (मुख्य भाषा), C (Ruby core implementation language), JIT/compiler theory, ZJIT की विशिष्ट structure और design, Ruby के internal working principles, Ruby build system (autoconf, Makefile आदि)
- एक Pull Request अक्सर 2~4 क्षेत्रों को एक साथ छूती है
- Claude Code की प्रभावशीलता
- syntax, सामान्य compiler theory, Rust/C/C++ जैसी language grammar और expression patterns में इसकी accuracy ऊँची है
- project-specific context, Ruby की internal implementation, और complex build system support में कुछ सीमाएँ हैं
- फिर भी learning process में entry barrier आधे से भी कम हो जाता है
- AI language syntax/theory/pattern सीखने में तुरंत मदद करता है, जबकि project-specific context अब भी इंसानों का क्षेत्र है
AI के साथ pair programming
- लेखक ने AI को सिर्फ एक code generator नहीं, बल्कि complementary partner की तरह देखना शुरू किया
- वास्तविक collaboration का तरीका
- developer task requirements और context बताता है
- AI patterns ढूँढता है और language expert की भूमिका निभाता है
- developer design के पीछे की वजह पूछता है
- AI code को संशोधित करता है या theory explore करके नतीजे देता है
- conversational learning के जरिए language itself और उसके practical usage दोनों एक साथ सीखे जाते हैं
- उदाहरण: Ruby bytecode instruction profiling task में AI से पुराने PR खोजने और उन्हें line-by-line समझाने के लिए कहा जा सकता है
- "मूर्खतापूर्ण सवाल" भी बिना झिझक पूछे जा सकते हैं (जैसे, “JIT compiler को profiling की ज़रूरत क्यों होती है?”)
- अपरिचित syntax पर तुरंत feedback मिल जाता है
- असफलता के मामले भी मौजूद हैं
- अगर project direction गलत हो जाए, तो अंततः सहकर्मी mentor की correction ज़रूरी होती है
- आखिरकार, मानव विशेषज्ञ की course correction क्षमता अब भी आवश्यक है
programming language barriers का टूटना
- अब किसी नए C project में योगदान देने के लिए 100 घंटे की pre-study ज़रूरी रहने वाला दौर नहीं रहा
- C, Rust जैसी "high entry barrier" languages में भी AI की मदद से तुरंत योगदान संभव है
- AI beginners की mistakes (syntax errors, type errors, tool usage को लेकर misunderstandings आदि) जल्दी पकड़ लेता है, इसलिए तुरंत वास्तविक योगदान किया जा सकता है
- गहरी expertise अब भी महत्वपूर्ण है, लेकिन multi-language productivity अब अधिक developers के लिए हासिल करने योग्य हो रही है
- syntax/standard functions/patterns AI पर छोड़कर developers वास्तविक problem solving पर ध्यान दे सकते हैं
- मेरे जैसे Ruby-केंद्रित developer का एक साल के भीतर multi-language developer बन जाना एक transformational trend है
- "सिर्फ एक language इस्तेमाल करने वाले developer" से "multi-language producer" बनने का बदलाव अब वास्तविकता बन रहा है
- आगे यह language-wise expertise की अवधारणा ही बदलने की शुरुआत हो सकती है
निष्कर्ष
- AI coding agents programming languages की entry barrier को तेज़ी से कम कर रहे हैं,
और developers के लिए कई languages में तुरंत productive तरीके से काम करने का नया दौर खोल रहे हैं
5 टिप्पणियां
कोड का जनरेशन तो ठीक है, लेकिन कोड की जाँच या रिव्यू कौन करेगा...
भले ही कोई ऐसी भाषा में लिख न सके जिसमें वह निपुण नहीं है, लेकिन अक्सर उसे मोटे तौर पर पढ़ पाना संभव होता है, इसलिए यह सही लगता है कि पहले की तुलना में समय की बचत होती है।
लगता है कि जिन तकनीकों को हमने पहले इस्तेमाल नहीं किया था या जिन क्षेत्रों का अनुभव नहीं था, उनमें अब हम पहले की तुलना में सचमुच बहुत तेजी से आगे बढ़ पा रहे हैं।
Hacker News राय
यह जिज्ञासा है कि AI सच में learning curve बदल रहा है, या बस अनुभव को ज़्यादा सुविधाजनक बना रहा है
10 साल तक सिर्फ Ruby करने के बाद 1 साल में multi-language developer बन जाना क्रांतिकारी लगा—इस अनुभव पर किसी ने कहा कि यह शायद उल्टा “10 साल तक कोशिश न करने” वाली बात ज़्यादा है
पहली programming language सीखना और कई साल का अनुभव होने के बाद नई भाषा सीखना पूरी तरह अलग अनुभव है
मैं भी बिल्कुल यही सोचता हूँ
10 साल तक सिर्फ एक ही भाषा करने वाले developer से खुद को जोड़ना मुश्किल है
शुरुआती दिनों में चुनी हुई भाषा से पहचान बहुत मज़बूत थी, लेकिन सच में अनुभवी developers से सीखा कि “भाषा तो बस एक tool है”
कई भाषाओं को छूने पर नज़रिया बहुत चौड़ा हो जाता है, और कुछ एहसास ऐसे होते हैं जिन्हें शब्दों में समझाना मुश्किल है
यह अनुभव कर पाना सच में खुशी की बात थी
“AI के बिना भी 1 साल में कई भाषाएँ सीखना संभव था” — इसमें कुछ हद तक सचाई है
मेरे अनुभव में o4 के साथ Python mini-project करते समय कई दिलचस्प edge cases मिले, और AI न होता तो उन्हीं वजहों से बहुत-सा काम रुक जाता
जैसे unraid में xml vm को handle करने का तरीका, या dockers में आने वाली समस्याएँ—इन्हें खुद से खंगालो तो पूरा दिन निकल सकता है
अब AI इन हिस्सों में guide कर देता है, इसलिए चीज़ें कहीं ज़्यादा smoothly आगे बढ़ जाती हैं
इसलिए थोड़ा डरावना भी लगता है, लेकिन यह सच में अच्छा काम करता है
वैसे मेरी पहली programming language पुराने ज़माने की BASIC थी
AI mainstream languages को और लोकप्रिय बनाता है
जिन भाषाओं में AI सबसे कम गलती करता है, वे आमतौर पर Python, JS, Ruby जैसी भाषाएँ हैं, जिनकी community बड़ी है और dataset बहुत विशाल है
इसलिए niche languages के लिए accessibility में सुधार उतना बड़ा नहीं है
क्योंकि ज़्यादातर programmers niche languages में इतने दक्ष नहीं होते कि छोटे bugs भी पकड़ लें
जैसे machine learning से सीखा गया है, आखिरकार training data ज़्यादा होने पर बढ़त मिलती है
AI pattern matching में मज़बूत है
अगर समस्या को पहले से मौजूद patterns में फिट कर दो, तो यह तुरंत अच्छे code samples दे देता है
लेकिन समस्या जितनी complex या unusual हो, AI उतना कम उपयोगी होता है
इंसान ज़्यादा abstract और dynamic concepts को लचीले ढंग से संभाल सकता है
niche languages इस्तेमाल करने वाले लोग आमतौर पर लोकप्रियता से अलग दूसरी चीज़ों (जैसे efficiency, पैसा, learning) को ज़्यादा महत्व देते हैं
अगर भाषा की popularity बढ़ानी हो, तो experts idioms के मुताबिक अच्छे sample code की बड़ी मात्रा तैयार करें और AI उनसे अलग-अलग variations generate करे—तो entry barrier तेज़ी से घट सकता है
छोटे स्तर की coding आसान हो जाए तो लोग भाषा में ही ज़्यादा रुचि लेने लगते हैं
LLMs niche languages में ज़्यादा बार बकवास करने की प्रवृत्ति रखते हैं
मैं Scala developer हूँ, और मेरे हिसाब से AI की उपयोगिता पर ज़्यादातर चर्चा इस बात पर निर्भर करती है कि आप कौन-सी भाषा इस्तेमाल करते हैं
JS जैसी भाषा में शायद यह ज़्यादा उपयोगी हो
चिंता यह है कि जब नई language या framework आए, और AI का सटीक support कम हो, तो लोग बदलाव से बचने लगें
उन्हें लग सकता है कि फायदा कम और असुविधा ज़्यादा है
हर नई release के साथ AI-friendly MCP docs या अतिरिक्त सामग्री की ज़रूरत बढ़ेगी
मेरे मामले में claude और Elm के साथ अनुभव बहुत सकारात्मक रहा
static type system की वजह से accuracy अच्छी थी और बहुत मदद मिली
हाँ, कभी-कभी अजीब जवाब भी मिलते हैं, लेकिन शायद यह अनुभव सबका होता है
मुझे लगता है कि major languages के बीच अब लगभग कोई barrier नहीं बचा
आज application development में व्यापक रूप से इस्तेमाल होने वाली 10 भाषाओं को देखें, तो ज़्यादातर C या ALGOL परिवार की हैं और उनमें मिलती-जुलती syntax, call-by-reference, और automatic memory management जैसी समानताएँ हैं
अगर आप professional developer हैं, तो इनके बीच बहुत ज्यादा मेहनत के बिना switch कर सकते हैं
memory management पहली बार सीखना थोड़ा मुश्किल हो सकता है, लेकिन परिचित patterns, warnings और linters का सही इस्तेमाल हो तो यह संभालने लायक है
वास्तव में कठिन learning curve वाली भाषाएँ Rust, Ada SPARK, Lisp, Forth, ML जैसी हैं, और ये mainstream नहीं हैं
मैं AI को सहायक programming partner की तरह इस्तेमाल कर रहा हूँ
AI की “चौड़ी लेकिन उथली जानकारी” का उपयोग करके पहले exploration करता हूँ, और फिर किसी खास क्षेत्र में गहराई से जाने पर उससे मदद लेता हूँ
नई programming language से ज़्यादा, मैं इसे नई concepts या technologies (जैसे webauthn backend, passkey integration implementation) सीखने में सक्रिय रूप से इस्तेमाल करता हूँ
beginner के नज़रिए से भी AI बहुत मददगार है
हालांकि, कई बार AI ने गलत उदाहरण भी दिए, जैसे deprecated dependencies, लेकिन अंत में उसी वजह से ज़्यादा गहरी समझ बनी—तो वह अनुभव उल्टा अच्छा रहा
मैं AI को पूरी तरह अपने आप app develop करने देना नहीं चाहूँगा
यह छोटी-छोटी गलतियाँ अक्सर करता है, इसलिए review ज़रूरी है
हाल ही में पहली बार देखे गए Swift codebase को समझने में AI ने बहुत मदद की
यह सवालों के जवाब जल्दी दिलाता है और सीखने की रफ़्तार बढ़ाता है
लेकिन किसी complex project में वास्तव में योगदान देने के लिए अब भी skill और experience अनिवार्य हैं
जिन भाषाओं को मैं जानता हूँ, उनमें भी AI बहुत-सी गलतियाँ करता है; तो जो भाषा न आती हो, उसमें review करना और भी कठिन है
हर नई भाषा में गहराई से जाकर review करना हो, तो सहज होने तक बहुत समय लगता है
कहा जाता है कि language barrier कम हुआ है, लेकिन हकीकत में WhatsApp का desktop app की बजाय web app की ओर जाना जैसी चीज़ें भी दिखती हैं, इसलिए barrier पूरी तरह खत्म नहीं हुआ
Microsoft का वह पुराना प्रयास याद आता है, जब उसने .Net platform के तहत J#, Fortran.Net, Cobol# जैसी भाषाओं के साथ एक ही team में collaboration का सपना दिखाया था
कहा जाता था कि इस मॉडल से बेहतरीन #Intercal प्रतिभाएँ भी productivity चार गुना बढ़ा सकती हैं
उम्मीद है कि AI की वजह से programming languages का विकास मज़बूत Hindley Milner type system वाली दिशा में होगा
Haskell सीखना कठिन है, लेकिन अगर dataset पर्याप्त हो तो यह coding agents के लिए perfect target है
यह high-level भी है, formally verifiable भी, और language server को AI से आसानी से जोड़ा जा सकता है
हकीकत शायद उल्टी है—Haskell तो AI support में और पीछे छूटता दिख रहा है
अगर आपको functional languages पसंद हैं, तो यह सोचना चाहिए कि natural language programming आखिर आकर्षक क्यों लगती है
natural language नतीजों को अस्पष्ट ढंग से व्यक्त कर सकती है, और मशीन उस हिस्से को अपने आप भर देती है
सच में क्रांति लानी हो तो मज़बूत logical system + ambiguity वाला programming model चाहिए, जैसे MTL जैसी logic-based दिशा
अफ़सोस कि इस क्षेत्र का research लगभग रुक गया है, और neural networks का दौर चल रहा है
LLM के नज़रिए से Haskell कम अनुकूल है, क्योंकि इसमें भाषा-स्तर की गहराई बहुत है
LLM मुख्यतः text patterns से काम करता है
सरल विशेषताएँ और friendly compiler errors देने वाली भाषाओं (जैसे Go) को AI अच्छी तरह संभाल लेता है
व्यक्तिगत रूप से मुझे अच्छी type inference वाली भाषाएँ पसंद हैं, लेकिन AI के नज़रिए से तस्वीर अलग है
मैंने LSP MCP tools + LLM आज़माए, और अनुभव थोड़ा निराशाजनक रहा
LSP मूल रूप से इंसानी users के लिए design किया गया था, इसलिए AI के साथ इसका मेल बिल्कुल परफेक्ट नहीं है
LLM pattern matching में मज़बूत है, और type structure सरल हो तो type errors लगभग नहीं आते
लेकिन complex structure में LLM या तो हल नहीं निकाल पाता, या user ही समझ नहीं पाता
यह सवाल भी है कि “क्या Haskell में बड़े पैमाने पर formal verification के उदाहरण हैं?” — seL4, CompCert वगैरह ज़्यादातर C या Coq+OCaml आधारित हैं
dependent type languages जैसे Agda का उपयोग बढ़ सकता है
लेकिन अगर dataset बहुत छोटा रहा, तो AI के लिए knowledge transfer मुश्किल हो सकता है
AI को pair programming partner की तरह लेना बेहतर है
जैसे-जैसे user सीखता है, AI की भूमिका भी बदलती है—शुरुआत में बुनियादी समझाना और छोटे code generate करना, फिर advanced discussion + बड़े code units generate करना, और code review तक
समय के साथ आप खुद ज़्यादा bugs पकड़ने लगते हैं
AI को सिर्फ code generator नहीं, बल्कि पूरक क्षमताओं वाला partner मानें, तो यह सच में मदद करता है
अगर भाषा अनजान हो, तो AI के दिए समाधान पर बारीकी से सवाल करने चाहिए
“यह ऐसे क्यों?”, “दूसरे scenarios में क्या?” जैसे ठोस सवाल पूछें, तो सीखने में सचमुच बहुत मदद मिलती है
सवाल पूछने पर AI मेरी सोच को validate तो करता है, लेकिन कुछ बार ऐसा करने के बाद उस पर पूरी तरह भरोसा करना कठिन लगने लगता है
AI से साफ़-साफ़ सवाल पूछने की आदत भी डालनी चाहिए
इससे पहले ही पता चल सकता है कि आपकी समझ गलत है या तर्क कहीं कमज़ोर है
Gemini की code generation क्षमता जाँचने के लिए मैंने bash script मांगी थी, लेकिन उसमें error था
अच्छी बात यह रही कि मुझे bash आती थी, इसलिए मैं उसे तुरंत ठीक कर सका; लेकिन अगर भाषा नहीं आती हो, तो इसे language barrier हट जाना कहना मुश्किल है
मुझे लगता है कि यह bash की अपनी समस्या है
उदाहरण के लिए, Go में इसी तरह के automation task LLM से करवाने पर वह एक बार में सही चल जाता है
इसे bash से ज़्यादा Gemini की समस्या कहना सही नहीं होगा; AI model के बारे में सटीक जानकारी के बिना सिर्फ brand name देखकर आलोचना करना उचित नहीं लगता
वास्तव में “Gemini 2.5 Pro (Jan 2025), temperature 0.15” जैसी setting पर इसने शानदार idiomatic bash script तुरंत बना दिया
(उदाहरण code छोड़ा गया)
हाँ, WSL2 में Windows Notepad से edited file की line ending समस्या भी आई थी, और Gemini ने उसका दोस्ताना समाधान भी बताया
मज़ेदार बात यह है कि bash में अगर आख़िरी line के अंत में newline न हो, तो processing ठीक से न होना bash की अपनी सीमा है
PowerShell में लगभग वही काम one-liner में हो जाता है, और अंत में newline न हो तो भी दिक्कत नहीं होती
Gemini की मदद से PowerShell को भी छोटे code में optimize किया जा सका
https://ruby-news.kr/articles/…
मैं जो सेवा बना रहा हूँ, उसमें यह उसका सारांश है। मैंने इसका अनुवाद किया था, इसलिए यह मिलता-जुलता है, लेकिन GeekNews वाला संस्करण थोड़ा अधिक सुव्यवस्थित है और पढ़ने में बेहतर लगता है।