केन थॉम्पसन: हर चीज़ के शांत वास्तुकार
1969 में, जब बेल लैब्स (Bell Labs) ने मल्टीक्स (Multics) परियोजना से हाथ खींच लिए, तो केन थॉम्पसन (Ken Thompson) के पास एक कोने में पड़ा पुराना PDP-7 मिनीकंप्यूटर और कोई आधिकारिक जनादेश नहीं था। फिर भी उन्होंने इसका उपयोग एक ऑपरेटिंग सिस्टम बनाने के लिए किया। अब यूनिक्स (Unix), किसी न किसी रूप में, ग्रह पर लगभग हर सर्वर, फोन और एम्बेडेड डिवाइस पर चलता है। थॉम्पसन के सबसे करीबी सहयोगी, डेनिस रिची (Dennis Ritchie), जो स्वयं एक बड़े नाम थे, ने उस पहले संस्करण के बारे में कहा था कि "अधिकांश विचार, और इस मामले के लिए अधिकांश काम, उनके ही थे।"
बाइनरी में अंकगणित
केनेथ लेन थॉम्पसन (Kenneth Lane Thompson) का जन्म 4 फरवरी 1943 को न्यू ऑरलियन्स, लुइसियाना में हुआ था। अपने बचपन के बारे में उनका अपना विवरण चरित्रगत रूप से सादा है: "मैं हमेशा तर्क (logic) से मोहित था और ग्रेड स्कूल में भी मैं बाइनरी में अंकगणितीय समस्याओं पर काम करता था, ऐसी चीज़ें। बस इसलिए क्योंकि मैं मोहित था।" वह अंतिम खंड पूरे व्यक्ति को दर्शाता है — एक ऐसी बौद्धिक भूख जिससे कोई भी साधन-साध्य उद्देश्य नहीं जुड़ा था।
उन्होंने 1965 में स्नातक की डिग्री और 1966 में मास्टर डिग्री प्राप्त की, दोनों इलेक्ट्रिकल इंजीनियरिंग और कंप्यूटर विज्ञान में, यूनिवर्सिटी ऑफ कैलिफोर्निया, बर्कले (University of California, Berkeley) से, जहाँ उनके थीसिस सलाहकार कोडिंग सिद्धांतकार एल्विन बर्लेकैम्प (Elwyn Berlekamp) थे। बेल लैबोरेटरीज ने उन्हें 1966 में मरे हिल, न्यू जर्सी में कंप्यूटिंग साइंसेज रिसर्च सेंटर में काम पर रखा।
यूनिक्स (Unix)
1967 और 1969 के बीच थॉम्पसन ने मल्टीक्स पर काम किया, जो बेल लैब्स, एमआईटी (MIT) और जनरल इलेक्ट्रिक (General Electric) के बीच एक महत्वाकांक्षी संयुक्त टाइमशेयरिंग परियोजना थी। मल्टीक्स विशाल, धीमा और देर से था; बेल लैब्स ने अपना नाम वापस ले लिया। थॉम्पसन ने इससे यह निष्कर्ष निकाला कि विचार सही थे लेकिन निष्पादन गलत था।
इसकी उत्पत्ति की कहानी अच्छी तरह से प्रमाणित है और थोड़ी बेतुकी है। वह 'स्पेस ट्रैवल' (Space Travel) गेम खेलना जारी रखना चाहते थे, जिसे उन्होंने खुद लिखा था, और वह काम करने के लिए एक अच्छा वातावरण चाहते थे। एक फेंके हुए PDP-7 पर, न्यूनतम संसाधनों और कोई संस्थागत समर्थन नहीं होने के बावजूद, उन्होंने एक ऑपरेटिंग सिस्टम का मूल तैयार किया: एक पदानुक्रमित फ़ाइल सिस्टम, प्रक्रियाएं, सामान्य फ़ाइलों के रूप में माने जाने वाले डिवाइस फ़ाइलें, कर्नेल से अलग एक कमांड-लाइन इंटरप्रेटर, और प्रोग्राम को एक साथ जोड़ने के लिए पाइप। इनमें से प्रत्येक अब इतना मानक है कि इन्हें विकल्पों के रूप में देखने के लिए प्रयास की आवश्यकता होती है।
डिजाइन दर्शन संपीड़न (compression) था। हर ज़रूरत का अनुमान लगाने वाले सिस्टम के बजाय, यूनिक्स ने थोड़े से संयोजनीय प्रिमिटिव (primitives) प्रदान किए और उपयोगकर्ताओं को जो वे चाहते थे उसे इकट्ठा करने दिया। 1973 तक बीस से अधिक इंस्टॉलेशन मौजूद थे। गैर-कर्नेल भागों को अधिक आसानी से लिखने के लिए, थॉम्पसन ने B प्रोग्रामिंग भाषा बनाई, जो BCPL से ली गई थी, जिसे रिची ने बाद में C भाषा में विकसित किया — वह भाषा जिसमें दुनिया का अधिकांश इंफ्रास्ट्रक्चर सॉफ्टवेयर अभी भी लिखा जाता है।
बीस प्रश्न, घड़ी पर आठ मिनट, और अब तक टेस्ट देने वालों के सामने मापा गया पर्सेंटाइल। साइन-अप नहीं।
IQ टेस्ट दें →छोटे उपकरण, गहरी जड़ें
थॉम्पसन का अन्य काम भी एक ही हस्ताक्षर रखता है: एक संक्षिप्त विचार जो भार वहन करने वाला साबित होता है। उन्होंने QED और ed संपादकों में नियमित अभिव्यक्ति (regular expressions) लागू की और 'थॉम्पसन कंस्ट्रक्शन' (Thompson's construction) तैयार की, जो एक नियमित अभिव्यक्ति को परिमित ऑटोमेटा (finite automaton) में बदलने की एल्गोरिदम है। आज उपयोग में आने वाला लगभग हर नियमित अभिव्यक्ति इंजन उस अंकन का वंशज है।
उन्होंने 1971 में एक शतरंज प्रोग्राम बनाया, फिर जोसेफ कोंडन (Joseph Condon) के साथ मिलकर 'बेले' (Belle) बनाया, जो एक विशेष उद्देश्य वाली शतरंज मशीन थी जिसने अपने युग में कंप्यूटर शतरंज पर राज किया, और बाद में चार, पांच और छह-पीस एंडिंग के लिए पूर्ण एंडिंग टेबलबेस तैयार किए — शतरंज की स्थिति के पूरे वर्गों के लिए संपूर्ण समाधान, एक ऐसा काम जिसने एंडगेम के सिद्धांत को स्थायी रूप से बदल दिया।
1992 में, रॉब पाइक (Rob Pike) के साथ, उन्होंने UTF-8 को डिज़ाइन किया, जो वर्ण एन्कोडिंग है जो एक एकल बाइट स्ट्रीम को पृथ्वी पर किसी भी स्क्रिप्ट को ले जाने की अनुमति देता है जबकि ASCII के साथ संगत रहता है। यह अब वेब के 90 प्रतिशत से अधिक हिस्से के लिए जिम्मेदार है। वह 'प्लान 9' (Plan 9) के लिए भी केंद्रीय थे, जो एक वितरित ऑपरेटिंग सिस्टम है जिसे बेल लैब्स ने 1980 के दशक के मध्य में यूनिक्स के विचारों को यूनिक्स से कहीं आगे ले जाने के लिए बनाया था।
उनका 1983 का ट्यूरिंग व्याख्यान, "ट्रस्टिंग ट्रस्ट पर प्रतिबिंब" (Reflections on Trusting Trust), एक ऐसे कंपाइलर का वर्णन करता है जो उन कार्यक्रमों में एक बैकडोर डालता है जिन्हें वह संकलित करता है, और भविष्य के अपने संस्करणों में भी, ताकि दुर्भावनापूर्ण कोड कहीं भी दिखाई न दे जिसे कोई पढ़ सके। थॉम्पसन हैक (Thompson hack) कंप्यूटर सुरक्षा का एक आधारभूत दस्तावेज़ है; स्रोत को 2023 में एनोटेट और प्रकाशित किया गया था।
गूगल, और गो (Go)
थॉम्पसन 2000 के अंत में बेल लैब्स से सेवानिवृत्त हुए और 2006 में गूगल (Google) में शामिल हो गए, जहाँ रॉब पाइक और रॉबर्ट ग्रीसेमर (Robert Griesemer) के साथ उन्होंने गो प्रोग्रामिंग भाषा को डिज़ाइन किया। प्रेरणा का उनका विवरण स्पष्ट है: "हम तीनों ने साथ मिलकर फैसला किया कि हम C++ से नफरत करते हैं," एक ऐसी भाषा जिसे उन्होंने "एक-दूसरे के लिए विशिष्ट विचारों का कचरा ढेर" कहा है। गो को इस नियम पर बनाया गया था कि तीनों डिजाइनरों को हर विशेषता के लिए सहमत होना होगा, जो एक भाषा को छोटा रखने के लिए एक अनुशासन है।
सम्मान लगातार मिलते रहे: 1980 में नेशनल एकेडमी ऑफ इंजीनियरिंग में चुनाव, 1982 में IEEE इमैनुएल आर. पियोर अवार्ड, 1983 में रिची के साथ ACM ट्यूरिंग अवार्ड, 1985 में नेशनल एकेडमी ऑफ साइंसेज, 1990 में IEEE रिचर्ड डब्ल्यू. हैमिंग मेडल, 1994 में कंप्यूटर पायनियर अवार्ड, 1997 में कंप्यूटर हिस्ट्री म्यूज़ियम फेलोशिप, 1998 में नेशनल मेडल ऑफ टेक्नोलॉजी, 1999 में उद्घाटन सुत्सुमु कनाई अवार्ड और 2011 में जापान प्राइज फॉर इंफॉर्मेशन एंड कम्युनिकेशंस।
केन को जीनियस क्यों कहा जाता है
ACM का ट्यूरिंग उद्धरण एक असामान्य रूप से सटीक दावा करता है, और इसे उद्धृत करने योग्य है क्योंकि यह गुणवत्ता को सटीक रूप से स्थित करता है: "UNIX सिस्टम की सफलता कुछ प्रमुख विचारों के स्वादिष्ठ चयन और उनके सुरुचिपूर्ण कार्यान्वयन से उपजी है... यूनिक्स सिस्टम की प्रतिभा इसका ढांचा है, जो प्रोग्रामरों को दूसरों के काम पर खड़े होने में सक्षम बनाता है।"
स्वादिष्ट (Taste) वह क्रियात्मक शब्द है। थॉम्पसन की प्रतिभा घटाव (subtractive) है — अवधारणाओं का सबसे छोटा सेट पहचानने की क्षमता जो उपयोगी व्यवहार का सबसे बड़ा स्थान उत्पन्न करेगी, और फिर बाकी सब कुछ अस्वीकार करना। पाइप इसके मानक उदाहरण हैं: एक प्रोग्राम के आउटपुट को दूसरे के इनपुट से जोड़ने के लिए एक तुच्छ तंत्र, जो छोटे उपकरणों के संग्रह को एक संयोजी प्रणाली में बदल देता है। नियमित अभिव्यक्ति, UTF-8 और गो सभी एक ही न्यूनतम पर्याप्त डिजाइन के पैटर्न को दिखाते हैं। उन्हें नियमित रूप से अब तक के सबसे महान प्रोग्रामरों में गिना जाता है, और यह निर्णय पुरस्कार समितियों के बजाय उन लोगों से आता है जो जीवित रहने के लिए कोड लिखते हैं।
काउंटर-केस इस सूची में अधिकांश लोगों की तुलना में पतला है लेकिन मौजूद है। यूनिक्स सहयोगी था — रिची, ब्रायन कर्निघन (Brian Kernighan), डगलस मैकल्रॉय (Douglas McIlroy), जिन्होंने पाइप का प्रस्ताव दिया था, और अन्य ने इसे गहराई से आकार दिया, और ट्यूरिंग अवार्ड साझा किया गया था। कई यूनिक्स विचार मल्टीक्स से अनुकूलित किए गए थे न कि नए सिरे से आविष्कार किए गए थे। थॉम्पसन ने कंप्यूटर विज्ञान में कोई सैद्धांतिक परिणाम नहीं दिया है, और उनका प्रभाव पूरी तरह से कलाकृतियों और डिजाइन निर्णय में है। क्या वह प्रतिभा का गठन करता है या एक असाधारण रूप से विकसित शिल्प का, यह एक उचित प्रश्न है। सबसे ईमानदार जवाब यह है कि सॉफ्टवेयर में दोनों को अलग करना मुश्किल है, और थॉम्पसन का शिल्प अधिकांश लोगों के सिद्धांतों की तुलना में अधिक परिणामी साबित हुआ है।
विरासत
लिनक्स (Linux), macOS, Android, iOS और लगभग हर इंटरनेट सर्वर चलाने वाला सॉफ्टवेयर उन निर्णयों से निकला है जो थॉम्पसन ने 1969 में एक त्यागे गए मशीन पर अकेले लिए थे। उनका वर्ण एन्कोडिंग ऑनलाइन लगभग सभी लिखित पाठ को वहन करता है। उनकी नियमित अभिव्यक्ति एल्गोरिदम हर टेक्स्ट एडिटर के अंदर स्थित है। उन्होंने 2024 में कंप्यूटर हिस्ट्री म्यूज़ियम के लिए एक लंबा मौखिक इतिहास दर्ज किया, और बाद के वर्षों में, Apple के उत्पादों को छोड़ने के बाद, रास्पबेरी पाई ओएस (Raspberry Pi OS) का उपयोग कर रहे हैं।
.jpg)