zoukankan      html  css  js  c++  java
  • 代码的未来读书笔记<二>

    代码的未来读书笔记<二>

    3.1语言的设计

    对Ruby JavaScript Java Go 从服务端client以及静态动态这2个角度进行了对照. 这四种语言因为不同的设计方针,产生了不同的设计风格.

    Header client 服务端
    动态 Html5 Ruby
    静态 Java Go

    静态动态

    • 静态:无需实际执行,仅依据程序代码就能确定结果.
    • 动态:仅仅有到了执行时才干确定结果.只是不管不论什么程序,或多或少都包括的动态的特性.

    动态执行模式

    执行中的程序能识别自身,并对自身进行操作.对程序自身进行操作的编程,被称作元编程(Metaprogramming)

    有鸭子样的就是鸭子

    假设某个对象的行为和鸭子一模一样,那不管他真正的实体是什么,我们都能够将它看作一个鸭子.我们不关系对象究竟是哪一个类的实例,仅仅关心其拥有如何的行为.

    Go, Dart, CoffeeScpript, Lua

    分别介绍了这4种语言的语法差别,已经编译器做出的优化

    显著快速化的语言

    从更本上说,性能和引擎的性质有关,和语言的种类是无关的

    JIT

    Just In Time Compiler,指的是在程序执行时将其编译为机器语言的技术.

    特殊化

    指的是一种在将函数转换为内部表达时所运用的技术. 通过假定參数为特定类型, 事先准备一个特殊化的快速版本号, 在函数调用的开头先执行类型检查, 当前提条件成立时直接执行快速版本号. 动态语言执行速度慢的理由之中的一个, 就是由于在执行时须要伴随大量的类型检查, 而通过特殊化则能够回避这一不利因素.

  • 相关阅读:
    数组,字符串内置方法解析
    Git忽略规则和.gitignore规则不生效的解决办法
    使用canvas进行图片裁剪简单功能
    Git 常用命令大全(转)
    vue实现ajax滚动下拉加载,同时具有loading效果
    弹框组件
    年月日日历选择组件
    百度搜索热词下拉
    省市县三级联动插件(面向过程,面向对象两种方式实现)
    jquery 移动端轮播图
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4554891.html
Copyright © 2011-2022 走看看