Lekukan memberi tahu Anda di mana Anda berada, dalam kedua gaya sintaksis. Jika Anda menulis program VB atau program C # pada satu baris, Anda akan segera tidak dapat mengetahui di mana di sintaks bersarang Anda. Mesin mem-parsing frasa akhir blok atau kurung kurawal, tetapi manusia membutuhkan lekukan.
Frasa pemblokiran akhir berasal dari era kartu berlubang dan pita kertas, ketika pemrograman kurang interaktif dan visual. Atau, sungguh, tidak interaktif sama sekali. Itu sulit untuk memasukkan program, dan programmer membutuhkan kompiler untuk menjadi sangat pintar tentang analisis sintaksis dan pemulihan kesalahan.
Di masa lalu, siklus sunting-kompilasi-lari mungkin melibatkan mempersiapkan kartu berlubang dengan pemukul kartu, dan kemudian berbaris ke jendela pengajuan pekerjaan di mana petugas mengambil kartu-kartu yang dilubangi dan menyerahkannya ke mesin. Kemudian, programmer akan mengumpulkan output (dicetak di atas kertas) dari jendela lain. Jika program memiliki kesalahan, output hanya akan terdiri dari diagnostik kompiler. Ketika waktu penyelesaian yang lama, biaya tambahan mengetik end if
bukan hanya )
dibenarkan jika membantu meningkatkan kualitas diagnostik, karena programmer harus memperbaiki kesalahan sebanyak mungkin dalam satu iterasi tunggal untuk mengurangi jumlah waktu yang terbuang. iterasi melalui jendela pengiriman pekerjaan.
Ketika kurung kurawal penutupan hilang, sulit untuk mengatakan mana kurung kurawal terbuka yang tidak ditutup. (Kompilator mungkin harus mengurai indentasi untuk membuat tebakan yang terpelajar.) Jika Anda menghapus kurung kurawal di dalam suatu fungsi, maka sepertinya seluruh sisa file adalah bagian dari fungsi itu, yang mengakibatkan kesibukan pesan kesalahan yang tidak membantu. Sedangkan jika Anda memiliki end function
sintaks, kompiler dapat menyimpulkan di mana fungsi yang salah berakhir, memulihkan, dan menguraikan fungsi berikutnya dengan benar, memberi Anda diagnostik tambahan, jika ada, yang bermakna.
Ketika Anda bekerja di editor teks yang sadar kode yang secara otomatis mengindentasi dan mewarnai kode Anda, pada layar resolusi tinggi di mana Anda dapat melihat enam puluh atau lebih baris, argumen untuk jenis bahasa canggung itu tidak lagi berlaku. Anda dapat mengedit dan membangun kembali program secara bertahap secara bertahap sehingga Anda dapat menangani satu kesalahan sekaligus. Selain itu, dengan melihat bagian besar dari program secara bersamaan di layar dan mempertahankan lekukan yang tepat, Anda dapat mengurangi terjadinya jenis kesalahan bersarang di tempat pertama. Dan editor teks pemrograman yang baik bahkan akan menandai beberapa jenis kesalahan sintaks saat Anda mengetik. Terlebih lagi, ada editor lipat yang akan menciutkan blok program berdasarkan sintaksnya, memberikan tampilan "seperti garis besar" dari strukturnya.
Lisp menggunakan tanda kurung dari awal dan mungkin, bukan kebetulan, peretas Lisp memelopori pemrograman sebagai pengalaman interaktif dengan membangun sistem yang menerima program dalam potongan kecil (ekspresi).
Bahkan, Anda tidak perlu mengakhiri simbol sama sekali, seperti yang diilustrasikan oleh bahasa Python. Identation hanya bisa menjadi struktur. Manusia sudah menggunakan lekukan untuk mendapatkan struktur kode bahkan dalam bahasa di mana mesin bergantung pada simbol atau frasa berakhir.