[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Проблемы написания кроссплатформенных приложений



Victor Wagner wrote:
>> корректная работа с Юникодом, можно слинковать с libqtcore4 - она весит 2 метра в архиве.
> 
> А вот на плюсах кросс-платформные приложения лучше не писать.
Другие варианты, на мой скромный взгляд, ещё хуже.

> Несовместимостей между разными версиями компиляторов (а тем более
> компиляторами от разных вендоров) там такие, что проблема локализации
> простой и понятной покажется. А еще STL-и тоже бывают сильно разные.
Эгм. Вот что-то, а стандартное API не ломалось уже очень много лет.
Другое дело, что этого стандартного API мало.

> Поэтому писать на плюсах что-то что должно выйти за пределы одной
> машины, или дюжины машин и идентичным дистрибутивом и просуществовать
> более 2-3 лет, крайне не рекомендую. Ту же Qt уже сколько раз не слишком
> совместимым образом переписали.
Практика показывает, что многие с Вами не согласны. Дебиан предоставляет нам замечательную
статистику (в пределах порядков), итак:

$ apt-cache rdepends libstdc++6 | sort | uniq | wc -l
3239
$ apt-cache rdepends perl | sort | uniq | wc -l
2278
$ apt-cache rdepends python | sort | uniq | wc -l
1527
$ apt-cache rdepends ruby | sort | uniq | wc -l
101
$ apt-cache rdepends tcl | sort | uniq | wc -l
26
$ apt-cache rdepends tcl8.4 | sort | uniq | wc -l
116
$ apt-cache rdepends tcl8.5 | sort | uniq | wc -l
19
$ apt-cache rdepends tcl8.6 | sort | uniq | wc -l
5
$ apt-cache rdepends tcl8.3 | sort | uniq | wc -l
24

А уж в случае программ с гуём, особенно если у них есть участки, критичные к скорости
выполнения, то альтернатив плюсам совсем мало (С-шники укажут мне на GTK2, но я плохо
представляю, как можно от хорошей жизни писать на этом, тут уж несовместимости между
компиляторами мне кажутся не такими уж плохими (впрочем, кто-то таки написал gtkmm)).

-- 
Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com
Ukrainian C++ developer, Debian Maintainer, APT contributor

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: