- 论坛徽章:
- 5
|
回复 52# OwnWaterloo
好,你说我加了很多东西,我贴原话!你应该满意了吧?
starwing83 发表于 2012-11-18 09:45 ![]()
特别的,在Lua这种连参数数目都不强制,连变量声明都不强制的语言里面,你去强制不允许载入某些模块,你不觉得很可笑么?
看清楚了?
很奇怪的事情是,1+1=2有什么好辩论的。你的观点无非就是“Lua做的不够多”,OK,我举例子说有人做了,你的观点就成了“Lua官方做的不够多”,然后你自己还引了一段话说明“官方就是不做”,你这样让我怎么办?是不是要我说“55555Lua你怎么这样啊,这简直就是上帝都救不了你啊!因为上帝不是Lua的作者啊!!他无权改变什么啊!!算了,我自己写个语言吧,就叫OWLua好了,我就是作者,我能做很多”,这样?
这是抱怨,对不对?不能解决任何问题,对不对?能解决问题的方案,我贴的还不够多么?甚至连Lua对模块的要求很低,只要返回导出函数的表即可,因此任何的模块系统的实现,都能兼容现在所有的模块。你还要我说什么?是不是还要说“可是官方不支持啊”。那你还要我怎么办?发明一个新语言?一个和Lua的区别仅仅是官方支持模块载入的新语言么?
问题是,这里面提到的,基本上100%都不是语言的问题,不是语言“做不到这个做不到那个”,而是说那种东西有先天的缺陷,语言做到这个本身是有问题的(如相对载入——那个相对的文件本身可能自己根本就不是文件);而有些是语言能做得到,但是不是标准的;最坏的情况是你得自己做;还有什么是做不到的?
哦,Repl然后dump state这个估计有困难,但是依然做得到,有个模块叫Pluto——当然不是官方的!我想问问,你自己的发言:
OwnWaterloo 发表于 2012-11-18 16:04 ![]()
不过既然你都说到这份上了, 我还就是站在clojure的制高点上嘲笑lua。 还不只是clojure, 还包括python, elisp, 甚至还有haskell这种这么静态的语言。
clojure可以dump repl的当前状态?Python可以?Elisp可以???Haskell可以??我怎么一个都没听说过呢?这就是你嘲笑的方式么?为其他语言装上他们根本就不具备的功能,然后说Lua没有这个功能?看过云风写的文章么?他做到了将Lua持久化(采用客制化内存分配器的方式),以及将Lua状态共享(同样的方案)的方法,clojure做个看看?JVM可以客制化内存分配器?别逗了。
而且还说了,你真想dump——我就听说过matlib有这个功能,可以直接dump,有人好像就因为引用没清干净dump一个函数dump出来200M的文件——的话,有Pluto,你以为Lua就真做不到?
好,现在轮到我来嘲笑你了,Python怎么做到这个?
$ python
>>> import db
>>> d = db.connect("mydb.myserver.com", 12345)
>>> import dump from repl
>>> dump("reload.py")
>>> exit()
$ python --load reload.py
>>> d.execute("select * from table")
ID NAME
1 ABC
2 DEF
>>>
Python做得到这个吗?
|
|