手机浏览器扫描二维码访问
而这么长的时间里面,叶新晨也是在解决上面这个BUG的尝试中,才发觉TCL这种语言先天不足。
因为一旦程序逻辑复杂,它那变量无需声明、变量无类型等等对初学者来说不可多得的“优点”
就成了致命缺陷。
这会让人不得不付出比CC++之类“正规语言”
多得多的努力去跟踪去区分数据类型。
而且为了避免错误,叶新晨也不得不把数据类型也“打包”
进数据,然后在程序入口写代码分辨它——尤其是,这些数据类型还是动态的,是从输入数据识别出来的;不结合输入谁都不知道某个数据在某个时刻会是什么。
这使得代码几乎无法静态分析;而测试用例很难覆盖每一条执行路线——不要忘了,这个程序“吃”
进去的数据是多变的,几乎不可能列出所有情况。
这使得叶新晨又产生了一个想法。
那就是,要给它增加一些功能,把专业语言的coredump、变量先声明后使用等等功能搞出来,使得出现类似高危行为时可以得到提醒甚至直接对相关不良行为报错。
当然,叶新晨是没有这么自觉的,只是叶新晨跟他们说了,他们立刻就私发了一个六万的悬赏让叶新晨帮忙!
原本叶新晨是不愿意的,因为那七天已经够累的了,晚上都熬到凌晨三四点,每天就睡三四个小时,这让叶新晨深刻的明白为什么程序员容易头秃了。
虽然叶新晨不愿意,但是奈何对面又把这个六万的悬赏又加了四万……
嗯,叶新晨觉得这个功能也不是那么难,熬夜那就熬夜呗……
所以叶新晨也是立刻就进入状态了,TCL号称一切都是字符串,这甚至可以把系统库函数运算符关键字都给rename掉,然后自己写一个替代品。
这给了它的用户极大的自由度。
比如iTCL就是用命名空间模拟的面向对象语法——这种语言仍然是面向过程的;但你可以自己定义一个class关键字(实质上是一个过程),把它变得和一个真正的面向对象语言几乎一模一样。
叶新晨首先盯上的是它的过程函数声明关键字proc。
在这种语言里,你声明一个函数fun,格式就是
procfun(arg){
#body
}
它看似一个关键字;但TCL里一切都是字符串,因此这个proc实质上是个函数,它接受函数名、参数列表、函数体三个参数……
叶新晨也是把系统的proc改名叫_sys_proc,自己写了个proc;这样当用户声明一个函数过程时,他的声明将以字符串格式先传给他。
这样子的话叶新晨就可以做一些修改,把一些逻辑插进用户编写的代码中,然后再把修改后的代码传给_sys_proc。
通过这种方式,叶新晨就接管了TCL的一切;然后修改了它的异常返回流程,识别出“用户未捕捉的异常”
请关闭浏览器阅读模式后查看本章节,否则将出现无法翻页或章节内容丢失等现象。
帝国大嫁军爷养妻成宝由作者秋如意创作全本作品该小说情节跌宕起伏扣人心弦是一本难得的情节与文笔俱佳的好书919言情小说免费提供帝国大嫁军爷养妻成宝全文无弹窗的纯文字在线阅读。...
在一个骑刃王世界,不同于原着,这是每人都拥有骑刃王的世界,年满岁便可召唤骑刃王。在国外,一座岛屿上,一辆通体黑色的骑刃王在正中央,四周满是骑刃王。然而…在这么危险的时刻,那辆黑色调骑刃王里的车手却不慌张。噬魂破!...
在不同世界里体现不同的人生,你希望下一个是那个世界?我的世界我做主,猪脚神马的无视掉。我想我不会特意去黑任何一个主角,他们既然作为主角,就会有他们的闪光点,不然也不会被别人接受,我只是想如果那些配角放弃他们的执着,是不是会有另一番天地?我的qq2327915471欢迎加我。公告今天收到通知,将在星期一(2013527)入v,到时会三更,希望大家多多支持!谢谢!...
凡人一枚,万界独尊,何也?主人公说我这间祖屋虽然破旧不堪,但却非常受欢迎啊。神魔妖仙鬼怪皇帝大侠凡人什么的每天都会来我这儿开会,没事儿收点场租费什么的吧。什么?没有钱?那武功秘籍有没有?丹药古董有没有?暖床丫鬟有没有?...
即将高考的学渣赵勇意外获得了邪恶透视系统,原本高度近视的他变得视力超群,不仅可以透视,还可以通过眼神直达别人的心灵,读懂人心!他从一个学渣靠着透视能力作弊成为了学霸,考进了著名的大学,并且逐渐走向了人生巅峰...
附本作品来自互联网本人不做任何负责内容版权归作者所有11第1章邵芊芊每天饭前必须要做的一件事,就是双手合十许愿自己的顶头上司郁希薇明天忙得不可开交没有空搭理自己。这个年龄上奔三心灵上永远十八的女人简直堪比一千只麻雀五百个巫婆,不,是一万只麻雀五千个巫婆,每次都要用一大堆的事情来蹂躏邵芊芊单薄的...