sucksis的个人博客分享 http://blog.sciencenet.cn/u/sucksis

博文

我开发了一门新脚本语言的编译器(解释器),但接下来我还得写论文

已有 649 次阅读 2020-9-19 14:45 |系统分类:科研笔记

   早在十几年前,我经常使用Python,但那时几乎没听说哪一门编程语言是中国人开发的。某一天我突然觉得自己其实也可以开发一款类似的脚本语言,夜里睡觉时在设想如果我开发成功,就应该命名为龙语言,正好对应python(蟒蛇),也刚好顺应我们中国人的图腾。

   说干就干,可惜遇到了处理多项式表达式的问题,感觉有点吃力。虽然知道可以使用二叉树算法,但是要是从头弄个二叉树,就太花时间了。我那时还在读学位,于是只好放弃了。这一放就是十年。

  特朗普当选美国总统以来,又要发动贸易战,又要禁止中兴、华为的产品,这时人们突然发现我国常用的很多IT技术是依赖于美国的,一旦被卡,后果严重。尽管已被我国网友广泛应用的Python等技术表面上是开源的,似乎谁都可以免费使用,但是你别忘了这些代码是存放在别国服务器上的。伟大的Guido(Python之父)同志目前也是供职于Google公司。去年人们在愤慨我国各种IT公司以996压榨程序员时,Guido曾声援过,说如果哪家中国公司还在实施996,我就要限制其使用Python。当然Guido同志不是恶意的,但是Guido的这种权利一旦掌握在特朗普手里,对我国有可能会带来很大的影响。毫无疑问,美国的服务器是可以限制来自中国的IP访问的。据说伊朗国内就无法访问github。可见,只有把IT技术放在我国自己的服务器上,才不会受到他国随心所欲的危胁。

  今年二月的某一天,看网友天天吹捧google的新进编程语言Go,试了试,感觉很不错。突然心血来潮,觉得如果我用Go开发一个新编程语言的解释器,那应该会节省掉大量需要从头实现起来的数据结构,比如字典(映射)、动态数组之类的材料,并且Go是编译型语言,还具有垃圾回收功能,又可以直接调用C语言动态链接库。它是开发脚本语言解释器的绝佳工具。于是,我开始动手尝试,很快几个小时解决了list、tuple、map和通用对象的结构,解决多项式大概用了一两天,再解决函数调用问题用了两三天。原本以为几个小时能够解决的问题,但最终用了一个星期才解决了。

  过了半年,我突然又心血来潮,想把二月份时的工作接着往下干,一干就是三个星期。我的生活彻底乱了,有时早上5点起来干,有时中午干。夜里只要有一个问题还没解决,脑子里就会一直思考,根本无法入睡。有三四个晚上11点开睡,觉得睡不着后,立马起来干,等到问题解决了,已至凌晨三四点钟,再睡觉方能踏实安稳。我身体之前其实并不好,常有严重失眠,年龄也不小了,以后决不能这样干了。

  经过不断地打磨,差不多经过了这三个星期,我的解释器开发得差不多了。上传到了开源网站上(下载方法是运行:git clone https://gitee.com/dragon-language/dragon-language-interpreter.git)。开发一门新语言,没人关注,我也懒得宣传。目前还没有专用的编辑器等开发工具,...,任重道远啊!

  有人会说,你用Go开发,还是没有自主技术。我就反问一句,如果没有自主技术,那我还天天通宵达旦地思考技术问题干啥,直接调用Go的库函数不是一下子就解决了吗?几个月前,木兰语言开发者声称是自主开发了编译器,结果被网友攻击是套壳软件,后果很严重。但实际上该开发者只是宣传上有些夸张了,至少应该等到产品成熟后再宣传才合适。基于Go语言开发的确还是有可能被google的控制所影响。但是一旦我的解释器运行成熟,那时再翻译为C++或C语代码,都不是难事了。

  我其实不是一名专门学计算机的人员,也不靠写代码挣钱。我也挣不到钱,不擅长社会活动,能挣钱的业务都让公司的小伙子们抢完了。找我的人都是忽悠我的,让我帮他们解决一些涉及学术领域的技术产品,但最终都不了了之。我只是一名非常普通的科研人员,在中国的科研界默默无闻,主要原因是发表的论文数量不多,但也不少了,只是档次不够一流。要是有一两篇Nature或者领域顶尖期刊论文,我在申请科研基金方面也不会如此艰难。多少年来申请国家基金都是失败的,今年基金评审的反馈信中,五个评委都认为创新性方面还行,只是可行性方面提了些意见(这些意见我认为其实是属于相关研究方向里的内容,不是应该在当前研究深入涉及的。这属于不熟悉本方向的评委的个人理解)。多少年来,我把较多时间投在了与领域相关的编程技术方面,开发了不少基础性的模型和算法。

  我也发表过一些SCI,也喜欢写论文,但是总觉得不如写算法和模型那样得心应手。我认为软件产品其实比SCI论文更有价值。比如借用某某模型做的模拟结果是可以发表一篇SCI论文,但模型本身就很难被承认是“科研成果”。我国学者所用的模型绝大多数是国外机构发布的。我国学者不是不会开发,而是你开发了也是白开发,无法实现长期积累,也不能算作科研成果,最终坚持不了,成不了气候。

  虽然国家号召应该取消"唯SCI"倾向,但是没有给出除了SCI还有什么解决方案,本质上依然脱离不了唯论文倾向。没有SCI论文,我国照样发展高铁、芯片、发动机、大飞机、互联网。我写的众多软件产品,至多就是能申请个著作权(这是唯一能够证明它是个科研成果的盖章材料,鸡肋),发布到网上,也没人关注它究竟有什么用,人们懒得下载使用。我的梦想是,软件开发能够被当作像论文一样来对待,提供一个好的发布平台,并且经过评审后给出一个类似于SCI引用的东西,并被学界来承认它是“科研成果”。那些发表过高档次论文的学者们能够迅速成了大牛,拥有较高的社会地位,而我这种把大量时间用来写程序的人永远也拿不到经费支持,默默无闻,在所在部门都被当成是无关紧要的人员。似乎我是在一直绞尽脑汁地白干。可是,我就是不服,发表论文的真正价值到底在哪里?大多数论文就是被一些学者读一读,比如那些预测新冠流行病传染趋势的论文,那些预测本世纪末海平面上升多高的论文,多发少发其实都无关紧要。能比积累软件代码还重要?

  我的经验是,无论怎样写论文,也无法与写代码的精力集中程度相比较,至少不会一旦开干就会通宵达旦、挤凑时间。写论文过程最费时的其实是阅读和码字,而不是做实验和计算本身。

  希望我将来还是要以写论文为主要目标,不要搞那些绞尽脑汁的算法或软件了,别人会把这些当垃圾的。



http://blog.sciencenet.cn/blog-758188-1251256.html

上一篇:我的GridViewer软件可为地学数据处理工作提供帮助

1 王振亭

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2020-10-31 16:27

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部