Pengarkiban terbaru sebuah projek sintaks alternatif Python telah mencetuskan semula perbahasan lama dalam komuniti pembangun mengenai keperluan ruang putih yang signifikan dalam Python. Projek tersebut, yang menawarkan blok gaya Ruby do..end sebagai alternatif kepada indentasi wajib Python, telah mencetuskan perbincangan hangat tentang pilihan format kod dan aliran kerja pembangunan.
Ciri-ciri Utama Projek:
- Menukarkan blok gaya do..end dari ruby/lua kepada blok indentasi
- Mengekalkan semantik Python
- Memelihara literal rentetan dan komen
- Memproses fail .dopy kepada fail .py yang mematuhi PEP8
- Menyokong petunjuk jenis (type hints)
- Memerlukan Python 3.10+
Perpecahan Pendapat Mengenai Indentasi
Penggunaan ruang putih yang signifikan dalam Python terus menjadi salah satu ciri yang paling kontroversi dalam bahasa ini. Walaupun sesetengah pembangun memuji kerana ia menguatkuasakan struktur kod yang bersih dan mudah dibaca, yang lain berpendapat ia mewujudkan kerumitan yang tidak perlu, terutamanya semasa pengubahsuaian dan manipulasi kod. Perbincangan komuniti mendedahkan perubahan ketara dalam perspektif, terutamanya dengan evolusi alat pembangunan moden.
Saya biasa menggunakan Python untuk segala-galanya pada akhir 2000-an dan suka ruang putih yang bermakna. Kini saya menulis Rust dalam vscode dan saya suka kurungan. Rustfmt memformat kod saya setiap kali, jadi saya tidak perlu risau tentang indentasi dan kurungan diletakkan di tempat yang sepatutnya.
Kesan Alat Pembangunan Moden
Kemunculan pemformat kod canggih dan Language Server Protocols (LSPs) telah mengubah cara pembangun mendekati format kod. Ramai yang berpendapat dengan alat seperti Black untuk Python atau Rustfmt untuk Rust, kepentingan indentasi manual menjadi kurang relevan. Alat pemformatan automatik ini memastikan konsistensi tanpa mengira peraturan sintaks asas, walaupun keperluan ruang putih Python masih memerlukan pengendalian yang teliti semasa manipulasi kod.
Implikasi Praktikal
Perbahasan ini merangkumi lebih daripada sekadar pilihan kepada pertimbangan praktikal. Pembangun melaporkan pengalaman berbeza dengan tugas seperti pengubahsuaian kod, menyalin kod antara tahap indentasi yang berbeza, dan bekerja dengan alat pengaturcaraan literat. Walaupun editor moden sering menyediakan penyelesaian untuk cabaran ini, sesetengah pembangun masih mendapati pendekatan Python lebih mencabar berbanding bahasa berasaskan kurungan.
Masa Depan Sintaks
Apabila persekitaran pembangunan menjadi lebih canggih, terdapat perbincangan yang semakin meningkat tentang sama ada sintaks bahasa pengaturcaraan harus lebih fleksibel, membenarkan pembangun memilih gaya visual pilihan mereka sambil mengekalkan semantik asas yang sama. Walau bagaimanapun, falsafah reka bentuk Python yang menyatakan harus ada satu -- dan sebaik-baiknya hanya satu -- cara yang jelas untuk melakukannya menunjukkan bahawa perubahan besar pada sintaks terasnya tidak mungkin berlaku.
Pengarkiban projek sintaks alternatif ini, walaupun menarik sebagai usaha eksperimen, mengukuhkan bahawa pendekatan Python terhadap ruang putih yang signifikan kekal sebagai aspek asas bahasa tersebut, walaupun terdapat perbahasan berterusan tentang kelebihannya dalam persekitaran pembangunan moden.
Rujukan: Python tanpa indentasi ketat