मैंने इलास्टिक टैबस्टॉप के जेईडिट के कार्यान्वयन की कोशिश की, जो प्रोग्रामिंग भाषाओं के साथ आश्चर्यजनक रूप से अच्छी तरह से काम करता है जिसके साथ मैं परिचित हूं (मुख्य रूप से HTML / XML और C- जैसी भाषाएँ)। पाइथन कोड के साथ, हालांकि, यह बताया गया है कि इसका प्रतिपादन कैसे किया जाता है (टैब के स्थान पर उपयोग की जाने वाली रिक्तियाँ यह बताती हैं कि चीजें कैसे संरेखित होती हैं):
def foo(x):
'''<1 tab before the docstring.
No tab <tab
No tab <tab
<tab <another tab
<tab <another tab
<tab'''
if 1 or 2: #<Tab before this comment
yield True
पायथन जैसी भाषा के लिए, जो रिक्ति पर निर्भर करती है, यह एक डील-ब्रेकर है जब तक आप लोचदार टैबस्टॉप द्वारा प्रदान की गई कार्यक्षमता को अक्षम नहीं करते। यदि आप विकल्प का नाम जानते हैं और इसे कैसे निष्क्रिय करना चाहते हैं, तो विम और एमएसीएस जैसे संपादक अधिकांश प्रकार की कार्यक्षमता को सरल बनाते हैं, लेकिन ऊपर की तरह कोड के लिए इस कार्यक्षमता को अक्षम करने की आवश्यकता होगी।
यह कहा जा रहा है, यह x86 एएसएम, सी, सी ++, गो, एक्सएमएल, एचटीएमएल और अन्य लोगों के लिए बहुत अच्छा है जो व्हाट्सएप पर इतना भरोसा नहीं करते हैं:
import (
"fmt" // We love formatting functions.
"io" // Because I/O is useful.
"os" // Can't open a file without os.Open!
)
type Foo struct {
Field1 int // This is properly aligned
ReallyLongField2 string // with this.
privateField io.Reader // Elastic tabstops are great for Go.
}
मैं कहूंगा कि लिस्प बोलियों जैसे कि स्कीम के अपने स्वयं के सम्मेलन हैं जो लोचदार टैबस्टॉप को "बदसूरत" कोड प्रदान करेंगे। अगर मैं 2 कॉलम के कन्वेंशन से मिलान करने और असामान्य स्थानों (किसी फ़ंक्शन और उसके तर्क के बीच) में टैबस्टॉप सम्मिलित करने के लिए अपनी टैबस्टॉप सेटिंग्स बदलता हूं:
(let loop ((n 1))
(if (> n 10)
'()
(cons n
(loop (+ n 1)))))
बनाम अधिक पठनीय:
(let loop ((n 1))
(if (> n 10)
'()
(cons n
(loop (+ n 1)))))
दी, यह पायथन उदाहरण के रूप में बुरा नहीं है, लेकिन यह निश्चित रूप से कोड की पठनीयता को कम करता है। जब मैं C # या C ++ जैसी किसी चीज़ में कोडिंग करते समय कार्यक्षमता का बहुत आनंद लेता हूं, तो मैं कार्यक्षमता को घृणा करता हूं जब पायथन या स्कीम जैसी भाषा में कोडिंग करना जहां व्हाट्सएप कार्यात्मक और / या नेत्रहीन सहायक है। इलास्टिक टैबस्टॉप विशेष रूप से एक अलग इंडेंटेशन यूटिलिटी की आवश्यकता के बिना सहायक होने के लिए बनाए गए थे, लेकिन स्पष्ट रूप से यह सभी प्रोग्रामिंग भाषाओं के लिए नहीं है।