2 पॉइंट द्वारा GN⁺ 2025-12-08 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • Perl के पतन का कारण तकनीकी सीमाएँ नहीं, बल्कि एक रूढ़िवादी और बंद विकास संस्कृति में था, ऐसा विश्लेषण किया गया है
  • शुरुआत की UNIX सिस्टम एडमिन संस्कृति से उपजा बहिष्कारी रवैया और 'expert-centric' गर्व ने भाषा के विकास को रोका
  • Perl 6 के विभाजन को तकनीकी विफलता से अधिक समुदाय के अंदरूनी संघर्ष और रूढ़िवादिता को उजागर करने वाली घटना के रूप में देखा गया
  • इसी समय Ruby on Rails, PHP, और Python ने अधिक खुली तथा सुलभ संस्कृति के साथ बढ़कर Perl की जगह संभाल ली
  • Perl आज भी POSIX वातावरण की एक मुख्य स्क्रिप्ट भाषा के रूप में मौजूद है, लेकिन मुख्यधारा की विकास भाषा के रूप में इसका प्रभाव कम हुआ है

Perl की सांस्कृतिक उत्पत्ति और सीमाएँ

  • Perl का जन्म UNIX सिस्टम एडमिन संस्कृति में हुआ, जहाँ ‘RTFM’, ‘luser’ जैसे अंदरूनी मज़ाक और बंदिश भरे नियम हावी थे
    • इस संस्कृति में ज्ञान पर एकाधिकार और एंट्री बैरियर बनाए रखना गुण माना जाता था, और कठिनाई को ही कौशल का प्रतीक समझा जाता था
    • परिणामस्वरूप नए उपयोगकर्ता या बदलाव के प्रति मजबूत प्रतिरोध वाली एक समूहवादी संरचना बनी
  • इसी रवैये की तुलना ‘घेराबंदी किला संस्कृति’ से की जाती है
    • समुदाय के अंदर के सदस्य अपनी तकनीकी कठिनाई को गर्व से जोड़ते थे, और बाहर से आने वाले सरलता प्रयासों को हल्के में लेते थे
    • इससे ‘सिर्फ योग्य व्यक्तियों’ का प्रवेश वाला वर्गीय ढांचा बन गया

Perl समुदाय की संरचना और Perl 6 का विभाजन

  • Perl ने ‘TIMTOWTDI(There Is More Than One Way To Do It)’ सिद्धांत के ज़रिए flexibility को बढ़-चढ़कर पेश किया
    • लेकिन इसी सिद्धांत ने भाषा परिवर्तन के प्रति रूढ़िवादिता को मजबूत किया, जिससे core language स्थिर रही और innovation CPAN के बाहर धकेला गया
    • CPAN-केंद्रित extension मॉडल ने dependency hell (निर्भरता अराजकता) जैसी स्थिति पैदा की
  • Perl 6 का उभरना समुदाय के अंदरूनी संघर्ष का परिणाम और विभाजन का प्रतीक था
    • Perl 5 ने व्यावहारिकता और स्थिरता पर ध्यान दिया, जबकि Perl 6 ने innovation और आदर्शों को तरजीह दी, जिससे सांस्कृतिक द्वैधता पैदा हुई
    • Perl 6 विकास 15 वर्ष से अधिक विलंबित रहा और इसे ‘सबसे waterfall-टाइप ओपन सोर्स प्रोजेक्ट’ के रूप में भी देखा गया
    • इसी दौर में Perl नए डेवलपर्स को आकर्षित करने में अनुकूल नहीं था और समुदाय और अधिक बंद होता गया

