作者reader (读者)
看板PLT
标题Re: [连结] 下一个主流语言?游戏设计者的观点
时间Mon Mar 5 16:17:44 2007
※ 引述《noctem (noctem)》之铭言:
: http://lambda-the-ultimate.org/node/1277
: Tim Sweeney 在 POPL 给的演讲,从游戏设计者的角度谈他所
: 心目中的下一个程式语言应该有的能力。提到的几点包括
: . 用型别排除大部分的 runtime error. 包括用 dependent
: type 来避免 array bounds checking;
: . 他认为 garbage collection 是绝对必要的(之前在 programming
: 板上好像有不同的看法?);
: . 对 concurrency 多支援,他认为这和 type 是相关的;
: . 认为 "lenient evaluation" 可能是另一条路。
上述需求几乎都不是程式语言应该要做的事情,而是 runtime environment
需要做的事情。
我觉得现在的问题是,在作业系统和程式语言之间,需要一个更有效的中介
机制的实作方法,如果都算在程式语言当中,程式语言将无法提供一个稳固
有效的程式设计基础。
这样一来,就会变成每个大家觉得重要的东西,都会有人想要塞进程式语言
当中,程式语言愈来愈庞大,愈来愈像作业系统,这样总有一天会爆炸的。
而我设计的程式语言,就加上了 domain 的设计,每一个 domain 的内容,
就会由 domain handler 在编译和执行时处理,於是可以自行设计特殊语法
及动态机制,想要加什麽功能都可以,因为 domain handler 就等於是小型
编译程式,将自行设计的特殊语言转换为基础语言。
这在 C++ 就提供了,只是不够完全,只提供 single operator 层次而已,
但上述的 boundary checking, garbage collection 已经可以自行实作。
而 Perl 6 的 macro 也很强,跟上述的 domain handler 相当接近。
就是有一堆不开发程式库或使用专业程式库的懒惰程式员,在成天叫着程式
语言不够好用,希望程式语言什麽东西都内建。
这些执行时期机制,不应该是由新程式语言来提供,而是让新程式语言能够
自行建立执行时期机制才对,让有新的执行时期机制需求之时,不必去更换
新的程式语言,而是扩充既有的程式语言即可。
: 不知道为什麽他觉得 Haskell 语法很 "scary"...
就是不熟悉吧。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.222.173.26