一些扯蛋话题……

  暂时没兴趣读编译原理之类的著作了,一方面是没时间,一方面是比较侧重实现,对于我这形式化笨蛋和数学白痴而言负担过重……

  Unix的哲学看上去很好很强大,但实际上不是仍然侧重于实现技巧(可能掺和了某些程序实现形式——如shell脚本——有理由怀疑相关条目仅仅是蹭 了个“哲学”的名号)就是很难实现。这也许间接导致了市面上找不到足够流行(一个参考的操作性标准:保证以一个通用操作名称为关键词,在Google的前 10页内能找到直接相关的使用指导或者实现讨论——如怎么样复制文件之类)的除了Windows和Unix-like的(或者说,敢于无视IEEE POSIX的)通用PC操作系统。另一方面,与此同时代的C语言的“简洁”设计反倒是后患无穷——例如没有足够明确的细节制定跨平台的ABI;例如给大杂 烩C++的发明和使用提供了契机——乃至于Java都能标榜它“简单”。几十年来几乎所有Unix-like的操作系统(精确点说:内核)都用C语言进行 基本实现,这点不知道算不算是讽刺。

   从C语言的时代开始,通用的“高级”语言大规模流行,却没有使使用者注意到人类角度和机器角度认识语言的本质区别。对于实现者(通用数字式电子计算机) 而言,即使有翻译程序,事实上也无法实现这类高级语言(像brainf**k这类连标识符都没有的语言暂且不论——反正不属于这类“流行”的“高级”语 言)的完整语义。举个例子:
int main(int argc, char* argv[])
{
    return argc;
}

int main(int how_egg_pain_the_C_Language_is, char* what_the_fxxk[])
{
    return how_egg_pain_the_C_Language_is;
}
经过编译器工具链(其实只要经过translator即可,这里没必要调用preprocessor——而linker则是适应平台用的)之后,对于目标 平台而言,应该没什么区别了——能够具有监视编译器输入然后揣测出代码撰写者意图的AI,保守估计ÿ

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值