alexs писал(а):На самом деле показанные тобой примеры - это ОЧЕНЬ частный случай. В нормальных продакшен системах оно так сильно не используется.
Я переношу код, который был написал 10-15 лет назад (ещё на D5) на лазарь. НЕТ ТАКИХ ПРОБЛЕМ. Изначально код был написан правильно (без хаков) и сейчас при конвертации нет проблем со строками.
А узкозаточеные функции на обработку строк - если хочешь повышения производительности - ты вседа будешь оптимизировать код. И это вообщето никак не связано с кодировкой.
Вам удалось провести анализ всех существующих в мире программ на паскале? Если нет, то на каком основании Вы делаете вывод о том, что указанные мною проблемы - это частный случай?
Я думаю, что именно у Вас частный случай, когда Вам повезло и наследованный код изначально оказался очень хорошим. По моему личному опыту, а также на основании литературы можно сделать вывод о том, что примерно 90% программистов в мире пишут плохой код. Вы лично можете писать очень качественный код, но наследованный код - это код, который не Вы писали. Вам дают чужой код (корявый, но работоспособный), дают деньги, и просят что-то переделать. Если переписать все, то не хватит ни денег, ни времени. Часто нет даже нормального описания того, чего и как конкретно чужая программа решала задачу. Но кое что переделать надо. С UTF8 вообще не вариант, и задачу не выполнишь, и денег не заработаешь, всем плохо.
Посмотрев приведенные здесь примеры оптимального кода для UTF8 можно сделать однозначный вывод, что как строковый тип UTF8String - это какой-то идеологический костыль. Получается и громоздкий и неочевидный код. Конечно каждый в праве для себя решать, что ему использовать. Но я для себя только подтвердил, ранее сформированную позицию, что UTF8 - тупик. С ним и сам денег не заработаешь, и все нормальные программисты разбегутся, ведь за малые деньги никто не будет работать, ведь все же хотят быстро заработать и купить машины, квартиры, и т.п. У платежеспособных заказчиков не такие уж и огромные бюджеты. и нормально заработать можно, только если не делать ни одного лишнего движения. С UTF8String таких движений будет масса, вместо 2 дней, разработка займет неделю (вместо 1 месяца, будет 3 месяца), а это значит, что 70% заказов станет нерентабельными.