ऐरे भाषाएँ बनाम स्प्रेडशीट का श्राप
Array-oriented languages जैसे APL और Kap को जटिल data manipulation के लिए spreadsheets के अधिक principled विकल्प के रूप में प्रस्तावित किया जा रहा है, लेकिन उनकी घनी symbolic notation और right-to-left evaluation गंभीर usability और learnability चिंताएँ पैदा करती हैं। टिप्पणीकार Excel के messy लेकिन सुलभ “grid plus formulas” मॉडल—जो अब lambdas, Python, और array formulas से और मजबूत हो गया है—की तुलना array languages की compact, गणित-जैसी expressions से करते हैं, जो non-experts के लिए शक्तिशाली लेकिन अस्पष्ट हो सकती हैं। कई लोग निष्कर्ष निकालते हैं कि spreadsheets में correctness और maintainability की गंभीर समस्याएँ हैं, लेकिन किसी भी विकल्प को ergonomics, familiarity, और real-world workflows के मामले में सामान्य उपयोगकर्ताओं की वर्तमान स्थिति से शुरू करना होगा.
एक प्रोग्रामिंग वातावरण के रूप में Excel
- कई टिप्पणियाँ इस बात पर जोर देती हैं कि Excel पहले से ही एक “उचित” प्रोग्रामिंग भाषा है: इसमें अब LAMBDA, पुन: प्रयोज्य lambdas (हाल के 365 संस्करणों में), custom functions, VBA, और यहाँ तक कि embedded Python भी है।
- Array formulas और “spilled” dynamic arrays को copy‑paste किए बिना ranges पर काम करने के लिए बड़े सुधार के रूप में रेखांकित किया गया है। PowerQuery को एक और शक्तिशाली built-in टूल बताया गया है।
- कुछ लोगों का तर्क है कि वास्तविक दुनिया के उपयोगकर्ताओं के लिए formulas केवल उन डेटा तक पहुँचने का साधन हैं जिनकी उन्हें परवाह है; code नहीं, बल्कि data प्राथमिक है।
स्प्रेडशीट compilation और analysis
- लोग spreadsheets को conventional languages (Python, C#, Java) में बदलने में रुचि रखते हैं ताकि cell dependencies सामने आएँ और structure जोड़ा जा सके।
- Python libraries मौजूद हैं जो Excel formulas को एक DAG के रूप में interpret करती हैं और आपको “cells” को programmatically manipulate करने देती हैं। इसे लागू करना formal formula spec की कमी और कई edge cases के कारण जटिल बताया गया है।
- Research और tools (जैसे linting, semantic smell detection) पहले से मौजूद हैं जो inconsistent formulas और संभावित errors का पता लगाते हैं।
स्प्रेडशीट UX और विश्वसनीयता
- formula cells और input cells के बीच स्पष्ट visual distinction की इच्छा बार-बार उठती है; मौजूदा workaround में “Show Formulas,” Trace Dependents, ISFORMULA के साथ conditional formatting, और manual color conventions शामिल हैं।
- कुछ लोगों को लगता है कि default highlighting data पढ़ने में बाधा डालेगा; दूसरों का तर्क है कि इससे cognitive load और bugs कम होंगे।
- Spreadsheets को अत्यंत शक्तिशाली लेकिन fragile बताया गया है: इन्हें accidental रूप से mutate करना आसान है, बड़े पैमाने पर audit करना कठिन है, और hidden errors के बावजूद ये महत्वपूर्ण contexts में व्यापक रूप से उपयोग होती हैं।
ऐरे भाषाएँ बनाम स्प्रेडशीट्स
- लेख का यह दावा कि array languages स्प्रेडशीट उपयोगकर्ताओं की सोच के साथ बेहतर मेल खाती हैं, विवादित है; कई लोग कहते हैं कि सामान्य उपयोगकर्ता rows/columns में सोचते हैं, abstract matrices में नहीं।
- APL-शैली की array languages के समर्थक density, composability, loops के उन्मूलन, और idioms सीख लेने के बाद “tool-for-thought” लाभों पर जोर देते हैं।
- आलोचक discoverability, steep learning curve, अपरिचित glyphs, और mainstream Excel उपयोगकर्ताओं के लिए खराब उपयुक्तता पर ध्यान केंद्रित करते हैं; वे इनकी तुलना अधिक verbose लेकिन परिचित भाषाओं (Scheme, Lisp, Python) से करते हैं।
प्रतीकात्मक संकेत, पठनीयता, और ergonomics
- APL-जैसे Unicode glyphs पर लंबी बहस होती है: समर्थक इन्हें mathematical notation से तुलना करते हैं और तर्क देते हैं कि ये pattern recognition को बेहतर बनाते हैं; skeptics इन्हें code-golfy, टाइप करने में कठिन, खोजने योग्य नहीं, और अप्रवेशनीय मानते हैं।
- सुझावों में dual representations (symbols ↔ spelled-out names), या adoption को आसान बनाने के लिए ASCII/English words का उपयोग करने वाली array languages (जैसे Uiua) शामिल हैं।
Kap विशेष रूप से
- Kap को एक APL-प्रेरित array language के रूप में प्रस्तुत किया गया है, जिसमें spreadsheet-जैसा UI है, और जो JVM/JS/native को लक्षित करता है।
- लेखक (thread में) कहते हैं कि लक्ष्य औसत उपयोगकर्ताओं के लिए Excel को बदलना नहीं है, बल्कि “spreadsheet-class” उपयोगकर्ताओं को अधिक principled वातावरण देना और Excel के साथ tight integration (copy/paste, live links) करना है।
- कुछ टिप्पणीकार दिखाए गए उदाहरण (≤2 vowels वाला सबसे लंबा word) को बहुत कृत्रिम मानते हैं और अधिक वास्तविक business-oriented demonstrations माँगते हैं।