1 पॉइंट द्वारा GN⁺ 2024-07-19 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • AWK के संस्थापक Dr. Brian Kernighan के साथ एक संक्षिप्त इंटरव्यू

    • Dr. Brian Kernighan का परिचय

      • Dr. Brian Kernighan कनाडा के एक कंप्यूटर वैज्ञानिक हैं, जिन्होंने Bell Labs में UNIX के विकास में योगदान दिया
      • Dennis Richie के साथ मिलकर उन्होंने C प्रोग्रामिंग भाषा पर आधारित मूल पुस्तक "The C Programming Language" का सह-लेखन किया
      • 2000 से वे Princeton University में अगली पीढ़ी के प्रोग्रामरों को तैयार कर रहे हैं
      • वे पहला "Hello World!" प्रोग्राम लिखने के लिए प्रसिद्ध हैं
    • AWK का नया विचार

      • AWK का मुख्य विचार associative arrays है
      • उस समय यह एक नया कॉन्सेप्ट था, लेकिन आज यह अधिकांश भाषाओं में library function (Java या C++ में hashmaps) या भाषा की मूल सुविधा (Perl और Python में dictionaries) के रूप में इस्तेमाल होता है
      • associative arrays एक बहुत शक्तिशाली संरचना है, जिसका उपयोग विभिन्न data structures को simulate करने में किया जा सकता है
      • pattern-action paradigm भी उस समय व्यापक रूप से उपयोग में नहीं था, लेकिन यह किसी विशेष computation को व्यवस्थित करने का एक प्रभावी तरीका है
    • प्रोग्रामिंग भाषा बनाते समय संदर्भित सामग्री

      • Dr. Kernighan: "कोई नहीं"
      • 1970 के दशक में उस समय कई नई special-purpose भाषाएँ थीं, और संदर्भ के लिए लगभग कोई पूर्व सामग्री नहीं थी
      • Yacc एक महत्वपूर्ण tool था, जिसने grammar को आसानी से बनाने और उस पर प्रयोग करने की सुविधा दी
      • Lex ने lexical स्तर पर वही भूमिका निभाई और बहुत-सा उबाऊ code को rules के एक set से बदल दिया
      • Lex और Yacc pattern-action भाषाओं के उदाहरण थे, और उन्होंने एक-दूसरे के लिए सकारात्मक चक्र बनाया
    • प्रोग्रामिंग भाषा डिजाइन में रुचि रखने वाले युवाओं के लिए सलाह

      • वे सलाह देते हैं कि एक छोटी special-purpose भाषा को डिजाइन और implement करके देखें
      • यह बहुत मज़ेदार और उपयोगी है, और Rust या C++ का विकल्प बनाने वाली भाषा तैयार करने से कहीं आसान है
      • वे सुझाव देते हैं कि ऐसे काम खोजें जिन्हें automate किया जा सके, और उनके लिए एक सरल compiler और runtime बनाएं
      • Jon Bentley का बहुत पहले लिखा गया संबंधित लेख आज भी प्रासंगिक है
    • इमेज स्रोत

      • Wikimedia Commons

GN⁺ का सारांश

  • Dr. Brian Kernighan UNIX और C भाषा के विकास में योगदान देने वाले एक महत्वपूर्ण व्यक्तित्व हैं, और वे AWK भाषा के संस्थापक हैं, जिसने associative arrays और pattern-action paradigm को पेश किया
  • associative arrays आज अधिकांश प्रोग्रामिंग भाषाओं में इस्तेमाल होने वाली एक शक्तिशाली data structure है
  • युवा प्रोग्रामरों के लिए छोटी special-purpose भाषाओं को डिजाइन और implement करना लाभदायक है
  • Yacc और Lex grammar और lexical analysis को आसान बनाने वाले tools हैं, और pattern-action भाषाओं के अच्छे उदाहरण हैं

1 टिप्पणियां

 
GN⁺ 2024-07-19
Hacker News की राय
  • Brian Kernighan 2000 में Princeton के CS विभाग में शामिल हुए, लेकिन 1993 में Bell Labs Research में रहते हुए उन्होंने पहले ही एक क्लास पढ़ाई थी
  • एक छात्र 386sx laptop (जिस पर शुरुआती Linux चल रहा था) क्लास में लाया और awk से जुड़े एक सवाल का जवाब दिया. Brian का Linux से परिचय काफ़ी शुरुआती दौर में ही हो गया था
  • 1994 की शरद ऋतु में AT&T की मुफ़्त टेलीफोन डायरेक्टरी को इंटरनेट पर डालने के बारे में Brian की एक पोस्ट है
  • Lex Fridman ने Brian Kernighan का डेढ़ घंटे का इंटरव्यू किया था
  • Aho और Weinberger के साथ एक अधिक व्यापक इंटरव्यू "Masterminds of Programming" किताब में शामिल है. इसकी ज़ोरदार सिफारिश की गई
  • पहले किसी ने अपने Usenet signature में लिखा था: "perl margarine है, awk butter है". Perl मिलने के बाद awk का इस्तेमाल कम हो गया
  • "The Unix Programming Environment" पढ़ रहे हैं. awk में आज की लोकप्रिय भाषाओं (js, lua, python, perl, tcl) से मिलती-जुलती कई बातें हैं
  • 1979 के 7th Edition Unix संस्करण का awk 2680 lines source code से बना था, और इसका executable 46k का था जो pdp-11 के 64k address space में चलता था. इसमें user-defined functions नहीं थीं
  • bc में user-defined functions थीं
  • 80 के दशक की एक Australian Unix conference में Dr. Kernighan द्वारा signed K&R किताब है. यह एक क़ीमती संग्रहणीय वस्तु है
  • वह किताब, "The Practice of Programming", और Byte magazine वगैरह 1980 के दशक के "Stack Overflow" की भूमिका निभाते थे
  • associative arrays को "newish" कहना दिलचस्प है. Lisp में यह लगभग 20 साल पहले ही आ चुका था
  • regex से lex, yacc, और awk तक का development order काफ़ी विश्वसनीय लगता है
  • बहुत संक्षिप्त
  • Awk के creator: मज़ेदार