Технічні системи, які я використовую та поважаю, майже виключно залежать від регістру: будь то ОС, мова програмування чи щось інше.
Винятки, про які я міг би зараз подумати, - це теги HTML та деякі реалізації SQL та мова програмування Ada.
Навіть у цих випадках я думаю, що існує сильна тенденція до написання HTML-тегів у малі регістри, а семантика запитів SQL у великому регістрі (і параметри з великої літери). (Виправте мене, якщо я помиляюся.) Що стосується Ада, режим Emacs виправить вас, якщо ви, наприклад, введете назву малої літери процедури, хоча це не має значення при компілюванні. Тож, навіть коли є нечутливість до випадків, люди здаються, що це погана ідея.
Причина в тому, що ви отримуєте набагато більше виразну силу з урахуванням регістру. Не тільки кількісно - CD
це один, але CD
, Cd
, cD
і cd
четверо - але що більш важливо, ви можете висловити мета, акцент і т.д. з використанням великих і малих розсудливо; також, програмуючи, ви підвищите читабельність.
Інтуїтивно зрозуміло, що ви не читаєте hi
і HI
так само!
Але, щоб навести приклад комп'ютерного світу, в мові програмування Ada (з 1980-х років) перший рядок блоку коду процедури може виглядати так:
procedure body P(SCB : in out Semaphore_Control_Block) is
як бачите, імена процедур та параметрів з великої літери, як і типи даних, все інше є малі. Також зауважте, що назва параметра "всі великі регістри" говорить нам, що це абревіатура. А тепер порівняйте це
procedure body p(scb : in out semaphore_control_block) is
Це можливо, оскільки Ада нечутлива до регістру (або, якщо бути точним, компілятор змінить його так, як у моєму першому прикладі, але, звичайно, не змінить ваш код). Або як щодо:
PROCedure body P(Scb : IN Out semaphore_CONTROL_BLOCK) iS
Я знаю, що це трохи смішно; але хтось був би досить дурний, щоб написати це саме так (ну, можливо, ні). Справа в тому, що система, що враховує регістри, не тільки змусить людей бути послідовними, вони також їм допоможуть (читабельність) та використовуватимуть її на користь (приклад абревіатури вище).