प्रतिस्पर्धी भाषाओं का उभार

  • Ruby ने Perl से मिलता-जुलता syntax रखते हुए भी ‘programmer happiness’ और सहायता/मित्रता’ को मुख्य मूल्य बनाया
    • Ruby on Rails ने developer-friendly tooling और consistent structure के साथ विस्फोटक सफलता पाई
    • Perl ने कई समान frameworks बनाए, लेकिन आपसी संगतता और आसान प्रवेश की कमी से इसका प्रसार नहीं हो सका
  • PHP को एक ‘user-first भाषा’ के रूप में देखा गया; आसान install और deploy होने के कारण यह व्यापक रूप से फैल गया
    • WordPress जैसे ब्लॉग प्लेटफ़ॉर्म की आधारशिला बनकर वेब डेवलपर्स की नई पीढ़ी की प्रवेश भाषा बना
  • Python ने शैक्षणिक पृष्ठभूमि से शुरुआत कर क्रमिक विकास और स्पष्ट डिज़ाइन सिद्धांत बनाए रखे
    • Google के अपनाने के बाद यह स्थिरता से बढ़ा, और ‘batteries included’ दर्शन से व्यावहारिकता मजबूत हुई

Perl का वर्तमान और विरासत

  • Perl अभी भी अधिकांश सिस्टम में pre-installed POSIX स्क्रिप्ट भाषा के रूप में मौजूद है
    • कई legacy systems और automation scripts में इसका उपयोग अभी भी व्यापक है
    • लेकिन नए projects की default भाषा विकल्प के रूप में लगभग इस्तेमाल नहीं होता
  • Perl की प्रमुख देनें
    • Regular expression integration और extensible syntax
    • इंटरनेट-आधारित package वितरण और signature verification के लिए CPAN
    • automated test harness (TAP) तथा CI अवधारणा का प्रसार
    • POSIX फीचर्स का एकीकरण जिसने shell और सिस्टम प्रोग्रामिंग की सीमा को मिटाया
    • POD documentation system से दस्तावेज़ीकरण में सुधार

निष्कर्ष: संस्कृति ने रची सफलता और पतन

  • Perl ने 1990 के दशक के शुरुआती web दौर में दो संस्कृतियों (UNIX एडमिन और web developer) को जोड़कर तेज़ वृद्धि हासिल की
  • लेकिन रूढ़िवादी संस्कृति और बंद समुदाय बदलाव के साथ तालमेल न बैठा सके, इसलिए यह मुख्यधारा से हट गया
  • फिर भी Perl को आधुनिक सॉफ़्टवेयर विकास की बुनियाद बनाने वाली भाषाओं में से एक माना जाता है
  • लेखक का दावा है कि Perl खत्म नहीं होगा; जब तक POSIX मौजूद है, Perl भी मौजूद रहेगा
  • आज Rust, TypeScript जैसी नई भाषाएँ भी वही सांस्कृतिक बदलाव का रास्ता दोहरा रही हैं जिसे Perl ने पहले झेला था

2 टिप्पणियां

 
kh0324 2025-12-10

