Ini sebagian besar pilihan yang sewenang-wenang. Beberapa bahasa telah membuat pilihan lain. COBOL mengakhiri pernyataan dengan .karakter tersebut. FORTRAN, BASIC, dan Python umumnya mengakhiri pernyataan dengan baris baru (dengan sintaks khusus untuk pernyataan multi-baris). Dan Lisp mengurung pernyataannya dengan tanda kurung.
Alasan utama ;sangat populer sebagai pemisah pernyataan / terminator adalah bahwa sebagian besar bahasa populer saat ini didasarkan pada ALGOL , yang menggunakan konvensi itu.
bukannya simbol yang berbeda?
Simbol apa lagi yang bisa Anda pilih?
Karakter ASCII # $ @ [] ^ _ `{|} ~ tidak selalu ada dalam pengkodean karakter awal seperti ISO 646 .
Karakter ()*+-/<=>biasanya digunakan sebagai operator matematika dan akan membuat ambiguitas penguraian jika digunakan sebagai terminator pernyataan.
product = a * b * // If '*' were a statement terminator,
c * d * // Are there two factors, or four?
Masalah serupa akan berlaku untuk 'dan ", yang biasanya digunakan sebagai pembatas string; ,, yang biasanya digunakan untuk memisahkan argumen fungsi, dan ., yang biasanya digunakan sebagai titik desimal (atau sebagai pembatas dalam konstruksi seperti some_struct.some_field).
Daun itu !%&:;?.
Memilih !atau ?mungkin tidak akan menyebabkan kesulitan teknis, tetapi makna bahasa Inggris mereka akan memberikan suasana yang salah untuk program ini.
print(x)? # Yes, you should.
# It's an IMPERATIVE language; stop questioning my commands.
print(x)! # OK! You don't have to shout!
Itu &akan menjadi pilihan yang lebih masuk akal sebagai pemisah pernyataan (bukan terminator), karena
do_thing_a() &
do_thing_b()
dapat dibaca sebagai perintah untuk melakukan hal A dan kemudian melakukan hal B. Tetapi sebagian besar bahasa dengan &operator menggunakannya sebagai logika atau bitwise DAN sebagai gantinya.
The %tanda dapat menyebabkan kebingungan dalam pernyataan seperti interest_rate = 2.99%(yang akan mengatur variabel 2.99bukan yang diharapkan 0.0299). Tentu saja, makna matematika yang terkenal dari %tidak menghentikan C dari menggunakannya sebagai operator sisanya.
Sehingga pergi :dan ;.
: adalah pilihan yang masuk akal, dan memang digunakan sebagai pemisah pernyataan intra-line di sebagian besar dialek BASIC.
Tetapi ;memiliki tata bahasa Inggris di sisinya; dapat digunakan untuk memisahkan klausa dalam sebuah kalimat.