2007年5月23日星期三

YC++

YC++编译器、网页浏览器
下载地址:
http://www.nila.com.cn/yczip.zip

YC,全称是Yang C/C++ Compiler & Internet Browser,也叫YC编译型浏览器,是面向对象和构件的软件开发系统。它具有一种独创的将动、静态编程语言与Web页面相结合的软件开发模式,这种模式,可大幅度提高软件的开发效率及源代码复用率,可大幅度降低软件结构的复杂度,可增加源程序的可读性,从而使软件比较容易维护。
在YC上执行的程序,可在运行中自动且实时地编译、执行、释放C/C++源程序模块;能动态地调入或释放各种二进制功能模块,如控件。做到代码即调即用,节省内存。
使用YC可以开发各种应用软件,例如,图形图像软件、财务管理软件、通信软件、网页生成软件、中间件软件、数据库软件等等,总之几乎所有的软件,YC都能开发。YC不但比其它工具容易使用,而且还具有许多其它工具所没有的重要功能。
YC不仅是软件生产线,还是软件组装线。它可以把任何人开发的程序"零部件",包括COM代码部件、DLL代码部件、C/C++源程序部件等,组装成任何软件。组装调试极其方便,因为软件的各部分可以互不干扰地独立地而又不失联系地运行,而bug定位又非常容易。
YC还具有Internet网页浏览功能,有望将来替代目前流行的IE浏览器。如果用YC把各种应用软件嵌入在Web页面中,那么,用户只要点击链接地址,立刻就可以执行存放于世界各地的服务器中的任何软件,并可以实时地与服务器进行交互通信,而服务器可以通过一定的方式控制用户如何使用其软件。


YC 的组成:
1.HTML解析器
2.XML解析器(目前完成一部分)
3.javascript脚本解释器,C/C++脚本解释器
4.C/C++编译器
5.文本及二进制编辑器。


YC 的特点:
1.提供了将 C/C++ 源代码优化地转换为任何8位、16位、32位、64位CPU机器码的接口。
2.扩展了关键字auto。只需声明,便可完全像调用普通函数一样地调用动态库中的函数。
3.在执行文件中自动嵌入YC编译器,可实时地执行C/C++源代码,使最终用户无需经过开发商就能任意改进产品。
4.使HTML支持脚本化的标准C/C++语言。
5.使javascript能调用C/C++源代码或DLL库中的函数。
6.使C/C++能调用javascript语句。
7.使在web页面中可嵌入任意多个用C/C++编写的窗口,且这些窗口可与web页面进行交互操作。
8.能直接将源代码优化地转换为可在YC虚拟机中执行的字节码,实现与平台无关编程。
9.很容易扩展C/C++新语法。
10.使C/C++及javascript语言支持中文变量名和中文函数名。
11.使javascript支持goto语句。
12.生成的执行文件具有病毒免疫力。
13.编译器体积小,编译速度快。
14.增加执行C/C++函数的HTML标记<%func()%>。在C/C++函数中执行printf后的输出文本可自动插入到HTML中。
15.用户以前编写的C/C++程序,稍加修改便可嵌入到web页面中。
16.自动检测堆栈是否溢出,资源是否泄漏。
17.可先用HTML、javascript及DOM实现软件界面(包括主窗口、工具条和对话框等)的布局和表现,再用C/C++实现界面的程序逻辑。


YC把C/C++编译器嵌入到HTML解析器中,使网页支持C/C++语言。从而可以通过使网页,C/C++静态语言和javascript动态语言相结合的方式来开发各种应用软件。
YC也可以按传统的编程方法将源程序编译生成执行代码。

YC++编译器、网页浏览器
下载地址:
http://www.nila.com.cn/yczip.zip

中国人的浏览器内核?

 
我们的这位主人公名叫杨晓兵,毕业于南京理工大学、中科院研究生院、中科院电子所,现任北京尼拉视频科技有限责任公司总经理。可能很多人都并没有听说过这家公司,包括我之前也没并不知道,其实他们是专业研究广播电视设备开发、生产、销售的企业。

记者:您的公司是做视频应用软件的,为什么会转而开发C/C++编译器和网页浏览器内核这两个产品呢?

开发视频软件的过程中发现国内应该有自己的基础软件,只有基础软件发展了才能提高整个软件产业的水平,国内正缺少好的基础软件,应用软件开发的再多也达不到一定的高度,只有基础软件发展了才能提高整个软件的水平。所以在继续做视频应用软件的同时主要由我来开发这两项产品。

记者:您的C/C++编译器和浏览器内核是你第一次完成的产品么?用了多长时间完成的呢?准备为它起一个什么样的名字?

不是,我曾参与完成国家重点八五攻关项目,独立开发了至今仍然畅销的图文制播系统和硬盘播出系统。六年前开始研发HTML解析器、Javascript解释器等,Internet浏览器内核,后来又开发了基本符合ANSI标准的C/C++编译器,该编译器既可以独立使用,又可以嵌入到HTML解析器,还可以和HTML解析器一起嵌入到IE浏览器。暂时命名为YC++。