मुझे लगता है कि अगर किसी लेख में यह बात आ जाए कि Perl और Ruby का syntax एक जैसा है, तो उसकी मौलिकता पर शक होने लगता है। यह क्लासिक दौर के Perl-आलोचना लेखों में उद्धृत होने वाला एक जुमला है, लेकिन वास्तविक इस्तेमाल में मैंने ऐसा कभी महसूस नहीं किया। इसलिए लगता है कि लोग बस किसी तरह सामग्री भरते हुए पुराने लेख कॉपी-पेस्ट कर देते हैं, या बाकी हिस्सा AI से लिखवा देते हैं, और इसी वजह से पुराने legacy Perl-विरोधी लेख बिना किसी आलोचनात्मक नजरिए के स्वीकार कर लिए गए हैं।

 
GN⁺ 2025-12-08
Hacker News राय
  • मुझे Perl कम्युनिटी का ‘भिक्षु और जादूगर’ जैसा सेटअप हमेशा बोझिल लगा
    एक-लाइन वाले कोड से खुद को बहुत स्मार्ट दिखाने की संस्कृति भी खास पसंद नहीं थी, और Python कहीं ज़्यादा गंभीर और ‘नॉर्मल’ लगता था

    • मैं आजकल Perl सीख रहा हूँ, और यह सचमुच जादूगरों द्वारा बनाई गई भाषा जैसी लगती है
      सिंटैक्स ऐसा लगता है जैसे जानबूझकर जटिल बनाया गया हो, और कई हिस्से डॉक्यूमेंटेशन के बिना बिल्कुल समझ नहीं आते
      बेशक उस समय कोड की संक्षिप्तता महत्वपूर्ण रही होगी, लेकिन 2025 में यह बहुत अनफ्रेंडली लगता है
      जैसे D&D में किसी का अचानक आया हुआ आइडिया हमेशा के लिए rulebook में घुसा दिया गया हो
    • Perl ऐसी भाषा थी जिसने अभिव्यक्ति की गहराई में निवेश किया, और नतीजतन एक ही काम 1000 तरीकों से लिखा जा सकता था
      दूसरी ओर Python ने “एक स्पष्ट तरीका” पर ज़ोर देकर साफ-सुथरे कोड की दिशा दी
      Perl को भी सुंदर ढंग से लिखा जा सकता था, लेकिन वह डेवलपर को सचेत रूप से चुनना पड़ता था
      Python में indentation की अनिवार्यता की वजह से शुरुआती लोग भी एक तय स्तर की readability हासिल कर लेते थे
    • यह मानना पड़ेगा कि Perl कम्युनिटी ने दुनिया का पहला module repository CPAN बनाया
      लेकिन भाषा खुद इतनी ज़्यादा expressive थी कि shared code के लिए वही बात उल्टा नुकसान बन गई
      text processing में Perl अब भी बेहतरीन है, लेकिन collaboration की भाषा के रूप में मुश्किल थी
    • मैंने Larry Wall का इंटरव्यू सुना, और वे बस मज़े से प्रयोग करने वाले अजीबोगरीब डेवलपर जैसे लगे
      कम्युनिटी की बढ़ा-चढ़ाकर बनाई गई छवि के विपरीत उनका मानवीय पक्ष प्रभावशाली लगा
    • Python भी एक समय whitespace rules और type system बहसों को लेकर शोरगुल से भरा हुआ था
      Perl की खिलंदड़ प्रकृति उल्टा ज़्यादा ईमानदार और कम गंभीर लगती थी
      लेकिन आखिरकार Python मुख्यधारा बन गया और Perl धीरे-धीरे भुला दिया गया
  • मुझे लगता है Perl कम्युनिटी की अहंकारी संस्कृति ने भाषा के पतन को तेज़ किया
    पहले एक दोस्त ने मुझे Linux सिखाया था, वह Perl का जबरदस्त प्रशंसक था, लेकिन कुछ न जानने पर उसका मज़ाक उड़ाने वाला RTFM रवैया ऐसा था कि आखिरकार उससे दोस्ती ही तोड़ दी

  • मेरा Perl कम्युनिटी से लगभग कोई संपर्क नहीं था, मैं बस उस दौर में इसे इस्तेमाल करता था जब सब कुछ Google पर खोजकर हल कर लेते थे
    @, % जैसे symbols बहुत ज़्यादा थे, इसलिए Ruby या Python की तुलना में पहुँच थोड़ी कठिन थी
    Ruby शुरू से object-oriented भाषा के रूप में डिज़ाइन की गई थी, इसलिए वह कहीं अधिक नैचुरल लगी
    Python की optional type hinting जब सटीक नहीं होती थी, तो वह उल्टा और भ्रम पैदा करती थी

    • यही तो optional type hinting का उद्देश्य है
      अगर उसे सटीक ही होना है, तो वह फिर अनिवार्य type system हुआ, वैकल्पिक hint नहीं
  • 90 के दशक में IRC पर किसी ने मुझे RTFM कहा था, लेकिन बाद में पता चला कि वह मज़ाक भी था और नए लोगों का स्वागत करने वाला इवेंट भी
    मैंने सच में Perl जादूगरों के साथ कॉफी पीते हुए mentorship पाई, और वह अनुभव मेरी programming ज़िंदगी का turning point बन गया
    उस समय सुनी एक बात आज भी याद है — “Perl it forward!”

    • पता नहीं यह सच है या मज़ाक
    • मैं उस Software Local 2142 की कहानी और सुनना चाहूँगा
  • “बहुत संघर्ष के बाद dopamine मिलने पर उसे अच्छा अनुभव समझ बैठने” वाली घटना पूरे कंप्यूटर उद्योग में फैली हुई है

    • सच कहूँ तो वही हर development का सार लगता है
      हमेशा उलझन रहती है, और लगातार यही सवाल आता है, “इसे ऐसे क्यों बनाया?”
  • ईमानदारी से कहूँ तो Perl बस इसलिए गायब हुआ क्योंकि दूसरी भाषाएँ बेहतर थीं

    • Perl एक प्रयोगधर्मी भाषा के रूप में शानदार था, लेकिन practicality कम थी
      जैसे prototype board से प्रोडक्ट नहीं बनाया जा सकता, वैसे ही Perl प्रयोग का परिणाम था
    • “do what I mean” दर्शन के नीचे बहुत-सी छिपी हुई जटिलता थी
      उदाहरण के लिए @array को scalar के रूप में लेने पर वह सिर्फ उसकी length लौटाता था — यानी context dependency मौजूद थी
    • मुझे लगता है Perl को बुरा कहने वाली राय बस एक आसान नारा बनकर फैल गई
      Toyota vs Honda की तरह, असल में यह ज़्यादा पसंद का फर्क था
    • मैं Perl कम्युनिटी का हिस्सा था, लेकिन मुझे Python पर ले जाने वाली चीज़ Django थी
    • Steve Yegge का “Ancient Languages: Perl” लेख कारणों को अच्छी तरह समझाता है
      Perl का reference syntax, असुविधाजनक OO, और use strict; / use warnings; जैसी बार-बार करनी पड़ने वाली सेटिंग्स थकाने वाली थीं
      Rails कहीं अधिक संक्षिप्त और सुरक्षित था, और समय भी उसके पक्ष में बिल्कुल सही था
  • Perl मेरी पहली पसंदीदा भाषा थी, लेकिन 2012 में मैंने पूरी तरह Python अपना लिया
    आज भी legacy code में Perl scripts दिखती हैं तो राहत मिलती है कि “अच्छा हुआ मैंने सही समय पर बदलाव कर लिया”
    Perl कोड में comments लगभग नहीं होते थे, और regex का अत्यधिक इस्तेमाल readability को बहुत खराब कर देता था
    अब मैं ऐसे patterns को Python के object-oriented तरीके से हल करता हूँ

  • मैंने Perl का खूब इस्तेमाल किया, लेकिन आखिरकार CPAN की quality problems की वजह से Python पर चला गया
    CPAN modules अक्सर टूट जाते थे, और कई बार उन्हें खुद ठीक करके इस्तेमाल करना पड़ता था

    • मैं Perl की script execution speed धीमी होने की वजह से Python पर गया
      90 के दशक से 2000 के शुरुआती वर्षों तक यह अंतर काफी बड़ा था
  • Perl के खत्म होने की वजह यह थी कि दूसरी भाषाओं ने CPAN जैसे ecosystem बना लिए,
    और Perl का लचीला syntax team-level collaboration के लिए अनुपयुक्त था

    • मैं Ruby पर गया, क्योंकि MRI extensibility क्रांतिकारी थी
      SWIG या जटिल type magic के बिना modules आसानी से distribute किए जा सकते थे,
      और Perl 6 की अनंत विकास देरी आख़िरी बड़ा झटका साबित हुई
    • Perl की मुक्त-विकास संस्कृति आकर्षक थी, लेकिन
      collaborative माहौल में cognitive load घातीय रूप से बढ़ जाता था
      Python ने उस बहस को PEP system के ज़रिए बाहर निकालकर कहीं अधिक कुशल बना दिया
    • npm को छोड़ दें, तो आज भी CPAN जितना शक्तिशाली repository बहुत कम है