zoukankan      html  css  js  c++  java
  • 酒罢问君三语

    你为什么要开发Erlang?
     
    Armstrong博士:纯属巧合。我本来没打算发明一门新的编程语言。当时,我想找一种更好的方式来编写电信交换控制软件。我先试了试Prolog。Prolog是一门绝妙的语言,但它无法完全满足我的需要,既然如此,我就开始瞎倒腾Prolog。我琢磨着:“如果改变一下Prolog的编程方式,那会怎样?”于是,我写了个Prolog的元解释器,给它加上了并行进程,还加上了错误处理机制,诸如此类。就这样,过了一段时间,我给这些新增加的变化起了个名字——Erlang,一门新语言就这么诞生了。之后,越来越多的人加入这个项目,这门语言也逐渐发展起来。我们想出了编译它的方法,加入了更多东西,获得了更多用户……
     
    你最喜欢它哪一点呢?
     
    Armstrong博士:我最喜欢它的错误处理、运行时代码升级机制,还有bit-level模式匹配。错误处理是这门语言最不为人所知的部分,也是与其他语言差别最大的部分。Erlang的“非防御”编程和“就让它崩溃”这一套概念,既是它的独门绝学,也是它与传统方法截然相反之处。不过,这样做的确能编出简洁而漂亮的程序。
     
    如果能让时光倒流,你最想改变哪项特性?
     
    Armstrong博士:这问题很难,我可能会在不同时间给出不同答案。为这门语言添加一些移动特性应该不错,这样我们就能通过移动通信网络传送计算结果。我们可以用库代码来做这件事,但它并不被语言本身所支持。我现在想,如果追本溯源,把Prolog式的谓词逻辑加入Erlang,产生一种谓词逻辑和消息传递的全新组合,那想必会十分美妙。
    还有不少小改动也是我想做的,比如说,加入散列映射、高阶模块,等等。要是推倒重来,我可能会更多地把心思花在各项编程事务的协调上,比如说,如何运作有大量代码的大型编程项目——如何管理代码版本、如何搜索想要的东西、各种事物如何演化。当程
    序员编写了大量代码之后,他的任务就不再是编写新代码,而是准确找到现有代码,并把现有代码整合起来。因此,搜索和协调就变得日渐重要。
  • 相关阅读:
    UNIX环境下用C语言写静态库与动态库
    C++异常处理
    php 二位数组按某个键值排序
    微信公众号之 code获取
    微信公众号开发第一步token验证
    Nginx下ThinkPHP5的配置方法详解
    ThinkPHP5 在 LNMP 环境下访问出现 HTTP ERROR 500
    php 通过设置session_name 实现控制同意空间内控制多个项目,还有很多其他应用啦
    git 忽略提交某个指定的文件(不从版本库中删除)
    nginx 配置反向代理 (遇见的问题 :单独服务器 多端口,相当于跨域, 获取不到session)
  • 原文地址:https://www.cnblogs.com/bigmonkey/p/7211032.html
Copyright © 2011-2022 走看看