Just for Fun. No, Really. - बस मज़े के लिए बनाया है। सच में। (2022)
(justforfunnoreally.dev)- "हमें software development पसंद है" कोडिंग समस्याओं को सुलझाने की एक टेढ़ी-मेढ़ी यात्रा है, और मंज़िल उतनी महत्वपूर्ण नहीं होती जितना बहुत से लोग सोचते हैं
- हमसे अक्सर ऐसे सवाल पूछे जाते हैं:
- "आप यह काम क्यों कर रहे हैं?"
- "इस project का उद्देश्य क्या है?"
- "यह project X से बेहतर किस तरह है?"
Silicon Valley की तीव्रता
- अगर आप Hacker News या startup-केंद्रित दूसरी news sites पर बहुत समय बिताते हैं, तो आपको लग सकता है कि हर कोई अगले multi-million dollar startup या exit strategy के पीछे भाग रहा है
- यह कल्पना करना मुश्किल हो सकता है कि लोग सिर्फ़ मज़े के लिए open source code पर काम करते हैं
- ऐसे hackers भी हैं जो software बनाने की कला से प्यार करते हैं। वे इसे चुनौती के लिए, मज़े के लिए करते हैं। वे करोड़पति बनने की कोशिश नहीं कर रहे होते
उपभोक्ता संस्कृति
- या अगर आप सिर्फ़ दूसरों का software इस्तेमाल करते हैं और ख़ुद लगभग कुछ नहीं बनाते, तो आप "यह project मेरे लिए क्या करेगा?" जैसी सोच में फँस सकते हैं। (और अगर project उनका नहीं है, तो वे सोचते हैं कि यह मौजूद ही क्यों है)
- ऐसे hackers भी हैं जिन्हें लोगों द्वारा उनके software का इस्तेमाल किया जाना ज़रूरी नहीं लगता। बेशक, अगर दूसरे लोग उनके काम का आनंद लें, उसकी सराहना करें या उसके लिए आभारी हों तो अच्छा है, लेकिन यह सख़्ती से ज़रूरी नहीं है। सिर्फ़ बनाना ही मज़ेदार है।
हम यह बस मज़े के लिए करते हैं। सच में।
- आख़िर में, जिन लोगों ने सिर्फ़ अपनी रोज़मर्रा की नौकरी के लिए ज़रूरी programming skills सीखी हैं, वे शायद उन programmers को न समझ पाएँ जो हमेशा कुछ नया आज़माते रहते हैं
- ऐसे hackers हैं जो code में जीते और साँस लेते हैं
- यह विचार कि code की हर line को अपनी आर्थिक क़ीमत साबित करनी चाहिए, और keyboard के सामने बिताए हर कठिन घंटे का हिसाब देना चाहिए, सचमुच दुखद है
- प्रक्रिया अपने-आप में मूल्यवान है। उसमें खामियाँ हों तब भी उसका अपना मूल्य है। सिर्फ़ अंतिम product ही मायने नहीं रखता
- programming के बारे में मेरी पसंदीदा पंक्ति के साथ समाप्त करता हूँ:
programmer कवि की तरह लगभग शुद्ध विचार की सामग्री के साथ काम करता है। वह अपनी कल्पना का उपयोग करके हवा में महल बनाता है। बहुत कम रचनात्मक माध्यम इतने लचीले होते हैं, इतने आसानी से तराशे और दोबारा बनाए जा सकते हैं, और इतने सहज ढंग से भव्य वैचारिक संरचनाओं को साकार कर सकते हैं। लेकिन program structure, कवि के शब्दों के विपरीत, वास्तविक होते हैं क्योंकि वे structure स्वयं से अलग दिखाई देने वाले परिणाम उत्पन्न करते हैं, और चलते व काम करते हैं।
— Fred Brooks, The Mythical Man-Month
इसे आज़माइए!
- अगर आपको लगता है कि आप रास्ता भटक गए हैं — कि coding पहले मज़ेदार थी, लेकिन अब सिर्फ़ clock-in करके salary पाने के लिए किया जाने वाला एक कठिन काम बन गई है — तो हम आपको फिर से आमंत्रित करते हैं!
- या अगर आपको यह मानने की आदत डाल दी गई है कि अजीबोगरीब ideas पर programming करना सिर्फ़ experts और academics का काम है, तो यह page आपके लिए है। आपको छेड़छाड़ करने और उस प्रक्रिया में आनंद लेने का अधिकार है!
- कंप्यूटर के भीतर कुछ ऐसा सोचिए जिसे आप बनाना, सीखना और अनुभव करना चाहते हैं। फिर पहले उसे खोजने या research करने की बजाय सीधे उसमें कूद पड़िए। शायद आपको थोड़ा मज़ा आए। सच में।
क्लब
बिना किसी क्रम के, यहाँ कुछ projects हैं जो गर्व से "बस मज़े के लिए" का टैग लगाए हुए हैं।
- Natalie - मज़े के लिए बनाया गया Ruby compiler
- ZigSelf - मज़े के लिए Zig में बनाया गया Self implementation
- php-parser-rs - मज़े के लिए Rust में बनाया गया PHP parser
- ex6502 - मज़े के लिए Elixir में बनाया गया 6502 processor emulator
- Piko-piko OS - मज़े के लिए बनाया गया x86 16-bit toy OS
- Folders2kt - मज़े के लिए बनाई गई एक esoteric programming language
- GCC Rust - मज़े के लिए बनाया गया Rust compiler
- Soul - मज़े के लिए बनाया गया SQLite REST और real-time server
- hssp - मज़े के लिए बनाया गया HTTP status code CLI
- PyCraft - मज़े के लिए Python में बनाया गया Minecraft launcher
- hashsearch - मज़े के लिए बनाया गया reverse image search engine
- quackspeak - मज़े के लिए बतखों का उपयोग करने वाला text-to-speech engine
- Quark - मज़े के लिए बनाया गया high-performance Lisp dialect
- Whitecat - मज़े के लिए बनाया गया PHP development के लिए CLI
- eClient - मज़े के लिए Python में बनाया गया Minecraft launcher
- CascadeOS - मज़े के लिए बनाया गया general-purpose OS
- Kiesel - मज़े के लिए Zig में बनाया गया JavaScript engine
- github-pewpew - मज़े के लिए repositories delete करने वाला CLI tool
- dt - मज़े के लिए बनाई गई concatenative AWK-जैसी language
- grab - मज़े के लिए बनाया गया lightweight grep clone
- math-with-regexps - मज़े के लिए regular expressions से गणित करना
- noro - मज़े के लिए बनाया गया window manager वाला text editor
- Vox - मज़े के लिए Elixir में बनाया गया static site builder
- jimson - मज़े के लिए बनाया गया JSON parser
- txt2tufte - मज़े के लिए बनाया गया Tufte-style website builder
- Azure Storage web explorer - मज़े के लिए बनाया गया Azure Storage web explorer
- renam - मज़े के लिए बनाई गई बहुत तेज़ file renaming utility
- Funciton - मज़े के लिए बनाई गई डिब्बों से बनी programming language
GN⁺ की राय
- यह लेख इस बात पर चर्चा करता है कि programmers के लिए सिर्फ़ मज़े के लिए कुछ बनाने का मूल्य और महत्व क्या है। आज की consumer और startup culture में हर चीज़ के practical और profitable होने का दबाव है, लेकिन इससे programming की creativity और innovation बाधित हो सकती है।
- open source community इस "बस मज़े के लिए" भावना का एक अच्छा उदाहरण है। कई महत्वपूर्ण open source projects शुरुआत में किसी के hobby project के रूप में शुरू हुए थे, और उसी प्रक्रिया में नए ideas और approaches की खोज हुई।
- लेकिन अगर इस रवैये को बहुत ज़्यादा बढ़ा दिया जाए, तो कम practical projects की भरमार भी हो सकती है। आख़िरकार मज़े और practical utility के बीच संतुलन महत्वपूर्ण लगता है। फिर भी, यह लेख इसलिए सार्थक लगता है क्योंकि यह हमें उस शुद्ध आनंद और जिज्ञासा की याद दिलाता है जिसे हम अक्सर भूल जाते हैं।
- रोज़मर्रा के काम से थके हुए developers के लिए ऐसे hobby projects अच्छी प्रेरणा और motivation बन सकते हैं। जो लोग नई language या technology सीखना चाहते हैं लेकिन समय की कमी महसूस करते हैं, उनके लिए भी यह एक सुझाने लायक लेख है।
5 टिप्पणियां
मुझे लगता है कि Python भाषा खुद भी लगभग एक हफ्ते की छुट्टी के दौरान मज़े-मज़े में बनाई गई language थी.
मुझे मज़े के लिए डेवलप करना पसंद है, लेकिन आजकल काम से लौटते ही बिल्कुल निढाल हो जाता हूँ, इसलिए उसकी कल्पना भी नहीं कर पाता। सच में, यहाँ बहुत कमाल के लोग हैं।
अक्सर इस्तेमाल होने वाले open source प्रोजेक्ट के issue tracker में troubleshooting में मदद करने या documentation में योगदान देने के तरीके भी हैं। ज़रूरी नहीं कि हर बार नया प्रोजेक्ट शुरू किया जाए या coding ही की जाए।
94 तक मैं सिर्फ़ एक साधारण computer user था, फिर मैंने एक language सीखी और 95 में
전산से जुड़ी नौकरी कर ली।अब सोचता हूँ तो लगता है कि मैं बहुत ही lucky इंसान था।
Hacker News राय
कोड के ज़रिए कुछ बनाना पसंद है, और कभी-कभी आर्थिक लाभ के बारे में भी सोचते हैं, लेकिन ज़्यादातर प्रोजेक्ट मज़े के लिए करते हैं
इंटरव्यू में अपने personal project के बारे में बताया, लेकिन इंटरव्यूअर बार-बार पूछता रहा कि ऐसा प्रोजेक्ट क्यों किया, जिससे असहज महसूस हुआ
software बनाने की प्रेरणा समझाते समय इसकी तुलना अकेले समुद्र तट पर रेत का किला बनाकर संतोष महसूस करने से की गई
large language model (LLM) की वजह से मज़ेदार प्रोजेक्ट शुरू करना और आसान हो गया है
personal project में समय लगाने के लिए जीवन-यापन का खर्च कम करते हैं और contracts के बीच के समय का उपयोग करते हैं
यह अफसोसजनक है कि मज़े के लिए किए गए प्रोजेक्ट्स की सूची में सिर्फ पूरे हुए प्रोजेक्ट ही शामिल होते हैं
कल सहकर्मियों से बातचीत में यह निष्कर्ष निकला कि बहुत सारा काम करके skill को आगे बढ़ाना महत्वपूर्ण है
मज़े के लिए बनाए गए product हों या आर्थिक लाभ के लिए, दोनों की quality खराब हो सकती है
यह अकेले शानदार खाना बनाने जैसी एक आंतरिक अनुभूति है, लेकिन अपने आप में मूल्यवान है
Hacker News जैसी साइटों को देखकर लग सकता है कि बहुत से लोग अगला बड़ा startup बनाने की तैयारी कर रहे हैं