记者:您的软件开发生涯分了哪几个部分?哪一部分的成长经历是最让您难忘或者受益最大的?哪一个部分又是让你最有成就感的?

大体有三部分:第一阶段:在DOS下开发各种产品,包括图文制播、YCDOS;第二阶段:在Windows下开发图文制播系统和气象软件等;第三阶段:开发c++编译器网页浏览器内核。 受益最大从技术上来说第三阶段最大,经济上第二阶段最大,第三阶段最有成就感。因为这个产品填补了国内空白,在国际上也属于领先水平。

记者:你进行自主开发产品的初衷是什么?你的经历对你完成的这个产品有怎样的影响?您成长的环境对这个产品又有怎样的影响呢?


当浏览器刚刚出现在市场上,我就想开发这个产品,直到2000年我才开始做这个产品。在开发过程中发现浏览器内核用于一般软件的开发将会非常方便,于是我又开发了C/C++编译器使它嵌入到浏览器内核之中。使得这个产品成了一个软件生产装配线,使软件开发效率大大提高,略微懂得开发软件的人就可通过组装各种软件模块,可以生产大规模的复杂软件。

由于一开始做了多年的硬件研发,这些经验使我对计算机系统非常了解,对软件发很有好处,我所处的环境,一开始和很多科研人员一起合作,后来独自一人开发,这六年生活在比较幸福的环境里,开发没有什么后顾之忧,才能很顺利地完成。

记者:您的产品最主要的功能和最大的特点是什么?

YC 的特点:
1、提供了将 C/C++ 源代码优化地转换为任何8位、16位、32位、64位CPU机器码的接口。
2、扩展了关键字Auto。只需声明,便可完全像调用普通函数一样地调用动态库中的函数。
3、在执行文件中自动嵌入YC编译器,可实时地执行C/C++源代码,使最终用户无需经过开发商就能任意改进产品。
4、使HTML支持脚本化的标准C/C++语言。
5、使Javascript能调用C/C++源代码或DLL库中的函数。
6、使C/C++能调用Javascript语句。
7、使在Web页面中可嵌入任意多个用C/C++编写的窗口,且这些窗口可与Web页面进行交互操作。
8、能直接将源代码优化地转换为可在YC虚拟机中执行的字节码,实现与平台无关编程。
9、很容易扩展C/C++新语法。
10、使C/C++及Javascript语言支持中文变量名和中文函数名。
11、使Javascript支持goto语句。
12、生成的执行文件具有病毒免疫力。
13、编译器体积小,编译速度快。
14、增加执行C/C++函数的HTML标记<%func()%>。在C/C++函数中执行printf后的输出文本可自动插入到HTML中。
15、用户以前编写的C/C++程序,稍加修改便可嵌入到Web页面中。
16、自动检测堆栈是否溢出,资源是否泄漏。
17、可先用HTML、Javascript及DOM实现软件界面(包括主窗口、工具条和对话框等)的布局和表现,再用C/C++实现界面的程序逻辑。
18、可做与平台无关的软件界面。

记者:国内有像Maxhon、Gosurf这一类的IE外壳浏览器,那么您为什么会想到做浏览器的内核?

外壳和内核不一样,中国还没有浏览器内核所以我要做。外壳谁都可以做,难度不大,但是内核是基础,难度相当大。我们的产品可以比现有的内核做得更好、更有特色,满足更多的需要。

记者:和国外的Windows下IE的内核Trident、Firefox的内核Gecko、Opera的内核Presto等这些知名产品比起来,您认为您的浏览器内核的优势在哪里?

在基本上兼容他们的情况下,增加了软件开发功能和运行环境,将来还可以方便扩展。

记者:平时除了写程序之外还有怎样的爱好?这些爱好对你在软件方面的造诣有何影响?

爬山、旅游、看专业书,这些爱好可以使我放松,头脑一直处于清醒状态, 避免大脑处于钻牛角尖的状态,做到劳逸结合。

记者:您对自己软件生涯的最大的理想是什么?现在是否已经启动?对这两个产品今后的发展有什么样的蓝图向我们描述?希望它能走到哪一步?在推广这个产品的过程中你想得到怎样的反馈呢?也就是您希望能从这两个产品身上得到什么。

成为世界级的软件专家,理想已经启动数年。使这个产品在中国普及,同时能推向国际市场,提高中国的软件开发水平。希望有广大软件爱好者共同参与。结交许多志同道合的朋友对中国的软件具有较大的贡献。

结束了这次采访,杨晓兵又很快的投入到了忙碌的开发工作中。其实国内有很多很多的有志之士,他们清楚的认识到了中国软件产业发展的现状和存在的诸多问题,比如国内软件企业总体规模太小;绝大多数的企业仍以从事定制项目和一般应用软件的开发为主;独立发展的竞争力很弱;没有良好的市场环境在夹缝中寻求发展,多数已沦为给国际性大企业输送人才和做小型外包项目的地方。

