随笔-341  评论-2670  文章-0  trackbacks-0
    之前因为非常忙,加上无聊开发什么类似WCF和WPF的东西,最近终于找到了新的目标了,于是之前那些就不做了。隔了这么久没法文章主要是因为最近没写出什么完整的东西。国庆玩了9天,之前在计划VL++3.0。

    VL++3.0被定位为一个为了数据处理而开发的C++库。这个库不的特点在于“其他语言的味道很浓”。C++的库用起来不爽主要是因为老是要我按下划线,而且大量应用非OOP特性导致IDE的自动补全无法发挥作用。所以为了弥补这个缺陷我做了一个很不一样的东西,也就是VL++了。经过了三年多的开发,1.0和2.0已经相继出炉,每一次打翻新都解决了一些前一个版本解决不了的问题。所以这次从2.0到3.0的变化主要有:

    1:库组件的结合不够紧密
    2:没把OOP和GP结合好
    3:最重要的,用起来没C#爽

    库在好用的基础上还要写起来爽。爽有两个方面,第一个是无论你做什么都发现已经完成了,第二个是库里面的东西都在IDE的自动补全里面显示出来了你不用去查额外的东西。当然第一个要达到是基本不可能的,但是这么多年写代码的经验也知道经常需要重复做的东西是什么。第二个就需要慢慢规划了,什么东西可以放进类,什么东西不行。所以3.0的结构如下:

    库主要面对的有容器、流、字符串和自动以数据结构(包括XML等,主要是树)。为了让他们之间可以互相转换,譬如字符串到容器啦,字符串到数据结构再到流等等(譬如把一个程序分析称语法树之后保存下来),需要有15种操作:
源\目标 Collection String Stream XML/Tree
Collection LinQ Formatter Serialization Combinator
String Regex LinQ Writer Combinator
Stream Deserialization Reader Stream Serialization
XML/Tree TreQ Formatter Deserialization

    所以我们可以知道VL++3.0需要实现的组件有:
    1:Collection
    2:String
    3:Stream
    4:XML
    5:LinQ
    6:Formatter
    7:Serialization
    8:Combinator
    9:Regex
    10:Writer
    11:Deserialization
    12:TreQ

    至于什么是LinQ我相信大家肯定很明白了。国庆前已经在C++上实现Collection、Stream、String和LinQ了。TreQ是我自己想出来的想模仿LinQ的方法,但是专门处理树形结构而不是顺序结构的。

    上面就是VL++3.0的主要内容了,做完之后就可以用它来实现一个专门开发编译器的类库和工具集了
posted on 2009-10-09 07:17 陈梓瀚(vczh) 阅读(3411) 评论(11)  编辑 收藏 引用 所属分类: C++

评论:
# re: 回来了(VL++3.0计划) 2009-10-09 07:51 | heixia108
沙发~  回复  更多评论
  
# re: 回来了(VL++3.0计划)[未登录] 2009-10-09 11:26 | foxriver
夜半三更来顶贴。  回复  更多评论
  
# re: 回来了(VL++3.0计划) 2009-10-09 18:35 | wuyun
厉害啊。不过一个人力量始终是太小,希望有人可以帮你。  回复  更多评论
  
# re: 回来了(VL++3.0计划) 2009-10-09 19:10 | 远古毛利人
博主可否写一篇你的VL入门的介绍文章?好让大家都有机会用用,也许可以一起改进哦。我想多收集一点国人的开源库介绍文章放到我的网站的。  回复  更多评论
  
# re: 回来了(VL++3.0计划)[未登录] 2009-10-09 21:02 | koobin
同一楼上的说法@远古毛利人
  回复  更多评论
  
# re: 回来了(VL++3.0计划) 2009-10-09 21:46 | 老纪博客
这样很好,对外接口封装的越简单越好  回复  更多评论
  
# re: 回来了(VL++3.0计划) 2009-10-10 00:16 | 空明流转
这档子事情基本上老陈同志是不需要人帮忙的。。。@wuyun

  回复  更多评论
  
# re: 回来了(VL++3.0计划) 2009-10-10 02:55 | ouyang
打酱油路过顺便问一下,您前面封装的界面库准备怎么处理?  回复  更多评论
  
# re: 回来了(VL++3.0计划) 2009-10-10 04:16 | 陈梓瀚(vczh)
@ouyang
你说的是很久以前那个Win32API的东西么,我有空的时候再把它改成可以在3.0上跑。暂时不管它。  回复  更多评论
  
# re: 回来了(VL++3.0计划) 2009-10-21 19:15 | SOS
我是来支持的。  回复  更多评论
  
# re: 回来了(VL++3.0计划) 2009-12-29 01:59 | 飞鸽传书
好强大的东西。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理