Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт июл 25, 2017 9:34 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 236 сообщений ]  На страницу Пред. 110 11 12 13 1416 След.
Автор Сообщение
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вс дек 04, 2016 2:21 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1163
Так, ладно, это обсуждение длится достаточно долго чтобы продемонстрировать, почему я люблю сначала делать, а разбираться потом.
Все проходящие - голосуйте мнением.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вс дек 04, 2016 3:44 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3927
0CodErr писал(а):
Ну с таким же успехом и от мьютексов можно отказаться тогда. У нас приложения могут быть многопоточными.
При чём здесь мьютексы. Ты, образно говоря, предлагаешь дать возможность одному потоку в многопоточном приложении считать в миллиметрах, а другому в дюймах. Это ещё один способ выстрелить себе в ногу.
0CodErr писал(а):
ОДИН раз ты переключился, и дальше работаешь в юникоде. Если когда-нибудь захотел обратно в ASCII, то также только ОДИН раз вызываешь.
И весь этот геморрой с переключением только ради файловых функций. Вангую массу вопросов от новичков почему у них крякозябры в заголовке окна, в BOARD и т.п.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вс дек 04, 2016 3:58 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3927
Pathoswithin
Да, всё начало вырождаться в пустой трёп. Моё мнение:
1. Путь в приложение передавать в utf-8. Предупредить о проблемах с именами директорий в русской кодировке.
2. Добавить utf-8 подфункции к ф.70 и ф.30. Никаких ASCII/UNICODE режимов приложения в ядре не городить.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вс дек 04, 2016 9:46 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 429
Согласен с Serge. Где можно, новые подфункции в utf8, где нельзя - только utf8. Минимум несовместимостей, даи потом проще будет убирать устаревший ascii из ядра.

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Пн дек 05, 2016 1:14 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1163
На самом деле делать подфункции к ф.70 не желательно, так как параметр передаётся в структуре и редактировать его нельзя. Я планирую сделать две копии ф.70: для UTF-8 и UTF-16. Одна из них будет 80, а другая - 79, 81 или 32. Выбирайте.
Остальное ограничится новыми подфункциями.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вт дек 06, 2016 2:32 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 930
Serge писал(а):
Ты, образно говоря, предлагаешь дать возможность одному потоку в многопоточном приложении считать в миллиметрах, а другому в дюймах. Это ещё один способ выстрелить себе в ногу.
Ну это ты уже из пальца проблему высосал. :lol: Так как, это отнюдь не мешает устанавливать различные маски событий(event_mask) или режим ввода с клавиатуры(keyboard_mode), например.
Serge писал(а):
Вангую массу вопросов от новичков почему у них крякозябры в заголовке окна, в BOARD и т.п.
Ровно такие же кракозябры, как и в первом сообщении этой темы. Вообще, таких переключений может и не быть: сначала encoding устанавливается в заголовке приложения, затем, если приложение грузит библиотеки, то там нужно ASCII, также, возможно, при обработке CmdLine. Всё! Больше переключаться не нужно!
Pathoswithin писал(а):
Я планирую сделать две копии ф.70: для UTF-8 и UTF-16.
Serge писал(а):
Ядро не безразмерно.
:mrgreen: Но лучше уж хотя бы так. Только ещё надо будет GetAppPath и GetCommandLine сделать для разных кодировок. Если, конечно, не планируется использовать поле encoding в заголовке.
UTF-8 это прежде всего тормоза. Очень странно хотеть её использовать в такой системе, как KolibriOS. Она и была разработана ради совместимости с ASCII, но только в KolibriOS нет такой проблемы в силу отсутствия большого количества приложений, нуждающихся в такой совместимости. Так что, такую кодировку стоит использовать просто как ещё одну, не более.

Как я понял, вместо добавления одной сисфункции для переключения кодировки будут продублированы все. Ну что ж, так, конечно, лучше, ведь это не раздует ядро :lol: :mrgreen: Сами себе противоречите!


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вт дек 06, 2016 5:33 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3927
Цитата:
Так как, это отнюдь не мешает устанавливать различные маски событий(event_mask) или режим ввода с клавиатуры(keyboard_mode), например.
Тяжёлое наследство тёмного прошлого. Хотя в различных масках событий может быть смысл.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вт дек 06, 2016 5:41 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 930
Serge писал(а):
в различных масках событий может быть смысл.
Ну, разумеется, он там есть. Например, браузеру нужны сетевые события. Но при этом меню браузера в них совершенно не нуждается.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вт дек 06, 2016 5:45 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1163
Ты не поверишь, но всё это займёт в ядре несколько десятков байт.
Как UTF-8 связана с тормозами (даже не учитывая скорость работы дисковой системы)? В UNIX это основная кодировка.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вт дек 06, 2016 5:50 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3927
Тем не менее индивидуальные маски событий не оправдывают индивидуальны режимы кодировки. Кстати, некоторые длл могут создавать свои потоки. Например console. В этом случае индивидуальные режимы ascii/unicode сделают всё ещё запутанней.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вт дек 06, 2016 5:56 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 930
Pathoswithin писал(а):
Ты не поверишь, но всё это займёт в ядре несколько десятков байт.
Добавление только одной функции займёт ещё меньше.
Pathoswithin писал(а):
Как UTF-8 связана с тормозами (даже не учитывая скорость работы дисковой системы)? В UNIX это основная кодировка.
Как я писал уже выше, во всех строковых функциях потребуется больше проверок, так как символ может быть представлен 1|2|3|4 байтами. В то время как UTF-16 2|4, UTF-32 4, а ASCII 1. Вот и выходит, что UTF-8 самая тормозная из них.
Да, и у нас вовсе не UNIX. Нет смысла равняться на это. Если тебе нужен UNIX, бери UNIX и используй его в своих целях.

Serge писал(а):
Тем не менее индивидуальные маски событий не оправдывают индивидуальны режимы кодировки.
Конкретика?

Serge писал(а):
В этом случае индивидуальные режимы ascii/unicode сделают всё ещё запутанней.
Запутанней для кого? Приведи пример проблемы, я скажу тебе, как её можно решить.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вт дек 06, 2016 6:12 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1163
Копеечные расходы тормозами не называются.
Вообще-то я сейчас как раз POSIX ублажаю. Если тебе не нужен UNIX, то чем тебе маркеры не нравятся? Тоже вполне чёткий стандарт.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вт дек 06, 2016 6:18 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 930
Pathoswithin писал(а):
Если тебе не нужен UNIX, то чем тебе маркеры не нравятся?
А зачем их лепить к каждой строке, если можно проверить только APPDATA.Encoding?

Pathoswithin писал(а):
Копеечные расходы тормозами не называются.
Только здесь не про копеечные речь. Дополнительные проверки на каждый символ.


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вт дек 06, 2016 6:35 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1163
А затем, что с таким стандартом можно было бы иметь дело с разными кодировками одновременно, но вообще не задумываться об этом.

Ты собираешься проверять миллиард символов?


Вернуться к началу
 Заголовок сообщения: Re: Путь приложения
СообщениеДобавлено: Вт дек 06, 2016 7:06 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 930
Pathoswithin писал(а):
иметь дело с разными кодировками одновременно
А зачем это надо? Пример можешь привести?
Pathoswithin писал(а):
Ты собираешься проверять миллиард символов?
...и даже больше, вот и посчитай насколько это медленнее будет


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 236 сообщений ]  На страницу Пред. 110 11 12 13 1416 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB