@
Qiaogui你搞错了不少东西,不过好像也不是很难纠正。(只是错的地方有些让我意外。)
首先,设计语言是专业的领域,有门槛,但大部分门槛跟程序员的经验的确不搭。
(比如,确实也不能指望大部分程序员搞清楚什么东西才能够得上是语言的 spec。)
不清楚怎么写现有语言的代码,确实不碍着设计语言。大致上你能清楚你设计出来的东西怎么用即可。
但是,自己能实现会远远更省事,并且会避免一些实现手段上的认知偏差。我认为你已经在吃这个亏了(比如说,不够清楚 LLVM 为什么不值得用),要让别人帮忙减小这样的问题并不现实。
还有个更根本的原因是,对一般意义的通用语言来说,区分元语言和对象语言是不必要的,因此不了解实现又没有能力自己发明整套新方法代替现有实现技术的话,势必无法得到你想要的设计。
只不过不止是你,劝诫你需要自己了解如何实现的各位好像也没都理解这个。
其次,语言不止是表达思想的工具。如果要强调通用语言,一定意义上,语言就是思想本身。你对语言的想法,不止是通过 spec (元语言),也会通过代码传染到你用语言表示的目的上。
即便放弃这点,style 这种东西也不会自动不存在。这也是形成 paradigm 的主要理由之一。
(搞 AI 的管这个叫符号主义学派,但在 PL 领域没有类似搞 AI 的其它学派的备胎能指望,所以回避不了。)
第三,程序员觉得所谓语言的友好大部分是错觉:社区友好 /用户友好跟设计出来的语言友好是两回事。
(比如说,随便拿坨实用的代码自己人肉解释一下然后问问自己有没有解释对,底气在哪,就知道大概多不友好了。)
作为语言的设计者不要落入这个陷阱。特别是你学会了了解“友好”,却没学会熟练编码这种能体现这样的片面“友好”的最主要场景的话,那么基本只剩错觉了。
第四,你指望别人整理,那就不是自己设计,是甲方了……这样,穷真的是没救的。
至于我自己,早就有实现能用的设计了,就是想化缘拉点苦力做点偏体力的活……
只是我发现 LtU 上人平均认知在准确理解需求的阅历和能力上尚且远远不足,刻意在这边找就是姜太公钓鱼随缘罢了。