过去一年里,啥事情没干。
2012年来的时候,唔说,世界末日到来前不拼命工作。于是就每天宅家里啥也不做了。
要说啥都没做也不对。
重新学习C++是一个机缘巧合的事情,jack 一直是一个C++程序员,重度Boost粉丝。一直向我灌输boost。不过,我一直和云风一样,总是黑C++,说只用C开发。
不过C++11的发布让我觉得有必要了解一下C++11。就算不用,我总要看别人的c++11代码的吧!本着这个目的,我仔细的看了c++老爸写的C++11 FAQ。
新的c++11让我惊呼! C++11乃神器也!
我开始不黑C++了,我改变了对C++的坏印象。但是真正开始使用C++,与使用Boost可同一时间。 有一天,我读了ByVoid的博客,他推荐了一个叫rimeime的神级输入法。我被rimeime首页上那唯美的诗吸引了,认定rimeime作者一定是个大牛。当我编译rime的时候,发现rime居然是使用Boost开发的。rimeime专注于输入法方面算法,只字不提开发中的啥数据结构啊之类的,让我这个整天活在C世界的乡巴佬汗颜。我过多的思考底层了。是个毛病,该改!我意思到,软件开发就应该专注于这个专业领域的东西,不要被C语言带来的计算机原理模糊掉自己的方向。和 jack 讨论了这个问题,他也认为当下的编程语言,都过分的让程序员考虑计算机的内部原理了。而能让不懂编程的用户快速的开发出程序的语言,都死了。(VB 泪流满面) 于是我再一次拿起C++的时候,自己打算试一试,再加上jack的鼓吹,终于开始使用Boost了。 Boost 真乃神器也~ 有种相见恨晚的感觉。
很早的时候,我就想写一个编译器。一直认为编译器是一个很高难度的东西。于是我选择了一个简单的语言:QBASIC作为我的目标。经过一个星期的编译原理方面的学习,终于靠着llvm这个大山写出了一个编译器,哦也,感觉非常不错。
avplayer是jack编写的一个p2p播放器。我有幸参与了开发,并做了Linux版本的移植工作。 之后加入了jack建立的一个QQ群。因为 Linux 下QQ并不方便使用。于是我打算开发一个能将 QQ和IRC结合起来的机器人。这样我就可以在 IRC 上参与群的讨论。 这个想法的直接结果就是导致 qqbot 的诞生。然后jack和我感觉应该创立一个社区,吸引国内优秀的程序员加入。于是建立了 avplayer.org 社区,并将 qqbot 改名为 avbot ,和 avplayer 一道成为 avplayer.org 社区项目。成立后,hyq 迅速的贡献了自己开发的 avsocks 软件,成为社区的三驾马车。 avsocks 原由go语言开发,我迅速的将其用 boost 重构。avsocks 目前可是最受欢迎的项目,呵呵。