OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

我真的需要一门编程语言吗?


分享到
分类 大话编程   发布 ourjs  1388307786000
注意 转载须保留原文链接,译文链接,作者译者等信息。  

翻译:myownghost 作者:ayudasystems

我的老板希望我在产品中添加一个季节性回扣的功能。作为一名NB的黑客,我准备用C写需要用到的逻辑:

if (price > 100) {
    return 10;
}
else {
    return 5;
}

等等,我们的IT部门不允许我使用如此底层的语言。我最终选择用Visual Basic .NET去写

If price > 100 Then
    Return 10
Else
    Return 5
End If

不过写这样的代码简直是对我智商的侮辱,我明白这两种语言都只是做了一个中间的过程。真正的目标还是让它们变成可执行文件。

因此语言的解释器会分析我所写代码的关键字,C编绎器会以大括号来分析代码段,VB.NET编绎器会通过关键字Then来检索。

这些标记会被编译成语义逻辑树去代表需要执行的逻辑:

                   (  if  )
                    /  |  \
                   /   |   \
            ( > ) ( 10 ) ( 5 )
             / \
            /   \
    ( price ) ( 100 )

然后我想说:这个逻辑就是我刚开始想表达的东西。而且我并不是很关心我使用的是哪种语言,最终结果都会生成一颗同样的语义树。那么我真的需要一门编程语言吗?也许我可以简单把这颗树用代码写出来,然后避免使用语言带来的问题,只需要把这棍颗树整理成几行代码……

方法是,父节点定为P1,然后它的两个子节点为C1和C2,这样的他们的代码就像(P1 C1 C2),这种方法可以递归实现。

然后我们的树就被写成了:

(if (> price 100)
    10
    5)

然后我明白了,这玩意不就是LISP吗?

原文地址: 点此
社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. 一名靠谱的JavaScript程序员应备的素质
  2. PayPal为什么从Java迁移到Node.js,性能提高一倍,文件代码减少44%
  3. 人类只占到互联网流量的40%不到
  4. Node初学者入门,一本全面的NodeJS教程
  5. 芝加哥将计算机科学列为主修课
  6. 我真的需要一门编程语言吗?
  7. 程序员最艰巨的十大任务
  8. 我为什么想把比特币一把火烧了
  9. 编写更好的jQuery代码的建议
  10. Python不可维护?终于把一个8万行的Python程序用Java重写了
  11. AirJD-简单好用的免费建站工具

 相关阅读 - 大话编程
  1. 一个人称代词引发的论战:Joyent宣布Ben退出Node.JS开发
  2. C语言卓尔不群:我喜欢和讨厌的十件事
  3. 从计算机技术层面来分析美国阿波罗登月造假的可能性
  4. 够用即可:简单之美(Worse Is Better)
  5. 程序猿的段子:该如何优雅地黑C++? 回复:C艹
  6. 性能测评:Node.JS比Java EE快20%
  7. 盖茨和乔布斯
  8. 程序员遇到bug时常见的30种反应
  9. 《论死亡与临终》中的“库伯勒-罗丝模型”和软件纠错的六个阶段
  10. 个人开发者之死

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号