Archive for September, 2004

开源 XML 解析器试用印象

2004-9-25 13:26 | by 2ndboy

其实我只试用过 3 种,所以只写个印象,而不是什么心得体会:)

(1)Expat:是 SAX 接口的,身材苗条,比较简单,不过直接用它提供的接口写程序有点太繁琐,可以配合 SCEW(Simple C Expat Wrapper,提供一个类 DOM 接口)使用,会很方便。解析速度没的说,很快!但不支持 GB2312 中文编码的 XML,不过改改代码很容易可以加上:)因为简单所以不支持名字空间等特性,适合在简单的 XML 应用中使用。

(2)libxml:其实是 Gnome 工程的一部分,但完全可以放在自己的程序中使用,支持复杂的 XML 特性,在 Windows 下配置编译也很方便,你可以拿掉那些不需要的特性把它编译的很小:)不过它的接口不是标准的 DOM,而是由另外一个工程来提供标准 DOM 接口:(

(3)Xerces:Apache 组织旗下的一员,C++ 接口,提供标准的 DOM 接口,支持复杂特性的 XML,我个人比较喜欢!不过身材比较大,编译成动态库有 2M 多!而且不可以自由配置拿掉不需要的特性:(

呵呵,以上就是我的试用印象,简单 XML 应用我觉得 Expat 就可以胜任,复杂的干脆用 Xerces 得了,毕竟是标准接口,libxml 就显得不上不下了:)不过它得苗条身材和可定制性确实不错,毕竟 PHP 5 选用它作为 XML 扩展的底层不是没有道理的:)

为什么用 wxWidgets(wxWindows) 的人这么少?

2004-9-25 12:52 | by 2ndboy

  最近的工作内容都是 B/S 的东西,不想去看 MFC,但又不忍拉下桌面开发的功力,所以就想选个方向研究一下,Google 了一下:Qt,口碑还不错,不过它的许可协议让我不太满意;GTK,是 C 接口的,虽然也有 C++ 接口的,但是觉得好像太过复杂了;选来选去就选中了 wxWidgets(就是以前的 wxWindows,迫于 MS 的压力改名了),看了官方网站上的界面截图,好像还不错哦,跨平台特性也比较优秀,而且我觉得它的设计很清晰,我只是化几个小时看了仅有的几篇中文教程就开始上手了:)就是它了!

  大约从两个月前开始学习 wxWidgets,Google 了一下发现中文的 wxWidgets 资料真是少之又少啊!只找到个位数的几篇入门教程,CSDN 的论坛上也没有专门的板块,只是在 limodou 的学习记录看到了一些 wxPython 的内容。

  唉!用 wxWidgets 的人怎么这么少呢?

终于有 Gmail 帐号了!

2004-9-23 15:48 | by 2ndboy

  早就想要个 Gmail 帐号可是一直未如愿,两天前看到 Nephee 在赠送 Gmail 邀请就发邮件给她,呵呵,在等邮件的时候居然看到 Windix 也在搞 Gmail 邀请大放送,于是,我有了第一个 Gmail!还给 GF 申请了一个,谢谢 Windix 了:)!第二天收到了 Nephee 的邮件,正好朋友也需要一个就送给了他,也要感谢 Nephee!哈哈

开始真正理解 OOP 了

2004-9-5 12:10 | by 2ndboy

  大学期间看 C++ 的书都是在被动的接收信息:封装、重载、多态……满眼看到的都是作者对 OOP 的赞誉,但我却没有一点感觉(除了封装和重载),那时候实践的机会也很少,年纪大的老师基本上是照本宣科,年轻一点的也不会带给你多少新的编程思想(我想国内计算机专业的本科乃至研究生教育不提也罢)。

  当时正好从 SDK 起步开始向 Windows 开发迁移了,向来喜欢用底层学起的我还没有仔细研究 MFC 的计划,于是整个思维仍停留在 C 的结构化阶段。

  但 C++ 正是从那个时期开始慢慢学起来的,记得我的那本《C++ Primer》正是大学即将毕业的时候买来的,可正当此时——我毕业了,带着对 OOP 生疏的点点畏惧,我开始了自己的程序员职业生涯。

  工作后在完成任务时,自己有时候会刻意的去使用 C++ 来完成工作,可是在闲时翻阅《C++ Primer》的过程中我终于体会到了,那其实只是“基于对象的编程思维”,写一个类,然后直接实例化后拿来用。

  之前没有听说过“基于对象的编程思维”,知道了之后却认为这真是那段时间我思维的真实写照啊!

  但仔细研究学习 MFC 的计划却始终没有执行起来,虽然也买了《深入浅出 MFC》,但却始终未能通读,我想跟这一阶段把大量时间都用在研究开源软件和 Linux 上有一定的关系吧,可是经过了这个阶段后,却突然发现——我对研究 MFC 已经没有兴趣了。

  之后就试着自己来封装一个 Windows 窗口类库来用,类似 MFC 的那种:)主要是那时看到了 Thunk 这种技术,一时手痒想试试:)但这个计划在实施的过程中却让我有了意外惊喜——我在某一天突然对 OOP 有了实实在在的感觉,象是顿悟一般,我终于理解了继承的真意,就像是在侯捷老师书上看到的那样:某大师某天对 COM 的思想突然顿悟,我就是那么一种感觉。

  哈哈——接触 C++ 后的第 3 年,我终于可以说我开始真正理解 OOP 了!