所以不断的有杨晓兵这样一批批的人站起来,希望发展中国自己的软件产业链,建立国产的基础软件环境,为中国的软件做出真正意义上的提高。我们祝愿视比尔盖茨和James Gosling为偶像的杨晓兵能带着他的产品走的更远,中国的软件产业也能走的更远、更清晰。
【撰文:马沛】

我博客访问来源的一些好玩之处

访客操作系统
操作系统名称 所占比例 - 总访问量
Windows XP 84.4% - 49
Win2000 5.1% - 3
Other OS 5.1% - 3
Linux 1.7% - 1
Windows 98 1.7% - 1
Windows Vista 1.7% - 1
Windows Server 2003 0% - 0
Unix 0% - 0
Windows 95 0% - 0
Windows 0% - 0

(注:看来xp还是主流啊,84%都是XP的;2000用的人还算不少,不过和XP比还是不行;other OS不知道是不是MacOS,再其它的觉得不太可能吧;还有vista,这个还可以理解,不过显然不如XP,不在一个等级上嘛;最让我觉得惊奇的是,居然有win98,这也太不可思议了吧,都啥年代了,还有人用98,倒啊,狂倒啊!!!)
浏览器分布
浏览器名称 所占比例--总访问量
MSIE 6.0 53.5% - 30
firefox 23.2% - 13
MSIE 7.0 17.8% - 10
MYIE(Maxthon) 5.3% - 3
Other Explorers 0% -
为什么不列其他浏览器啊,比如说我用的是Greenbrowser,为什么不列啊,就说是IE核心吧,那Maxthon怎么就单列出来了?

2007年5月22日星期二

哲学博士遇绑匪

事情发生在5月9日下午,我将自己的车停在路边绿化带旁,和女友坐在车里聊天,突然有个男子拉开车门坐进来。 

"干什么?"我问。 

"没看出来吗?绑架,把钱和手机掏出来。"男子掏出一把刀,抵在我胸前,恶狠狠地说。 

"真没看出来。从法律意义上说,绑架是指利用被绑架人的近亲或者其他人,对被绑架人安危的忧虑,以勒索财物,或满足其他不法要求为目的,使用暴力、胁迫或者麻醉方法劫持,或以实力控制他人的行为。当场叫人家把财物拿出来,这不叫绑架,叫抢劫。" 

男子一愣,随即说:"成,就按你说的办。打电话给你家里人或朋友,叫他们送10万元来。" 

"你这话就不对了,对被绑架人安危忧虑的人,并不能和家人朋友画等号,有些家人视同陌路,有些朋友背后捅刀,打电话去不是白打了吗?" 

"那……对你安危最忧虑的人是?"绑架(我想现在可以称他为绑匪了)问。 

"这还用说,当然是我女朋友。"我指指身边的女友。 

"你拿10万元来赎他。"绑匪把刀在我女友脸前晃了晃。 

"他不是也被你绑架了吗?哪里去拿10万元呀?" 

"对啊,"绑匪不好意思挠挠头皮,对我女友说,"那你给肯为你出钱的人打电话。" 

"那个人就是我呀。"我说。 

绑匪看看我,又看看我女友:"那怎么办啊?" 

"好办啊,如果我女朋友在别处,就有个对我安危忧虑的人可以给你筹那10万元。"我指点他。 

绑匪沉吟半晌,对我女友说:"好,你走。记住,不准报警。" 

等女友进入安全地带,我哈哈大笑起来:"哈哈,你真傻啊。" 

"傻?她敢报警,我就要你的命,反正老子豁出去了。" 

"不是啊,我是笑你为什么有20万元不赚,只要10万元呢。" 

"嗯?" 

"你想想,让我女友去拿我的10万元赎金,加起来就有20万元了。" 

绑匪恍然大悟,一拍大腿:"哎呀,妈呀,对呀,我昨就没想到呢。大哥,你对我太好了。我绑架你,你咋还好心给我出主意呢?" 

"这年头,挣点钱,大家都不容易啊。" 

绑匪热泪盈眶,要握我的手,突然缩回去:"不对,你们都走了,我绑架谁去?" 

"我们不是已经被你绑架了吗?" 

"是啊,但是……" 

"别但是了,这里不还有辆车吗?光这车也不止20万元呀。" 

"大哥,你可别忽悠我,车这玩意儿我不懂,真值那么多钱?" 

"这车刚买的,发票在身上呢。"我把发票递给他看。 

"妈呀,25.5万元,大哥,你真够诚实。你就放心去吧,我在这里等你,保证不把你的车开走,咱们不见不散。" 

"好,不见不散。" 

一个小时后,我们在派出所再度相见。绑匪哭丧着脸:"大哥,早告诉我你是哲学博士呀。"