Apakah ada alasan teknis mengapa? Apakah ini merupakan artefak dari masa-masa awal Linux atau Unix, dan jika demikian apakah ada alasan mengapa hal itu tetap ada?
Saya tidak bisa memikirkan alasan teknis - secara historis, itu hanya ASCII. Cara membaca dan mengetik di tangan pembuat kode.
unix-history-repo / usr / src / cmd / passwd.c
char *uname;
insist = 0;
if(argc < 2) {
if ((uname = getlogin()) == NULL) {
printf ("Usage: passwd user\n");
goto bex;
} else {
printf("Changing password for %s\n", uname);
}
} else {
uname = argv[1];
}
Karena saya telah menghabiskan beberapa waktu menjelajahi halaman manual arsip (misalnya: 1BSD adalah Distribusi Perangkat Lunak Berkeley pertama dari Bill Joy ), saya tidak melihat apa pun yang menentukan nama pengguna. Itu bukan untuk mengatakan bahwa itu tidak ada, tetapi saya belum melihatnya.
Jadi kita dibiarkan dengan konteks sejarah manusia. Kembali ketika saya mulai dalam teknologi pada tahun 1980, kami selalu menggunakan nama asli kami untuk login. Biasanya nama depan dan belakang nama depan kecuali ada batas panjang. Ini penting karena nama login Anda digunakan sebagai alamat email Anda. Tak seorang pun saat itu mengirim email yang anonim. Tentu saja ada beberapa pengecualian, saya tidak ingat mereka. Namun secara keseluruhan, saya percaya ini yang terjadi.
Dan menurut rfc5321 # page-63, tidak ada batasan untuk memiliki "nama" email dimulai dengan numerik. gmail akan membuat semua nama pengguna numerik. (dapatkan sekarang, mereka akan cepat).
Jadi jika ada kode yang menolak nama pengguna yang diawali dengan [0-9], maka mungkin akan muncul kemudian dengan beberapa programmer berpikir "mengapa Anda memiliki nomor sebagai nama?". Sekali lagi, saya harus mengatakan bahwa mungkin ada kode unix bersejarah yang menolak nama pengguna yang dimulai dengan angka. Aku belum melihatnya. Tabel kata sandi awal diedit dengan tangan, saya tentu ingat sering melakukan itu, bahkan di awal tahun 90an.
Sejauh mengapa ini bertahan, saya akan mengutip stroustrup, C ++ 11FAQ, Kapan perpustakaan standar baru akan tersedia?
Untuk membuat masalah lebih sulit, ingatlah bahwa tidak layak untuk menghilangkan fitur yang lebih tua, bahkan jika komite setuju bahwa mereka buruk: pengalaman menunjukkan bahwa pengguna memaksa setiap pelaksana untuk terus menyediakan fitur-fitur usang dan terlarang di bawah sakelar kompatibilitas (atau secara default) selama beberapa dekade.