Re: Ну что там с iOS, WinMo/WinPhone и андроидом? Да в МС все ебанутые. Что CTO, что CEO, что программисты и архитекторы. Одна только идея взять wchar_t, выдать его за Unicode и сделать две копии API, одни функции заканичивающиеся на A а другие на W что стоит...
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? Разверни плиз, а то критикуешь мелкософтовскую реализацию юникода уже не первый раз (в сравнении с чем?), а суть претензий я так и не понял, знаний не хватает видимо.
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? http://lurkmore.to/Индусский_код#.D...81.D1.81.D0.BA.D0.B8.D0.B9_.D0.BA.D0.BE.D0.B4 Картинка справа.
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? Для начала - ознакомься хотя бы с этим (сорри, искать правильную статью на MSDN лениво, но и по выжимке все понятно). Микрософт пошли самым "гамачно-лыжно-противогазным" путем из всех возможных. Все остальное - это мелочи. Тот факт, что они взяли для кодирования символа wchar_t вместо int16_t/uint16_t это мелочь. Тот факт, что МС подход означает бесповоротный и ненужный стопроцентный оверхед это тоже мелочь в наше время. Просто люди, привыкшие мыслить по-микрософтовски, в принципе не могут представить, что есть другие, более понятные, лаконичные и логичные подходы. Главное в том, что они изначально зарубили себе возможность использования огромного пласта уже существующих библиотек на Си. Нормальный подход - это использование кодировок навроде UTF8. Когда весь пласт уже существующих библиотек/кода/протоколов/спецификаций вдруг совершенно чудесным образом просто работает со всеми возможными буквами всех возможных языков. Когда ты древней, как говно мамонта, функции Code: FILE *fopen(const char *restrict filename, const char *restrict mode скармливаешь имя, содержащее буквы русского и немецкого алфавита - и все прекрасно работает, как работало десятки лет назад с ASCIIZ строками. А вот мой пример из другой области API: Code: #ifdef WIN32 void SetFileModifiedTime(const char* szFullName) { HANDLE hFile = CreateFile( szFullName, GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_ALWAYS, FILE_WRITE_ATTRIBUTES, NULL); if (hFile != INVALID_HANDLE_VALUE) { FILETIME ftCreate, ftAccess, ftWrite; GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite); GetSystemTimeAsFileTime(&ftWrite); memcpy(&ftAccess, &ftWrite, sizeof(ftAccess)); SetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite); CloseHandle(hFile); } } #else void SetFileModifiedTime(const char* szFullName) { utimes(szFullName, NULL); } #endif
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? Вот оно, мышление в стиле микрософт Человек в принципе не представляет, что может быть без оверлода там, где он не нужен
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? Повторное использование кода мешает извлечению прибыли Возможно я ошибаюсь, но с UTF-8 довольно плохо обстоит дело (обстояло?) не только у мелкософта, при том что поддержку юникода многие вводили позже, когда преимущества были очевидны. А вот использование utf-16 и utf-32 подобных встречается регулярно в невиндовс мире ИМХО.
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? http://habrahabr.ru/post/179333/ Но кажется мне что так в любой более-менее крупной конторке....
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? Рустам, один простой вопрос вот все, что ты написал - это про какой API? Win32API? WinForms? WPF? .NET?
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? о, похоже на майкрософтие головного моска. Впрочем, учитывая обилие эппла головного моска тут же - прям даже и не удивил.
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? по сути вопроса-то есть что сказать? или как обычно? )
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? боюсь, умайкрософтившемуся сложно объяснить организационную суть. А такая запросто иметь место быть может - департамент пишущий ие к примеру не может менять дком и может считать нтфс старым говном. В моём посте кстати что-то про крупные конторы было, но оно для тебя вне сути так как это сложно с поцонами обгоготать.
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? аффтар - пеши исчо. а я с удовольствием почитаю на выходных. про департамент ие, которому за ким-то хером че-то понадобилось менять в коде дком и абстракции головного мозга про большие конторы тоже
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? Ты свои предпочтения не конкретизировал, а проблемы твои мимо меня в свое время прошли. Так что гадаю. Как ты знаешь я вообще предпочитаю простой и сладкий массив однобайтовых символов 1251, а любые юникод конструкции у меня вызывают легкую душевную неприязнь. Будь то UTF-7/8/16/32 и любые их вариации...
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? Так в том то и вся прелесть UTF-8, что нету никаких проблем для "логики" софта. Все, что не связано с GUI (а конкретно с растеризацией шрифтов на экране) работает с UFT-8 строками так же, как работало с ASCIIZ. Большинство UNIX систем и самые популярные линуксы поддерживают UFT-8 давно и нативно - все, что им для этого потребовалось - это добавить unicode шрифты и методы ввода для разных языков. А программы переход на UFT-8 не заметили, и даже не подозревают о каких-то изменениях в кодировках. Вот взял ты, скажим, архиватор написаный в 70-е/80-е годы - он будет так же прекрасно работать с именами файлов в UFT-8 как работает с ASCII. Даже перекомпилировать не придеться.
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? Прикладной API, тот, на котором пишут 75% программеров под Винду и 99% хомячков, считающих себя таковыми win32 и то, что вокруг него наверчено.
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? Ну, это у тебя от недостатка кругозора и отсутствия опыта реальной работы в более удобных для поддержки многоязычных текстов систем Как я понимаю - у тебя предпочтительный инструмент это Дельфи, а в паскалях/дельфях, AFAIC, всегда было заметное отставание от современных технологий - что переход на 32-битные ОС, что на 64-битные, что поддержка юникода - все запаздывало. Вот и привык ты к подходу Windows 3.11, где он был реально едиственно оправданым и разумным
Re: Ну что там с iOS, WinMo/WinPhone и андроидом? Не, ну это ты загнул. Я бы сказал что меня наоборот развратили mutable strings и широкий набор строковых функций и классов. Работать в Delphi с вообще любыми типами строк - не было проблемой с незапамятных времен. Более того - богатство функционала по работе со строками в дельфи выше чем в шарпе, не говоря уже о C/С++ и т.п. жавах. Пинать дельфи модно уже более 10 лет. Видимо последствия врожденного криворучия выпускников вузов того времени, когда их массово учили паскалю и дельфи. Базовый уровень генерации быдлокода, не умение работать с объектами без корявых костылей сборщика мусора и чрезмерное увлечение кривыми компонентами от таких же пейсателей. Чего я только на дельфях не писал, и что характерно все работает и работает хорошо. Для меня для клиентских Win приложений пока все другие языки менее эффективны. Разве что Шарп лучше годится для быстрописания серверного ПО, да и то только если системных ресурсов жопой ешь.