扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
一、闹得沸沸扬扬的汉语编程
二、汉语编程其实是一个大骗局
三.汇编都是英文的,其他变成汉语有什么用
四、其实汉语编程很好创造出来,但是却没什么用
五、中国人编程难的问题和出路在那里
一、闹得沸沸扬扬的汉语编程
这几年以来,特别是最近一段时间,汉语编程闹得沸沸扬扬,大有我中华民族之骄傲,如果不加紧实行汉语编程,中华民族就要消失了。徽剑本对于汉语编程不以为然,一直没有理会。之所以写这篇文章,是因为徽剑前几天接到一电话,是北京一家公司打过来的,大谈推广汉语编程,要跟徽剑的公司合作在深圳推广,于是徽剑查了一下资料,发现这两年所谓的汉语编程这场闹剧居然愈演愈烈,于是徽剑不得不出来揭露下。对比去年的汉芯事件,徽剑认为,所谓的汉语编程只不过是另一场汉芯的重演而已。所以看完本文,特别是程序员朋友,如果您认为徽剑说的有理,请将本文多多转发到各种论坛,揭露这场骗局。
先来看新闻,2007年09月《通信产业报》以“汉语编程异军突起民族产业出黑马”为题发表了一篇文章。开头是这样:
“当今世界,科技突飞猛进。网络改变了人们的生活和思维,成为人们学习和工作不可或缺的一部分。人们点击鼠标进行学习、工作和接收外界信息的时候,计算机程序设计语言在其中起到了至关重要的作用。很多年来,我们一直在使用国外的编程语言,人们已经习惯了用C语言、JAVA等计算机语言编写应用程序,实现人与计算机的完美对话。但是朋友您知道吗,真正属于我们自己的计算机程序设计语言——汉语编程已经问世,而且已经在诸多领域发挥了重要的作用。”
然后文章介绍了汉语编程:
“汉语编程萌发于1984年,1994年获得国家发明专利。汉语程序设计语言,不是对计算机语言的简单汉化,也不是为某种软件制造一个中文环境,而是中国人自已掌握全部源代码,使用汉字信息指令,从计算机底层入手,使计算机的中央处理器(CPU)能够处理存储器中的汉字词典,从而实现计算机对汉字程序的识别,不受现行操作系统控制的技术系统,且完全拥有独立的自主知识产权。”(呵呵,这段话里面的问题就先不说了)
在文章的末尾,还上升到了民族大义的高度:
“我们曾经因为闭关锁国错过了工业革命的巨轮,也曾忙于阶级斗争,而错过战后新技术发展的浪潮。如今,我们有了完全自主知识产权的计算机语言,其核心技术无可挑剔,且优势日益明显,我们不能再错过最好的发展时机。汉语编程是民族的,是国家的,中国这个有着5000年深远文化的泱泱大国,理应把它好好利用起来,发展和振兴我国民族产业,为中国人民所熟知和使用。”
徽剑在收集到的另外的资料还有这样报道:
“近日,用汉语编程实现的数据库开发环境将通过江苏省科技厅的验收。按照进程,汉语程序设计语言数据库开发环境项目完成后一年,项目承担方——南京汉语编程有限公司将以汉语编程数据库教育版为推广重点并进行其他工程开发。项目完成后两年,汉语编程数据库标准版将以OEM方式与国内PC制造商捆绑销售。项目完成后三年,将推出汉语编程数据库企业版参与政府、企业、部队信息化建设,部分替代进口产品。江苏省科技厅将对该项目投资三百万元。同样看好汉语编程的还有重庆市科委,他们的预期投资是上千万。汉语编程作为重大科技发明发现正在申请重庆市的国家级项目。重庆药监局正在应用汉语编程开发的数据库实现对所有下属药店的监管。目前这个项目完成了大部分,6月底将最后完工。”
当然徽剑在报道中也找到了不同的声音:“从2001到2002的两年间,北京市科委对汉语编程项目进行了5次评审。评审的结果是,超过50%的专家并不认可汉语编程的可行性,元易达没有能在北京市科委立项。元易达于是坚持“农村包围城市”的市场开发路线。当年对北京元易达公司进行评审的时候,原中国科学院计算机软件研究所研究院员仲萃豪这样评价,“用汉语编程语言开发数据库,这条路是相当艰巨的。汉语编程现在还只是一个小玩意。”
看完这些,有人会问,到底这个汉语编程是怎么回事?到底有多大价值?对未来的发展有如何贡献?那么好,下面就来分析。
二、汉语编程其实是一个大骗局
我们知道一个骗局“汉芯事件”, 2003年2月,在摩托罗拉公司做测试的工程师陈进,将一片从美国买来的MOTO-free scale 56800芯片,雇请民工磨掉原有标志,然后加上自己的“标识”,变成了所谓“完全拥有自主知识产权”的“汉芯一号”,申请了多项专利,并借此当上了上海交大微电子学院院长、博导以及“长江学者”。
汉芯事件一大特点就是拿一块别人的芯片,简单修改一下,然后包装成自己的成果。这种如果是商业上,只要不侵犯别人权益也就无可厚非。但是作为科技开发就不同,讲究的是原创和事实。我们来对比下汉芯和汉语编程,我们会发现他们有惊人的易曲同工之妙。
报道这样说:“汉语程序语言是在1993年由北京百乐航天应用技术公司汉语工控部的沈志斌发布的,最初为PC1.0版,是一个16位版本,只能在MS-DOS环境下运行。2000年,沈志斌组建了北京元易达公司,专门从事汉语编程的产品开发。经过近十年的发展,汉语程序语言目前最新的版本为2.03,能够在WINDOWS9X/NT环境下运行。”
一开始的时候,徽剑也没明白这到底是什么语言,还以为这真是汉语编程的原创,只是觉得有些别扭,一来是觉得“汉语编程”的软件经过这么多年的发展,版本一直不变,是否让人难以理解?而且其开发界面极其难看,用反汇编软件居然发现汉编编译器主程序文件居然使用的是微软的VC运行库,这里让人极其不解,既然汉语编程都到了可以汉语汇编的程度,为什么编译器还要用VC来开发?
最近在铁血社区看到一篇文章,才完全证实了徽剑的猜测。
从词典看某“汉语编程”与Forth语言http://bbs.tiexue.net/post_2304429_1.html
看完了文章上面的图片对比,相信只要有编程基础的人士都可以明白,这完全是彻头彻尾的剽窃。一个把开源代码复制过来,加以简单修改,然后包装成自己的原创。
这里很抱歉一开始的时候,徽剑对于这种叫Forth语言确实孤陋寡闻,徽剑正想自己动手比较的时候,有一位网友做了好事,先比较了下:
原帖链接(http://www.xycq.net/forum/thread-152078-1-1.html),作者来个分析:
“汉语编程目前能够下载到的版本为2.03.1920,由于只使用一个版本的汉语编程,后面的描述中就省掉版本了。在铁血网中的帖子有一个简单的比较,用的是一个叫win32forth的forth实现,在其主页Download's中可以得到两个不同的版本,一个是4.2build671,另一个是6.12.00是目前最新的稳定版。在铁血帖中提到过wincon.dll这个文件,我也是从这个文件入手的。”
于是该网友用VC6中的Depends查看三了个wincon.dll的结果。发现入口非常相似,也就是有可能是差不多的文件。于是该网友考虑了将三个DLL进行互换。
“将三个dll文件复制到一起,先将三个文件复制到win32forth4.2中,分别使用三个dll后启动WIN32FOR.EXE的结果发现“汉语编程的wincon.dll文件能够被win32forth4.2正常使用,而且读出来的数值与汉语编程环境下一致,都是10895。由于接口改变,4.2和汉语编程的wincon.dll都不能在6.12中使用了。而win32forth4.2版与6.12版的wincon.dll文件都能够在汉语编程环境下使用,而且读出的值都与原环境下一致。综上情况,汉语编程与win32forth在wincon.dll文件上保持了相当好的兼容性,如果说二者一点关系都没有,形成这种结果的几率不知道能有多大。”
更为搞笑的是,当该网友试着将汉语编程程序和win32forth4.2目录下的这个同名文件WINCON.DLL删除时居然发现汉语编程与4.2的提示基本一致(徽剑测试时除了标题的两个字母大小写不同外其他一致)。该网友不禁问:“这也是巧合吗?一个号称汉语的居然冒出一句英文的提示而且还跟别人的如此相似,而且是"Missing procedures!"这种计算机程序中少见的用词以及少见的标题栏中用标点。”
“将汉语编程的win32chp.dll文件复制到win32forth4.2文件夹下并命名为win32for.img,当然之前要备份好原来的win32for.img文件;将汉语编程的ckernel.ovl复制到win32forth4.2文件夹下。然后找一个16进制编辑器,打开win32for.img文件,从偏移4(也就是第5个字节)开始,连续4个字节修改为D5 11 92 01,保存。双击win32for.exe,”
徽剑看到的是居然看到的是带着win32forth 4.2图标的汉语编程。
最后该网友总结到:“说到底,汉语编程应该是这么来的,由于win32forth的源码是公开的,汉语编程利用其源代码将win32forth字样抹去,并且修改了识别词库文件的标志(将win32forth的D5 11 92 01修改为DA B7 6E EF),编译出可执行程序。然后又根据需要,汉化及添加、修改了词库形成了现在用汉字和一堆全角符号编程的汉语编程语言。可以说汉语编程为了掩盖其与win32forth的关系,将符号修改的很彻底,也不管那一堆全角符号用起来多么古怪。”
“如果继续研究下去,我想还会掌握更多的证据,甚至有希望根据wincon.dll和winapi词数找到汉语编程使用的那个版本的win32forth,不过目前我觉得这些证据已经足够了,已经不需要再浪费时间了。”
最后作者得出结论:
“其实汉语编程就是win32forth的一个修改版,实现的功能基本上都是win32forth实现的。把这个东西吹嘘为民族的希望,汉语编程需要带的ckernel.ovl和win32forth 4.2需要带的kernel.bin文件都是词库(其实就是编译过一次的字节码)的要求,比如要是用汉语编程的编辑器winedit.dll替换成win32for.img的话就不需要带ckernel.ovl了。注意观察一下汉语编程的各个程序,都是由同名的一个exe文件和一个dll文件组成的,那个dll文件并不是真正的win32格式的dll文件,而是与win32forth 4.2的img仅差一个标志的一种格式;而那个exe文件其实都是可以互换使用的.
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者