新手问题 动态语言是否应该有一套 api 规范?

hhuai · 2012年06月23日 · 最后由 hhuai 回复于 2012年06月23日 · 2692 次阅读

现在的动态脚本太多了,但内置结构,都差不多提供:string, array, hash 这么几个。比如:js, python, ruby, lua, php... 。能做一层基础规范就好了,如 string 应该提供一些什么方法,array 又应该提供什么基础方法,所有的脚本以这个为规范,都做一套出来,那就不用每切换一个语言写代码,就去查 api 文档了。

我最晕的就是 substring 这些方法了,大家都提供类似的功能,但叫法不一样,切换哪个语言都得去拿 api 手册。

当然我说的这个规范,是最基础的一层,所有语言都应遵守的,但是不仅限于此,自有特性可以自己扩展,不会因为这个规范而掩盖什么。

一种语言的不同版本都保证不了。。

这个设想可以看下 jvm 和.net 平台。。。

有时语法和 api 结合还是很紧密的 比如 Ruby 很多 api 依赖 block 如果统一的话怎么办?把其他的语言都加上 block 特性? 如果想用统一 api 就用 jvm 和.net 平台的版本吧。不过往往失去原有语言的乐趣了

#2 楼 @fredwu #4 楼 @jjym

根本就不是你们所说的一回事,我并不是要一个 powerful 的语言,只是相同的地方统一约定一下,并不妨碍百花齐放。 比如截取字符串,都提供一个 string substr(int index, int len);这样的方法,并不妨碍 ruby 之类提供其他一些命名或参数的方法。

会写的还是照你原来的写就是了,更没有失去乐趣一说。只是从 python 跳到 js,或跳到 ruby 只要熟悉基本语法,函数记一套标准的就可以了。如果有不同需求,再去翻看 api,是否语言自身有提供更友好健全的 api.

需要 登录 后方可回复, 如果你还没有账号请 注册新账号