69书吧

手机浏览器扫描二维码访问

第32章 长夜漫漫(第1页)

而这么长的时间里面,叶新晨也是在解决上面这个BUG的尝试中,才发觉TCL这种语言先天不足。

因为一旦程序逻辑复杂,它那变量无需声明、变量无类型等等对初学者来说不可多得的“优点”

就成了致命缺陷。

这会让人不得不付出比CC++之类“正规语言”

多得多的努力去跟踪去区分数据类型。

而且为了避免错误,叶新晨也不得不把数据类型也“打包”

进数据,然后在程序入口写代码分辨它——尤其是,这些数据类型还是动态的,是从输入数据识别出来的;不结合输入谁都不知道某个数据在某个时刻会是什么。

这使得代码几乎无法静态分析;而测试用例很难覆盖每一条执行路线——不要忘了,这个程序“吃”

进去的数据是多变的,几乎不可能列出所有情况。

这使得叶新晨又产生了一个想法。

那就是,要给它增加一些功能,把专业语言的coredump、变量先声明后使用等等功能搞出来,使得出现类似高危行为时可以得到提醒甚至直接对相关不良行为报错。

当然,叶新晨是没有这么自觉的,只是叶新晨跟他们说了,他们立刻就私发了一个六万的悬赏让叶新晨帮忙!

原本叶新晨是不愿意的,因为那七天已经够累的了,晚上都熬到凌晨三四点,每天就睡三四个小时,这让叶新晨深刻的明白为什么程序员容易头秃了。

虽然叶新晨不愿意,但是奈何对面又把这个六万的悬赏又加了四万……

嗯,叶新晨觉得这个功能也不是那么难,熬夜那就熬夜呗……

所以叶新晨也是立刻就进入状态了,TCL号称一切都是字符串,这甚至可以把系统库函数运算符关键字都给rename掉,然后自己写一个替代品。

这给了它的用户极大的自由度。

比如iTCL就是用命名空间模拟的面向对象语法——这种语言仍然是面向过程的;但你可以自己定义一个class关键字(实质上是一个过程),把它变得和一个真正的面向对象语言几乎一模一样。

叶新晨首先盯上的是它的过程函数声明关键字proc。

在这种语言里,你声明一个函数fun,格式就是

procfun(arg){

#body

}

它看似一个关键字;但TCL里一切都是字符串,因此这个proc实质上是个函数,它接受函数名、参数列表、函数体三个参数……

叶新晨也是把系统的proc改名叫_sys_proc,自己写了个proc;这样当用户声明一个函数过程时,他的声明将以字符串格式先传给他。

这样子的话叶新晨就可以做一些修改,把一些逻辑插进用户编写的代码中,然后再把修改后的代码传给_sys_proc。

通过这种方式,叶新晨就接管了TCL的一切;然后修改了它的异常返回流程,识别出“用户未捕捉的异常”

本月排行榜
热门小说推荐
通缉神秘小逃妻

通缉神秘小逃妻

为了保命,她误闯他的房间,他云淡风轻的将她看光光,而后顺手牵贼向逼婚的众人宣告她是他的未婚妻。两个立场完全不同的人就此纠缠,棋逢对手她先输了心,他却步步紧逼!她如小鹿一样被他追的东躲西逃,他掐着她的脖子将她揽入怀中,女人,你是我的宠儿,还想哪里逃?...

极品妖孽公子

极品妖孽公子

穿越古代,考试落榜,又遭侮辱退婚,在秦易人生最灰暗的时候,偶然间得到了邪恶系统,自此命运发生了巨大转折。透视眼,隐身术,一切都不是问题。会武术,会赚钱,我就是全能。玩转古代,横扫一切,纵横美女之间!秦易的人生格言是,做我的女人,让你感受飞一样的人生。...

索爱贪欢:新婚老公初体验

索爱贪欢:新婚老公初体验

为什么当初不逼我堕胎?对你这种贱人,流产简直太仁慈!我拖着流血不止的身子趴在地上,看着我挚爱的老公为了另一个女人,活生生掐死我的孩子!结婚一年,除了孩子冷冰冰的尸体,我一无所有。遭受疯狂凌辱的那晚,我咬牙发誓,再也不会为任何人怀孕生子!直到有一天,新婚老公红着眼睛将我压在床上,要我给他的孩子偿命...

从氪金开始砍翻世界

从氪金开始砍翻世界

我!氪金狂魔,不服来战!...

爆笑宠婚:名门萌妻

爆笑宠婚:名门萌妻

你喜欢我老公?一千万卖给你了。火大的金贝贝,将滥情老公高价卖给小三,丢一纸离婚协议,潇洒回国。BOSS,夫人开价一千万,将你卖给约瑟小姐!韩墨,横跨黑白两道的商业撒旦,俊美非凡桀骜不羁。打死也不信有一天他会真的爱上一个女人,而这女人还将他廉价出售?BOSS,找到夫人了,她明天结婚。韩墨掀桌,备专机,带家伙,杀新郎,抢新娘!...

女神的特种保镖

女神的特种保镖

农村出来的青年当上女神的贴身保镖。谁说小人物翻不起大浪花。且看保镖林重纵横花花都市。...

每日热搜小说推荐