क्या software abstraction सभ्यता को नष्ट कर रहा है? (2021)
(datagubbe.se)-
Jonathan Blow के तर्क का सार
- पीढ़ियों के बीच जानकारी का हस्तांतरण कमजोर पड़ रहा है।
- सिद्धांत की तुलना में व्यवहार तकनीक को बनाए रखने के लिए अधिक महत्वपूर्ण है।
- software दुनिया को चला रहा है।
- abstraction low-level programming के प्रति अज्ञानता को बढ़ावा देती है।
- यदि low-level ज्ञान भुला दिया गया, तो महत्वपूर्ण software को maintain नहीं किया जा सकेगा और सभ्यता ढह जाएगी।
-
आलोचना और प्रतिवाद
- Blow के तर्क में कई त्रुटियाँ और गलतफ़हमियाँ हैं।
- जानकारी की सत्यता महत्वपूर्ण है, और Blow की जानकारी कई मामलों में गलत है।
- "Five nines" (99.999% uptime) मीट्रिक आज भी उपयोग में है।
- मजबूत software अब भी मौजूद है, और तकनीकी प्रगति जारी है।
- यह दावा कि abstraction क्षमता-हानि की ओर ले जाती है, बढ़ा-चढ़ाकर कहा गया है।
-
तकनीकी प्रगति और abstraction
- कई programmer memory management और pointer को संभालना नहीं चाहते।
- C और assembly code लिखने वाले लोग आज भी बहुत हैं।
- Rust जैसी नई भाषाएँ मजबूती पर ज़ोर देती हैं।
- abstraction नई तकनीकों को आगे बढ़ाने में योगदान देती है।
-
Facebook की उत्पादकता पर बहस
- Facebook का असली product ad delivery platform है।
- कई programmer ad system को बेहतर बनाने में योगदान दे रहे हैं।
-
अतीत और वर्तमान की तुलना
- अतीत का software development environment और आज का समय काफ़ी अलग हैं।
- आधुनिक computer पहले की तुलना में कहीं अधिक robust हैं।
- users की अपेक्षाएँ बढ़ने के साथ software की जटिलता भी बढ़ी है।
-
abstraction और ज्ञान-हानि
- abstraction ज्ञान-हानि को तेज़ कर सकती है।
- लेकिन abstraction कई लोगों को रचनात्मकता दिखाने का अवसर भी देती है।
- महत्वपूर्ण बात यह है कि उन तकनीकी आधारों को बनाए रखा जाए जिनसे महत्वपूर्ण systems को maintain किया जा सके।
-
निष्कर्ष
- Blow का तर्क कुछ हद तक सही है, लेकिन कई हिस्सों में बढ़ा-चढ़ाकर कहा गया है और गलतफ़हमी भी है।
- software complexity और abstraction ऐसे मुद्दे हैं जिनका समाधान संभव है।
- digital दुनिया की बड़ी समस्या privacy और freedom है।
1 टिप्पणियां
Hacker News राय
मैं Montana State में systems की कक्षाएँ पढ़ाता हूँ, और अक्सर छात्र कक्षा शुरू करते समय यह नहीं समझते कि file system क्या होता है
मैं आपकी राय से सहमत हूँ। मैंने Blow का lecture देखा है और मुझे लगता है कि आलोचना महत्वपूर्ण है
जब कोई पुराना web developer abstraction की शिकायत करता है, तो उसका निशाना React developer होता है
server पर JavaScript और React जैसी चीज़ों ने web को software development की अव्यवस्था बना दिया है
Blow अक्सर development के बारे में बहुत अच्छे points उठाता है, लेकिन कई बार मूल बात चूक जाता है
आधुनिक software environment में बहुत सी समस्याएँ हैं, और मुझे लगता है कि अत्यधिक abstraction उनमें से एक है
हर simplification abstraction नहीं होती। हर abstraction simplification नहीं होती
खराब abstraction बहुत हैं। तकनीक के "speed के धर्म" और अहंकार की वजह से चीज़ें अक्सर पहली कोशिश पर ही वहीं रुक जाती हैं
लेखक नई पीढ़ी से है, इसलिए वह Blow की बात पूरी तरह नहीं समझता
मैं इस दावे से असहमत हूँ कि "अगर हम low-level चीज़ें भूल गए तो सभ्यता ढह जाएगी"