Qt/KDE 是 c++ 程序,依赖关系太庞大了!每次升级系统时,都只能跳过它们,因为一次要升级的东西太多,一旦只升级一部分就会出问题。scim 的错误不在于使用 gtk,而在于使用 c++,虽然 scim 把 c++ 用得都要炉火纯青了,设计和构思越来越精巧,但是 c++ 固有的问题解决不了的话,问题总是会出现。还有,gtk 的速度不是那么慢!不要以为启动时多初始化一个输入法相关的结构,就会导致速度变慢,因为这个过程不会读硬盘,也不会分配很多内存。
ShiyuTang 兄弟真的是用这种心态去给 mandrake 做测试的吗?
与其说 Qt/KDE 依赖关系庞大,倒不如说 GTK/GNOME 依赖关系庞大,而且 GTK/GNOME 的依赖、编译参数混乱,这是导致 Slackware 放弃 GNOME 的主要原因。Pat 已经不想花时间维护 GNOME 了。每提供一个 GNOME 的升级版本用的时间是 KDE 的3-5倍。这个你可以到 Slackware 的邮件列表中去查。MDK 目前既支持 KDE 又支持 GNOME,但显然支持 KDE 的力度强于 GNOME,虽然 MDK 的一套系统配置工具的图形界面是用 GTK 写的。你可能用 Redhat、Fedora 中附带的、没有经过仔细测试过的 KDE 习惯了,导致你对 KDE 产生了不好的印象了;如果你用的是 SuSE、Mandrakelinux、Slackware,你就不会有这样的想法了。
对于输入法来说,依赖的库越少越好。fcitx 能做到,为什么 SCIM 不能?SCIM 在这上面的缺陷导致了其二进制兼容性很糟糕,只要编译器稍有不同,就会导致程序死掉。你在 Windows 中用 gcc、MS compiler、Borland compiler、Intel compiler 编译出来的文件在 Windows 中都能跑,但为什么 Linux 中哪怕编译器稍有不同就会出那么大问题呢?