Saya tertarik untuk mencari tahu siapa yang memperkenalkan indentasi kode, serta kapan dan di mana kode itu diperkenalkan.
Tampaknya sangat penting untuk pemahaman kode, tetapi itu tidak universal. Kebanyakan kode Fortran dan Basic adalah (tidak?), Dan hal yang sama berlaku untuk Cobol.
Saya cukup yakin saya bahkan telah melihat kode Lisp lama ditulis sebagai teks baris-terbungkus berkelanjutan. Anda harus menghitung tanda kurung di kepala Anda hanya untuk menguraikannya, apalagi memahaminya.
Jadi dari mana datangnya kemajuan besar seperti itu? Saya belum pernah melihat menyebutkan asalnya.
Terlepas dari contoh asli penggunaannya, saya juga mencari diskusi asli tentang lekukan.
coding-style
history
indentation
Daniel Mahler
sumber
sumber
C
karakter jika Anda membuat komentar.if
, a la F #), lekukan sebenarnya bukan fitur bahasa, ini adalah fitur IDE ( dan sedikit di kompiler, untuk mengabaikan spasi terkemuka). @ Jack benar - program awalnya dipencet pada kartu, dan lekukan benar-benar tidak ada di penyimpanan (dan mungkin tidak sekarang, juga). RPG kolom tidak menggunakan indentasi (dan Anda hanya memiliki ~ 20 karakter gratis per baris), tetapi IDE dapat "melunakkan" indentasi kode untuk Anda.Jawaban:
Asal-usul kode indentasi mungkin dapat ditemukan di ALGOL :
sumber
{}
) untuk membatasi blok, dan Anda dapat mendefinisikan fungsi bersarang, tetapi itu tidak memberi tahu saya apa pun apakah kode tersebut benar-benar menjorok ke dalam.Kode indentasi harus sudah tiba sebelum 1958, karena sudah ada - tetapi tidak ada di mana-mana - di LISP dan ALGOL. Yang paling awal saya dapat temukan adalah COMTRAN yang diperkenalkan pada tahun 1957, meskipun saya hanya dapat menemukan manual 1960 saja (lihat halaman 90ish). Lekukan ini berbeda dari konsepsi modern karena COMTRAN tidak memiliki struktur blok dari kebanyakan bahasa sejak ALGOL tapi saya pikir itu masih harus diperhitungkan.
Saya menduga bahwa ini sebenarnya bukan contoh pertama tetapi saya tidak dapat menemukan yang lebih awal.
Diperbarui
Terlintas dalam benak saya bahwa indentasi pada tingkat yang berarti mungkin ada sebelum pemrograman. Lekukan itu kemungkinan digunakan dalam daftar instruksi sebelum siapa pun yang menulis program komputer. Sayangnya saya tidak dapat menemukan contoh yang bagus tentang ini.
sumber
Ekspansi komentar Ross Patterson - kompiler COBOL (atau setidaknya kompiler IBM, yang saya gunakan dalam karir sistem pra-terbuka saya) memperkuat indentasi (area "A" dan "B" yang ia sebutkan). Jika salah satu elemen yang diperlukan di area ini tidak ditempatkan dengan tepat, kode Anda akan gagal dikompilasi. Namun, lebih dari itu tidak ada lekukan khusus yang diperlukan - ini sering menyebabkan cengkeraman ketika memodifikasi kode pengembang lain yang gaya lekukannya berbeda dari Anda - etiket akan menyarankan Anda mengikuti pola yang ada saat menjaga perdamaian di antara rekan; selain itu, gaya berbeda di sumber yang sama akan memperburuk tampilan, hampir mirip Tetris.
Sudah bertahun-tahun sejak saya memikirkan COBOL dan lekukannya - terima kasih telah mengajukan pertanyaan dan memberikan sedikit perjalanan ke masa lalu!
Marty
sumber