>Поддержка Unicode системой значительно облегчает жизнь, учитывая его обратную совместимость с ASCII,Совместимость — это далеко не всё. Вот, скажем, есть такая замечательная функция strncpy(3), очень полезная при общении со строками, не всегда заканчивающимися нулём (часто используются при общении с внешним миром, в том числе в bind(2)). Как эта функция должна интерпретировать свои первые два аргумента: как строки символов, или как байты? А третий аргумент - как счётчик символов или байтов? Подумайте, какие могут быть последствия в каждом случае подобного безобидного кода, когда s содержит символы сверх ASCII-таблицы:
char buf[64];
strncpy(buf, s, sizeof(buf));
И это лишь очевидная, лежащая на поверхности и, в общем-то, решённая проблема...
>если иные языки не используется, то юзеры ничего и не заметят.
Ага, если демонов не начнут DDoS'ить через такие баги.