代码的未来读书笔记<二>
2014-12-23 17:28
197 查看
代码的未来读书笔记<二>
3.1语言的设计
对Ruby JavaScript Java Go 从服务端客户端以及静态动态这2个角度进行了对比. 这四种语言由于不同的设计方针,产生了不同的设计风格.Header | 客户端 | 服务端 |
---|---|---|
动态 | Html5 | Ruby |
静态 | Java | Go |
静态动态
静态:无需实际运行,仅根据程序代码就能确定结果.动态:只有到了运行时才能确定结果.不过无论任何程序,或多或少都包含的动态的特性.
动态运行模式
运行中的程序能识别自身,并对自身进行操作.对程序自身进行操作的编程,被称作元编程(Metaprogramming)有鸭子样的就是鸭子
如果某个对象的行为和鸭子一模一样,那无论他真正的实体是什么,我们都可以将它看作一个鸭子.我们不关系对象到底是哪一个类的实例,只关心其拥有怎样的行为.Go, Dart, CoffeeScpript, Lua
分别介绍了这4种语言的语法区别,已经编译器做出的优化显著高速化的语言
从更本上说,性能和引擎的性质有关,和语言的种类是无关的JIT
Just In Time Compiler,指的是在程序运行时将其编译为机器语言的技术.特殊化
指的是一种在将函数转换为内部表达时所运用的技术. 通过假定参数为特定类型, 事先准备一个特殊化的高速版本, 在函数调用的开头先执行类型检查, 当前提条件成立时直接运行高速版本. 动态语言运行速度慢的理由之一, 就是因为在运行时需要伴随大量的类型检查, 而通过特殊化则可以回避这一不利因素.相关文章推荐
- 代码的未来读书笔记<二>
- 代码的未来读书笔记<一>
- Windows核心编程<读书笔记七>线程的调度、优先级以及亲缘性 【含有代码】
- UNITY3D shader代码例子<二> 双面显示
- TestLink1.9.3测试用例:Excel转换XML工具<二>实现代码
- 为代码减负之<二>存储过程(SQL)
- SQLite学习手册(实例代码<二>)
- <二>---RIL层代码分析---RIL_startEventLoop()->eventLoop()->ril_event_loop()
- 《Windows程序设计》读书笔记------------->>窗口和消息 -- 代码结构和消息机制<<
- 为代码减负之<二>存储过程(SQL)
- <<代码的未来>>读书笔记
- [学习]分布式缓存系统TAIR代码分析<二>
- 原创:oracle入门命令介绍<二>
- 《Windows程序设计》读书笔记------------->>字符集和字体<<
- 《Windows程序设计》读书笔记------------->>字符消息<<
- 《Windows程序设计》读书笔记------------->>GDI 映像方式<<
- 《Windows程序设计》读书笔记------------->>键盘消息<<
- C++学习笔记&lt;二&gt;
- 5.7号&lt;疯狂的程序员&gt;读书笔记
- 《Windows程序设计》读书笔记------------->>文字输出——多行文字<<