भाषा डिज़ाइन में योगदान के अलावा, Niklaus Wirth ने बेहतरीन wordplay में से एक छोड़ा।
उनका surname असल में “Virt” जैसा उच्चारित होता है, लेकिन अमेरिका में सब उन्हें “Worth” कहते थे, इसलिए वे मज़ाक करते थे कि “यूरोप में मुझे नाम से बुलाया जाता है, और अमेरिका में value से।”
यह joke असल में नाम के साथ लिखने पर ही ठीक से काम करता है।
क्योंकि “by value” को उनके first name और surname के साथ मिलाकर Nickles Worth जैसा सुनाई देने के अर्थ में बोला जाता है।
वे चतुर बातें कहने वाले व्यक्ति के रूप में जाने जाते थे।
अनगिनत उपलब्धियों के अलावा, Wirth Joe Armstrong के हीरो थे और Armstrong वाली simplicity पर उनका बड़ा असर था।
Joe अक्सर Wirth की यह बात quote करते थे कि “overlapping windows, tiled windows से बेहतर हो सकती हैं, लेकिन इतनी बेहतर नहीं कि implementation complexity की लागत को सही ठहराया जा सके।”
ETH में उनके 80वें जन्मदिन के symposium में उन्होंने किसी random FPGA development board और USB peripherals पर चलने वाले अपने बनाए CPU पर Oberon का नया port दिखाया था; वह भी बहुत प्रभावशाली था, और मैं भी कभी ऐसा 80 साल का बनना चाहूंगा।
“इतनी बेहतर नहीं” वाला रवैया Wirth में legendary था।
compiler optimization पर उनका रुख भी ऐसा ही था: optimization pass तभी जोड़ना चाहिए जब वह compiler के self-compilation time को बेहतर करे।
Oberon में भी जानबूझकर सिर्फ cooperative multitasking support किया गया था।
उनकी बेटी के मुताबिक, 80 के काफी ऊपर की उम्र में भी वे घर पर लगातार कुछ न कुछ बनाते और प्रयोग करते रहते थे।
यह सचमुच “Wirthwhile ambition” कहा जा सकने वाला लक्ष्य है।
पहले मैंने “worthwhile” लिखा था, लेकिन pun इतना obvious था कि जैसे screen से बाहर निकल रहा हो।
मुझे Wirth की languages के साथ-साथ Algorithms + Data Structures = Programs, stepwise refinement जैसे काम भी पसंद हैं।
Pascal, कई लोगों की तरह, मेरी शुरुआती languages में से एक थी, और आज भी मुझे Delphi और Free Pascal के रूप में पसंद है।
RIP, guruji
guru की जगह guruji करने की वजह यह है कि Hindi में ji एक सम्मानसूचक suffix है, और बेशक guru अपने-आप में भी सम्मान वाला शब्द है।
मैं उनका पुराना छात्र हूं।
वे उन लोगों में से एक थे जिन्होंने मुझे—एक ऐसे teenager से, जो keyboard पीटकर कुछ भी चला देता था—coding से पहले सोचने वाला skilled programmer बनाया।
university में उनसे मिलने से पहले भी मैं Oberon में programming कर रहा था, क्योंकि Amiga side में Wirth languages इस्तेमाल करने वाले programmers काफी थे, और उनकी बहुत याद आएगी।
मैं भी उनका student था, और बाद में किसी दूसरे research lab के graduate student के रूप में निजी तौर पर उनसे कुछ बार मिला।
undergraduate students सभी उन्हें बहुत आदर और विस्मय से देखते थे, लेकिन लगता था कि वे undergraduate lectures का खास आनंद नहीं लेते थे।
फिर भी दूसरे professors के उलट, वे यह जिम्मेदारी teaching assistants पर डालने की कोशिश नहीं करते थे, और graduate students के साथ उनके रिश्ते अच्छे लगते थे।
compiler construction class में वे ज्यादा involved दिखते थे; शायद इसलिए कि students पहले से थोड़ा ज्यादा experienced थे और उस समय वे Oberon design को iteratively improve कर रहे थे।
oral exam में उन्होंने Pascal की dangling ELSE problem हल करने को कहा, और मैंने जवाब दिया कि मैं language grammar को refine करके ambiguity दूर करूंगा।
उन्होंने कहा कि शायद वह काम तो करेगा, लेकिन जरूरत से ज्यादा complex है, और पूछा कि मुझे यह idea कहां से मिला; आखिरकार मैंने कबूल किया कि इसे उनकी textbook की लगभग competitor मानी जाने वाली “Dragon Book” में देखा था।
बाद में ही समझ आया कि वे जिस answer की उम्मीद कर रहे थे, वह Modula-2 और Oberon की तरह language बदलकर explicit END की जरूरत रखना था।
निजी बातचीत में वे बात करने में मजेदार व्यक्ति थे और computer-related किस्सों से भरपूर थे।
public में वे कुछ dogmatic लगते थे, लेकिन निजी तौर पर “heresy” के प्रति कहीं ज्यादा tolerant थे।
एक बार Perl की बात आई तो मुझे उम्मीद नहीं थी कि वे कुछ अच्छा कहेंगे, लेकिन हैरानी की बात है कि वे pattern matching/text processing language के लिए एक valid niche मानते थे, और उस family की पुरानी language के रूप में SNOBOL का जिक्र किया।
जानना चाहूंगा कि वे कौन-सी languages थीं।
मैंने अभी-अभी Workbench 2.1 वाला Amiga 500 restore किया है, और उनकी memory को सम्मान देना चाहता हूं।
Amiga उन platforms में से एक था जहां Modula-2 users काफी थे, PC से भी ज्यादा।
क्योंकि PC side Turbo Pascal की आदी हो चुकी थी।
begin
वाकई बेहद दुखद खबर है
सोच रहा हूँ कि क्या Twitter से बेहतर कोई स्रोत है
संशोधन: https://lists.inf.ethz.ch/pipermail/oberon/2024/016856.html
Wirth सरलता, शुद्धता और इंसानों द्वारा समझे जा सकने वाले software के बचे हुए सबसे महान प्रेरकों में से एक थे, और अब केवल Hoare और Moore रह गए हैं; Moore भी लगता है GreenArrays की वास्तविक कमान युवा पीढ़ी को सौंप चुके हैं
युवा लोग शायद न जानते हों कि उनका काम सिर्फ अकादमिक रूप से नहीं, बल्कि practical तौर पर भी क्या मायने रखता था, इसलिए कुछ बातें छोड़ रहा हूँ
आज हम जिस integrated development environment को जानते हैं, उसका जन्म Turbo Pascal में हुआ था, और शुरुआती Macintosh software का बड़ा हिस्सा Pascal में लिखा गया था; MacPaint भी इसका उदाहरण है
Go के मूल तीन designers में से एक Robert Griesemer, Wirth के छात्र थे और उन्होंने Oberon extension पर PhD की थी; Wirth की languages ने Newsqueak के design को भी बहुत स्पष्ट रूप से inspire किया
TeX भी Pascal में लिखा गया था
end;
end.
सरल, सही और सुंदर software आज भी बन रहा है, और Wirth आखिरी नहीं थे
बस उसका अधिकांश हिस्सा ध्यान में नहीं आता, और ध्यान खींचने वाले जटिल, fragile और विशाल software के शोर में उसका शांत गीत दब जाता है
वह गीत कभी गायब नहीं हुआ; बस सही frequency tune करनी होती है
अभी तक कोई बेहतर स्रोत नहीं दिख रहा, लेकिन यह Eiffel language के creator Bertrand Meyer का वास्तविक account है
Wirth के छात्र Michael Franz की PhD thesis, जिसे मैंने पहली बार 1994 में पढ़ा था, मुझे आज भी बेहद पसंद है
वे अभी UC Irvine में professor हैं, और उन्होंने Andreas Gal की trace tree वाली thesis भी supervise की थी, जो बाद में TraceMonkey बनी
सरलता, शुद्धता और इंसानों द्वारा समझे जा सकने वाले software के प्रेरक की category में Alan Kay भी अभी हमारे साथ हैं
Dijkstra ने EWD1308 में इससे जुड़ा एक हिस्सा खुद लिखा है
1968 में Communications of the ACM ने उनका लेख “The goto statement considered harmful” title से छापा, और उसके बाद दुर्भाग्य से वह लेख अक्सर उन authors द्वारा cite किया जाने लगा जिन्होंने सिर्फ title देखा था; यही उनकी प्रतिष्ठा की आधारशिला और “X considered harmful” title style का prototype बन गया
असल में उन्होंने paper “A case against the goto statement” title से submit किया था, लेकिन publication तेज करने के लिए editor ने उसे “letter to the editor” में बदल दिया और अपने हिसाब से नया title दे दिया; वह editor Niklaus Wirth ही थे
[1] Transcription - https://www.cs.utexas.edu/%7EEWD/transcriptions/EWD13xx/EWD1...
PDF - https://www.cs.utexas.edu/%7EEWD/ewd13xx/EWD1308.PDF
Professor Wirth बचपन में मेरे लिए बहुत बड़ी प्रेरणा थे
उस समय मुझे ठीक से एहसास नहीं था कि Pascal पर उनकी किताब कितनी elegant और simple थी, लेकिन मैंने उसे खूब मन लगाकर पढ़ा; Oberon language और Lilith workstation के development को भी रुचि से follow किया
जब मैं 13 साल का था, उन्होंने ज्यादा दूर नहीं, शायद Johns Hopkins जैसी किसी जगह पर lecture दिया था, और मेरे पिता मुझे वहाँ ले गए
वह सचमुच शानदार अनुभव था, और linked photo[1] में भी दिखता है कि वे बेहद दयालु और उत्साह बढ़ाने वाले थे
[1]: https://mastodon.online/@raph/111693863925852135
दुखद दिन है
वे computing के दिग्गज थे, और उन्हें जितनी पहचान मिली उससे कहीं ज़्यादा के वे हकदार थे
अगर उनकी languages software development में ज़्यादा व्यापक रूप से इस्तेमाल हुई होतीं, तो बहुत कुछ बेहतर होता
C64/128 पर Basic को थोड़ा आज़माने के बाद, मेरी सीखी हुई पहली “असली” programming language Pascal थी
मैंने school के Apple II पर UCSD Pascal और IBM PC पर Turbo Pascal 3.0 से सीखा; वह PC तब तक AT जैसा high-end model भी नहीं था, बल्कि built-in amber CRT वाला portable PC था
जब मैंने Amiga 500 खरीदा, तब Amiga पर Modula-2 बहुत लोकप्रिय था, और M2Amiga system सचमुच सबसे मज़बूत development environment था
Modula-2 ने structured और robust programs बनाना आसान किया, और modules का concept अपने समय से आगे था
यह C दुनिया से बिल्कुल अलग था, जहाँ उसके बाद भी लंबे समय तक header files बार-बार recompile होती रहीं
आज Go ने Modula-2 से बहुत कुछ लिया है, इसलिए मैं Go की ओर तुरंत आकर्षित हुआ
Robert Griesemer का Wirth का छात्र होना भी संयोग नहीं है
90 के दशक में भी, जब MS-DOS इस्तेमाल होता था, PC पर Turbo Pascal सबकी मुख्य language थी
यह powerful थी, फिर भी full-time software developer न होने वाले लोगों के लिए भी approachable थी; इसने Modula-2 के कई extensions अपनाए थे और इसका object system भी अच्छा था
version 6 और 7 में यह अपने शिखर पर पहुँची, और pure text-based UI की जबरदस्त speed की वजह से शायद आज भी यह मेरा सबसे पसंदीदा development environment है
Turbo Pascal ने एक अच्छे development environment और power व simplicity के बीच बेहतरीन संतुलन वाली language को साथ जोड़ा
अफसोस, उनके बाद के काम Oberon के बारे में मुझे सिर्फ धुंधली-सी जानकारी थी
मैंने 386 पर Oberon system को native रूप से boot करके थोड़ा आज़माया था, और PC के DOS era में उसकी efficiency और पूरा GUI बेहद impressive था
अफसोस है कि उसे ज़्यादा ध्यान नहीं मिला
अगर 80 के दशक के अंत में, बहुत देर होने से पहले, उसे traction मिल गया होता, तो वह बहुत सफल हो सकता था; लेकिन 90 के दशक की शुरुआत में Windows आ गया
purist नज़रिए से उनका शिखर तब था जब उन्होंने सचमुच full-stack developer की उपाधि अर्जित की
क्योंकि उन्होंने सिर्फ Oberon और operating system ही design नहीं किया, बल्कि उसे चलाने वाला CPU भी design किया
यह बेहद impressive था और इसका educational value भी बहुत बड़ा था
END.
Wirth, Euler, PL360, ALGOL W, Pascal, Modula, Modula-2, Oberon, Oberon-2, Oberon-07 के मुख्य designer थे
वे Lilith workstation के लिए Medos-2 और Ceres workstation के लिए Oberon operating system, और Lola digital hardware design और simulation system के design व implementation में भी केंद्रीय रूप से शामिल थे
1984 में उन्हें इन languages के development के लिए ACM Turing Award मिला
अब भी सोचता हूँ कि अगर Wirth में Modula को Pascal 2 कहने भर की marketing sense होती, तो आज tech दुनिया कितनी अलग होती
मुझे Lola काफी पसंद है
यह Pascal/Oberon से प्रभावित, सीखने में आसान hardware description language है, जो C से प्रेरित Verilog या Ada से प्रेरित VHDL के विपरीत है
Wirth का पूरा software stack भी मुझे पसंद है
Lola में implemented RISC-5 को RISC-V से confuse नहीं करना चाहिए, और उसके ऊपर Oberon language और Oberon environment हैं
अगर मेरी याददाश्त सही है, तो Lola Verilog generate कर सकता था, और idea शायद यह था कि students FPGA board से शुरू करके अपना CPU, compiler और operating system बना सकें
मुझे उनकी witty बातें भी पसंद हैं
लगता है उन्होंने कुछ ऐसा कहा था: “मैं एक professor हूँ जो programmer है, और एक programmer हूँ जो professor है”
हमें ऐसे और programmer/professors चाहिए, और वे systems वाले लोगों के लिए साफ़ तौर पर प्रेरणा हैं
उन्होंने Apple और Object Pascal के शुरुआती design में भी सहयोग किया, और उनके students ने Component Pascal, Active Oberon, Zonnon जैसे Oberon से निकले कई research projects किए
university के पहले दो programming semesters में मैंने Pascal और MODULA-2 सीखी
MODULA-2 कुछ समय बाद गायब हो गई, लेकिन Pascal अब भी introductory programming courses में इस्तेमाल होती है
मुझे बहुत खुशी है कि programming से मेरा पहला परिचय इन्हीं languages से हुआ, और Wirth मेरे दिल में बहुत खास स्थान रखते हैं
उनके designs सचमुच अपने समय से आगे थे
Basic के बाद मेरी सीखी हुई दूसरी language Pascal थी
Modula भी हमेशा सीखना चाहता था, लेकिन इसके बजाय Delphi सीखी
मैंने अपनी पहली company Delphi पर शुरू की थी, और Delphi, Turbo Pascal पर आधारित थी
Wirth एक बड़ी प्रेरणा थे और उनका निधन कोई छोटी क्षति नहीं है
उम्मीद है कि उनका काम आने वाली कई पीढ़ियों के नए programmers को प्रेरित करता रहेगा
उनका एक quote यह है: “यूरोपीय लोग आम तौर पर मेरा नाम सही ढंग से ‘Ni-klows Wirt’ उच्चारित करते हैं, लेकिन अमेरिकी बिना अपवाद उसे ‘Nick-les Worth’ में बिगाड़ देते हैं। यानी यूरोपीय मुझे मेरे नाम से बुलाते हैं, और अमेरिकी मुझे value से बुलाते हैं”
सही
मैंने real-time system monitoring के लिए language में modularity लाने के विषय पर bachelor’s thesis लिखी थी, और उनके काम—खासकर MODULA-2—से मुझे बहुत प्रेरणा मिली
Wirth ने शायद उस quote को अपनाया हो, लेकिन वास्तव में यह एक conference में उनका परिचय करा रहे किसी व्यक्ति की witty remark से शुरू हुआ था https://news.ycombinator.com/item?id=38858993
computing history के लिए यह दुखद दिन है, और हमने एक महान language designer खो दिया, जिन्होंने बहुतों को systems programming के लिए बेहतर approach दिखाया
दुखद है, लेकिन उन्होंने लंबी और भरी-पूरी ज़िंदगी जी, जिसका सपना बहुत से लोग ही देखते हैं
मैं उस जीवन के नाम जाम उठाना चाहूँगा, और उम्मीद करता हूँ कि वे कहीं coding Valhalla में हों
मैं इतना दुखी नहीं हूँ
मृत्यु जीवन का हिस्सा है
जब जीवन Alzheimer’s, dementia, या बस धीमे और कमजोर पड़ने के रूप में बिखरता है, या बहुत जल्दी खत्म हो जाता है, या व्यर्थ चला जाता है—वह कहीं ज़्यादा दुखद है
वे जल्द ही 90 वर्ष के होने वाले थे, और उन्होंने लंबी, प्रभावशाली और भरी-पूरी ज़िंदगी जी
ऐसी ज़िंदगी मनाए जाने लायक है
2 टिप्पणियां
Kent Beck ने भी Professor Niklaus Wirth के बारे में अपनी श्रद्धांजलि लिखी है.
https://tidyfirst.substack.com/p/niklaus-wirth-1934-2024
यह जानकर कि Professor Joe Armstrong भी Professor Niklaus Wirth से प्रभावित थे, लगता है कि वे सचमुच बहुत महान व्यक्ति थे.
Hacker News की राय
भाषा डिज़ाइन में योगदान के अलावा, Niklaus Wirth ने बेहतरीन wordplay में से एक छोड़ा।
उनका surname असल में “Virt” जैसा उच्चारित होता है, लेकिन अमेरिका में सब उन्हें “Worth” कहते थे, इसलिए वे मज़ाक करते थे कि “यूरोप में मुझे नाम से बुलाया जाता है, और अमेरिका में value से।”
अगर उस समय दर्शकों की प्रतिक्रिया का कोई वीडियो हो, तो मैं जरूर देखना चाहूंगा।
https://en.wikiquote.org/wiki/Niklaus_Wirth
https://lists.racket-lang.org/users/archive/2014-July/063519...
क्योंकि “by value” को उनके first name और surname के साथ मिलाकर Nickles Worth जैसा सुनाई देने के अर्थ में बोला जाता है।
अनगिनत उपलब्धियों के अलावा, Wirth Joe Armstrong के हीरो थे और Armstrong वाली simplicity पर उनका बड़ा असर था।
Joe अक्सर Wirth की यह बात quote करते थे कि “overlapping windows, tiled windows से बेहतर हो सकती हैं, लेकिन इतनी बेहतर नहीं कि implementation complexity की लागत को सही ठहराया जा सके।”
ETH में उनके 80वें जन्मदिन के symposium में उन्होंने किसी random FPGA development board और USB peripherals पर चलने वाले अपने बनाए CPU पर Oberon का नया port दिखाया था; वह भी बहुत प्रभावशाली था, और मैं भी कभी ऐसा 80 साल का बनना चाहूंगा।
compiler optimization पर उनका रुख भी ऐसा ही था: optimization pass तभी जोड़ना चाहिए जब वह compiler के self-compilation time को बेहतर करे।
Oberon में भी जानबूझकर सिर्फ cooperative multitasking support किया गया था।
https://www.youtube.com/watch?v=EXY78gPMvl0
पहले मैंने “worthwhile” लिखा था, लेकिन pun इतना obvious था कि जैसे screen से बाहर निकल रहा हो।
मुझे Wirth की languages के साथ-साथ Algorithms + Data Structures = Programs, stepwise refinement जैसे काम भी पसंद हैं।
Pascal, कई लोगों की तरह, मेरी शुरुआती languages में से एक थी, और आज भी मुझे Delphi और Free Pascal के रूप में पसंद है।
RIP, guruji
guru की जगह guruji करने की वजह यह है कि Hindi में ji एक सम्मानसूचक suffix है, और बेशक guru अपने-आप में भी सम्मान वाला शब्द है।
मैं उनका पुराना छात्र हूं।
वे उन लोगों में से एक थे जिन्होंने मुझे—एक ऐसे teenager से, जो keyboard पीटकर कुछ भी चला देता था—coding से पहले सोचने वाला skilled programmer बनाया।
university में उनसे मिलने से पहले भी मैं Oberon में programming कर रहा था, क्योंकि Amiga side में Wirth languages इस्तेमाल करने वाले programmers काफी थे, और उनकी बहुत याद आएगी।
undergraduate students सभी उन्हें बहुत आदर और विस्मय से देखते थे, लेकिन लगता था कि वे undergraduate lectures का खास आनंद नहीं लेते थे।
फिर भी दूसरे professors के उलट, वे यह जिम्मेदारी teaching assistants पर डालने की कोशिश नहीं करते थे, और graduate students के साथ उनके रिश्ते अच्छे लगते थे।
compiler construction class में वे ज्यादा involved दिखते थे; शायद इसलिए कि students पहले से थोड़ा ज्यादा experienced थे और उस समय वे Oberon design को iteratively improve कर रहे थे।
oral exam में उन्होंने Pascal की dangling ELSE problem हल करने को कहा, और मैंने जवाब दिया कि मैं language grammar को refine करके ambiguity दूर करूंगा।
उन्होंने कहा कि शायद वह काम तो करेगा, लेकिन जरूरत से ज्यादा complex है, और पूछा कि मुझे यह idea कहां से मिला; आखिरकार मैंने कबूल किया कि इसे उनकी textbook की लगभग competitor मानी जाने वाली “Dragon Book” में देखा था।
बाद में ही समझ आया कि वे जिस answer की उम्मीद कर रहे थे, वह Modula-2 और Oberon की तरह language बदलकर explicit END की जरूरत रखना था।
निजी बातचीत में वे बात करने में मजेदार व्यक्ति थे और computer-related किस्सों से भरपूर थे।
public में वे कुछ dogmatic लगते थे, लेकिन निजी तौर पर “heresy” के प्रति कहीं ज्यादा tolerant थे।
एक बार Perl की बात आई तो मुझे उम्मीद नहीं थी कि वे कुछ अच्छा कहेंगे, लेकिन हैरानी की बात है कि वे pattern matching/text processing language के लिए एक valid niche मानते थे, और उस family की पुरानी language के रूप में SNOBOL का जिक्र किया।
मैंने अभी-अभी Workbench 2.1 वाला Amiga 500 restore किया है, और उनकी memory को सम्मान देना चाहता हूं।
क्योंकि PC side Turbo Pascal की आदी हो चुकी थी।
begin
वाकई बेहद दुखद खबर है
सोच रहा हूँ कि क्या Twitter से बेहतर कोई स्रोत है
संशोधन: https://lists.inf.ethz.ch/pipermail/oberon/2024/016856.html
Wirth सरलता, शुद्धता और इंसानों द्वारा समझे जा सकने वाले software के बचे हुए सबसे महान प्रेरकों में से एक थे, और अब केवल Hoare और Moore रह गए हैं; Moore भी लगता है GreenArrays की वास्तविक कमान युवा पीढ़ी को सौंप चुके हैं
युवा लोग शायद न जानते हों कि उनका काम सिर्फ अकादमिक रूप से नहीं, बल्कि practical तौर पर भी क्या मायने रखता था, इसलिए कुछ बातें छोड़ रहा हूँ
आज हम जिस integrated development environment को जानते हैं, उसका जन्म Turbo Pascal में हुआ था, और शुरुआती Macintosh software का बड़ा हिस्सा Pascal में लिखा गया था; MacPaint भी इसका उदाहरण है
Go के मूल तीन designers में से एक Robert Griesemer, Wirth के छात्र थे और उन्होंने Oberon extension पर PhD की थी; Wirth की languages ने Newsqueak के design को भी बहुत स्पष्ट रूप से inspire किया
TeX भी Pascal में लिखा गया था
end;
end.
बस उसका अधिकांश हिस्सा ध्यान में नहीं आता, और ध्यान खींचने वाले जटिल, fragile और विशाल software के शोर में उसका शांत गीत दब जाता है
वह गीत कभी गायब नहीं हुआ; बस सही frequency tune करनी होती है
https://twitter.com/odersky/status/1742618391553171866
वे अभी UC Irvine में professor हैं, और उन्होंने Andreas Gal की trace tree वाली thesis भी supervise की थी, जो बाद में TraceMonkey बनी
Niklaus Wirth वही व्यक्ति भी थे जिन्होंने Dijkstra के paper का title बदलकर Goto Statement Considered Harmful किया था
https://en.wikipedia.org/wiki/Considered_harmful#cite_ref-6
1968 में Communications of the ACM ने उनका लेख “The goto statement considered harmful” title से छापा, और उसके बाद दुर्भाग्य से वह लेख अक्सर उन authors द्वारा cite किया जाने लगा जिन्होंने सिर्फ title देखा था; यही उनकी प्रतिष्ठा की आधारशिला और “X considered harmful” title style का prototype बन गया
असल में उन्होंने paper “A case against the goto statement” title से submit किया था, लेकिन publication तेज करने के लिए editor ने उसे “letter to the editor” में बदल दिया और अपने हिसाब से नया title दे दिया; वह editor Niklaus Wirth ही थे
[1] Transcription - https://www.cs.utexas.edu/%7EEWD/transcriptions/EWD13xx/EWD1...
PDF - https://www.cs.utexas.edu/%7EEWD/ewd13xx/EWD1308.PDF
Professor Wirth बचपन में मेरे लिए बहुत बड़ी प्रेरणा थे
उस समय मुझे ठीक से एहसास नहीं था कि Pascal पर उनकी किताब कितनी elegant और simple थी, लेकिन मैंने उसे खूब मन लगाकर पढ़ा; Oberon language और Lilith workstation के development को भी रुचि से follow किया
जब मैं 13 साल का था, उन्होंने ज्यादा दूर नहीं, शायद Johns Hopkins जैसी किसी जगह पर lecture दिया था, और मेरे पिता मुझे वहाँ ले गए
वह सचमुच शानदार अनुभव था, और linked photo[1] में भी दिखता है कि वे बेहद दयालु और उत्साह बढ़ाने वाले थे
[1]: https://mastodon.online/@raph/111693863925852135
दुखद दिन है
वे computing के दिग्गज थे, और उन्हें जितनी पहचान मिली उससे कहीं ज़्यादा के वे हकदार थे
अगर उनकी languages software development में ज़्यादा व्यापक रूप से इस्तेमाल हुई होतीं, तो बहुत कुछ बेहतर होता
C64/128 पर Basic को थोड़ा आज़माने के बाद, मेरी सीखी हुई पहली “असली” programming language Pascal थी
मैंने school के Apple II पर UCSD Pascal और IBM PC पर Turbo Pascal 3.0 से सीखा; वह PC तब तक AT जैसा high-end model भी नहीं था, बल्कि built-in amber CRT वाला portable PC था
जब मैंने Amiga 500 खरीदा, तब Amiga पर Modula-2 बहुत लोकप्रिय था, और M2Amiga system सचमुच सबसे मज़बूत development environment था
Modula-2 ने structured और robust programs बनाना आसान किया, और modules का concept अपने समय से आगे था
यह C दुनिया से बिल्कुल अलग था, जहाँ उसके बाद भी लंबे समय तक header files बार-बार recompile होती रहीं
आज Go ने Modula-2 से बहुत कुछ लिया है, इसलिए मैं Go की ओर तुरंत आकर्षित हुआ
Robert Griesemer का Wirth का छात्र होना भी संयोग नहीं है
90 के दशक में भी, जब MS-DOS इस्तेमाल होता था, PC पर Turbo Pascal सबकी मुख्य language थी
यह powerful थी, फिर भी full-time software developer न होने वाले लोगों के लिए भी approachable थी; इसने Modula-2 के कई extensions अपनाए थे और इसका object system भी अच्छा था
version 6 और 7 में यह अपने शिखर पर पहुँची, और pure text-based UI की जबरदस्त speed की वजह से शायद आज भी यह मेरा सबसे पसंदीदा development environment है
Turbo Pascal ने एक अच्छे development environment और power व simplicity के बीच बेहतरीन संतुलन वाली language को साथ जोड़ा
अफसोस, उनके बाद के काम Oberon के बारे में मुझे सिर्फ धुंधली-सी जानकारी थी
मैंने 386 पर Oberon system को native रूप से boot करके थोड़ा आज़माया था, और PC के DOS era में उसकी efficiency और पूरा GUI बेहद impressive था
अफसोस है कि उसे ज़्यादा ध्यान नहीं मिला
अगर 80 के दशक के अंत में, बहुत देर होने से पहले, उसे traction मिल गया होता, तो वह बहुत सफल हो सकता था; लेकिन 90 के दशक की शुरुआत में Windows आ गया
purist नज़रिए से उनका शिखर तब था जब उन्होंने सचमुच full-stack developer की उपाधि अर्जित की
क्योंकि उन्होंने सिर्फ Oberon और operating system ही design नहीं किया, बल्कि उसे चलाने वाला CPU भी design किया
यह बेहद impressive था और इसका educational value भी बहुत बड़ा था
END.
Wirth, Euler, PL360, ALGOL W, Pascal, Modula, Modula-2, Oberon, Oberon-2, Oberon-07 के मुख्य designer थे
वे Lilith workstation के लिए Medos-2 और Ceres workstation के लिए Oberon operating system, और Lola digital hardware design और simulation system के design व implementation में भी केंद्रीय रूप से शामिल थे
1984 में उन्हें इन languages के development के लिए ACM Turing Award मिला
यह Pascal/Oberon से प्रभावित, सीखने में आसान hardware description language है, जो C से प्रेरित Verilog या Ada से प्रेरित VHDL के विपरीत है
Wirth का पूरा software stack भी मुझे पसंद है
Lola में implemented RISC-5 को RISC-V से confuse नहीं करना चाहिए, और उसके ऊपर Oberon language और Oberon environment हैं
अगर मेरी याददाश्त सही है, तो Lola Verilog generate कर सकता था, और idea शायद यह था कि students FPGA board से शुरू करके अपना CPU, compiler और operating system बना सकें
मुझे उनकी witty बातें भी पसंद हैं
लगता है उन्होंने कुछ ऐसा कहा था: “मैं एक professor हूँ जो programmer है, और एक programmer हूँ जो professor है”
हमें ऐसे और programmer/professors चाहिए, और वे systems वाले लोगों के लिए साफ़ तौर पर प्रेरणा हैं
MODULA-2 कुछ समय बाद गायब हो गई, लेकिन Pascal अब भी introductory programming courses में इस्तेमाल होती है
मुझे बहुत खुशी है कि programming से मेरा पहला परिचय इन्हीं languages से हुआ, और Wirth मेरे दिल में बहुत खास स्थान रखते हैं
उनके designs सचमुच अपने समय से आगे थे
Modula भी हमेशा सीखना चाहता था, लेकिन इसके बजाय Delphi सीखी
मैंने अपनी पहली company Delphi पर शुरू की थी, और Delphi, Turbo Pascal पर आधारित थी
Wirth एक बड़ी प्रेरणा थे और उनका निधन कोई छोटी क्षति नहीं है
उम्मीद है कि उनका काम आने वाली कई पीढ़ियों के नए programmers को प्रेरित करता रहेगा
उनका एक quote यह है: “यूरोपीय लोग आम तौर पर मेरा नाम सही ढंग से ‘Ni-klows Wirt’ उच्चारित करते हैं, लेकिन अमेरिकी बिना अपवाद उसे ‘Nick-les Worth’ में बिगाड़ देते हैं। यानी यूरोपीय मुझे मेरे नाम से बुलाते हैं, और अमेरिकी मुझे value से बुलाते हैं”
मैंने real-time system monitoring के लिए language में modularity लाने के विषय पर bachelor’s thesis लिखी थी, और उनके काम—खासकर MODULA-2—से मुझे बहुत प्रेरणा मिली
https://news.ycombinator.com/item?id=38858993
computing history के लिए यह दुखद दिन है, और हमने एक महान language designer खो दिया, जिन्होंने बहुतों को systems programming के लिए बेहतर approach दिखाया
मैं उस जीवन के नाम जाम उठाना चाहूँगा, और उम्मीद करता हूँ कि वे कहीं coding Valhalla में हों
मृत्यु जीवन का हिस्सा है
जब जीवन Alzheimer’s, dementia, या बस धीमे और कमजोर पड़ने के रूप में बिखरता है, या बहुत जल्दी खत्म हो जाता है, या व्यर्थ चला जाता है—वह कहीं ज़्यादा दुखद है
वे जल्द ही 90 वर्ष के होने वाले थे, और उन्होंने लंबी, प्रभावशाली और भरी-पूरी ज़िंदगी जी
ऐसी ज़िंदगी मनाए जाने लायक है