इंडेंटेशन आपको बताता है कि आप कहां हैं, वाक्यविन्यास की दोनों शैलियों में। यदि आप एक पंक्ति में या तो VB प्रोग्राम या C # प्रोग्राम लिखते हैं, तो आप जल्द ही यह नहीं बता पाएंगे कि आप नेस्टेड सिंटैक्स में कहां हैं। मशीन ब्लॉक समाप्त होने वाले वाक्यांशों या घुंघराले ब्रेसिज़ को पार्स करती है, लेकिन मनुष्यों को इंडेंटेशन की आवश्यकता होती है।
ब्लॉकिंग वाक्यांश वाक्यांश छिद्रित कार्ड और पेपर टेप के युग से आते हैं, जब प्रोग्रामिंग बहुत कम इंटरैक्टिव और दृश्य थी। या, वास्तव में, बिल्कुल भी इंटरैक्टिव नहीं। कार्यक्रमों में प्रवेश करना मुश्किल था, और इसलिए प्रोग्रामर को सिंटैक्स विश्लेषण और त्रुटि पुनर्प्राप्ति के बारे में बहुत चतुर होने के लिए कंपाइलरों की आवश्यकता थी।
उस बीते युग में, एडिट-कंपाइल-रन साइकिल में कार्ड पंचर के साथ छिद्रित कार्ड तैयार करना शामिल हो सकता है, और फिर एक जॉब सबमिशन विंडो तक अस्तर हो सकता है जहां एक क्लर्क ने छिद्रित कार्ड ले लिया और उन्हें मशीन में जमा किया। बाद में, प्रोग्रामर दूसरी विंडो से आउटपुट (पेपर पर मुद्रित) एकत्र करेगा। यदि प्रोग्राम में त्रुटियां थीं, तो आउटपुट में केवल कंपाइलर डायग्नोस्टिक्स शामिल होंगे। जब टर्नअराउंड समय लंबा होता है, तो end if
इसके बजाय टाइपिंग की अतिरिक्त लागत )
उचित है यदि यह डायग्नोस्टिक्स की गुणवत्ता में सुधार करने में मदद करता है, क्योंकि प्रोग्रामर को समय की बर्बादी को कम करने के लिए एकल पुनरावृत्ति में जितनी संभव हो उतनी त्रुटियों को ठीक करना होगा। नौकरी प्रस्तुत विंडो के माध्यम से पुनरावृत्तियों।
जब एक बंद घुंघराले ब्रेस गायब है, तो यह बताना मुश्किल है कि कौन सा खुला ब्रेस है जो बंद नहीं है। (संकलक को शिक्षित अनुमान लगाने के लिए इंडेंटेशन को पार्स करना पड़ सकता है।) यदि आप किसी फ़ंक्शन के अंदर एक समापन ब्रेस को हटाते हैं, तो ऐसा लगता है कि संपूर्ण फ़ाइल उस फ़ंक्शन का हिस्सा है, जिसके परिणामस्वरूप अनहेल्दी त्रुटि संदेशों की झड़ी लग गई है। जबकि यदि आपके पास एक end function
वाक्यविन्यास है, तो संकलक यह निष्कर्ष निकाल सकता है कि गलत कार्य कहां समाप्त होता है, पुनर्प्राप्त करता है, और बाद के कार्यों को ठीक से पार्स करता है, जिससे आपको अतिरिक्त निदान, यदि कोई हो, जो कि सार्थक हैं।
जब आप कोड-जागरूक टेक्स्ट एडिटर में काम कर रहे होते हैं जो स्वचालित रूप से आपके कोड को इंडेंट करता है और रंगीन करता है, तो उच्च रिज़ॉल्यूशन स्क्रीन पर जहाँ आप साठ या अधिक लाइनें देख सकते हैं, उन प्रकार की अनाड़ी भाषाओं के लिए तर्क अब लागू नहीं होते हैं। आप प्रोग्राम को इतनी तेजी से संपादित और पुनर्निर्माण कर सकते हैं कि आप एक बार में एक त्रुटि से निपट सकें। इसके अलावा, स्क्रीन पर कार्यक्रम के बड़े वर्गों को एक साथ देखने और उचित इंडेंटेशन बनाए रखने से, आप पहली बार में उन प्रकार के नेस्टिंग त्रुटियों की घटना को कम कर सकते हैं। और अच्छा प्रोग्रामिंग टेक्स्ट एडिटर आपके टाइप करते ही कुछ प्रकार के सिंटैक्स त्रुटियों को भी चिह्नित करेगा। क्या अधिक है, तह संपादक हैं जो इसकी संरचना के "रूपरेखा जैसा" दृश्य देते हुए, इसके सिंटैक्स के आधार पर एक कार्यक्रम के ब्लॉक को ध्वस्त कर देंगे।
लिस्प ने शुरुआत से ही कोष्ठक का उपयोग किया और शायद, संयोग से नहीं, लिस्प हैकर्स ने प्रोग्रामिंग सिस्टम के रूप में प्रोग्रामिंग का बीड़ा उठाया, जो छोटे-छोटे विखंडों (अभिव्यक्तियों) में कार्यक्रमों को स्वीकार करता था।
वास्तव में, आपको प्रतीकों को समाप्त करने की आवश्यकता नहीं है, जैसा कि पायथन भाषा दर्शाती है। पहचान सिर्फ संरचना हो सकती है। मनुष्य पहले से ही इंडेंटेशन का उपयोग कोड की संरचना को उन भाषाओं में भी करने के लिए करता है जहां मशीन प्रतीकों या वाक्यांशों को समाप्त करने पर निर्भर करती है।