代码的未来读书笔记<二>
代码的未来读书笔记<二>
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,指的是在程序执行时将其编译为机器语言的技术.
特殊化
指的是一种在将函数转换为内部表达时所运用的技术. 通过假定參数为特定类型, 事先准备一个特殊化的快速版本号, 在函数调用的开头先执行类型检查, 当前提条件成立时直接执行快速版本号. 动态语言执行速度慢的理由之中的一个, 就是由于在执行时须要伴随大量的类型检查, 而通过特殊化则能够回避这一不利因素.
代码的未来读书笔记<二>的更多相关文章
- 《Data-Intensive Text Processing with mapReduce》读书笔记之二:mapreduce编程、框架及运行
搜狐视频的屌丝男士第二季大结局了,惊现波多野老师,怀揣着无比鸡冻的心情啊,可惜随着剧情的推进发展,并没有出现期待中的屌丝奇遇,大鹏还是没敢冲破尺度的界线.想百度些种子吧,又不想让电脑留下污点证据,要知 ...
- Java多线程编程实战指南(核心篇)读书笔记(二)
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76651408冷血之心的博客) 博主准备恶补一番Java高并发编程相 ...
- 《图解tcp/ip》读书笔记(二)
<图解tcp/ip>读书笔记(二) 本周主要阅读的是本书的第三章--数据链路. 当然了,从某些角度讲,我认为这一章就是计算机网络的最基本的内容之一.整章讲述了数据链路层的作用和相关技术,主 ...
- 图解TCP/IP读书笔记(二)
图解TCP/IP读书笔记(二) 第二章.TCP/IP基础知识 一.TCP/IP出现的背景及其历史 年份 事件 20世纪60年代后半叶 应DoD(美国国防部)要求,美国开始进行通信技术相关的研发 196 ...
- 《JavaScript面向对象编程指南(第2版)》读书笔记(二)
<JavaScript面向对象编程指南(第2版)>读书笔记(一) <JavaScript面向对象编程指南(第2版)>读书笔记(二) 目录 一.基本类型 1.1 字符串 1.2 ...
- [.NET] 《Effective C#》读书笔记(二)- .NET 资源托管
<Effective C#>读书笔记(二)- .NET 资源托管 简介 续 <Effective C#>读书笔记(一)- C# 语言习惯. .NET 中,GC 会帮助我们管理内 ...
- 《C#图解教程》读书笔记之二:存储、类型和变量
本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.类型初窥:掀起你的盖头来 (1)C程序是一组函数和数据类型,C++程序是一组函数和类,而C#程序是一组类型声 ...
- 《Java编程思想》读书笔记(二)
三年之前就买了<Java编程思想>这本书,但是到现在为止都还没有好好看过这本书,这次希望能够坚持通读完整本书并整理好自己的读书笔记,上一篇文章是记录的第一章到第十章的内容,这一次记录的是第 ...
- 《Java并发编程的艺术》读书笔记:二、Java并发机制的底层实现原理
二.Java并发机制底层实现原理 这里是我的<Java并发编程的艺术>读书笔记的第二篇,对前文有兴趣的朋友可以去这里看第一篇:一.并发编程的目的与挑战 有兴趣讨论的朋友可以给我留言! 1. ...
随机推荐
- Lua学习笔记9:多文件
一 终端中运行多个文件:-l 增加在文件一中定义了一个变量,在还有一文件里输出这个变量.代码例如以下: --file1.lua num = 100 --file2.lua print(num) 终端输 ...
- 关于JAVA Project.waitfor()死锁问题
在正常情况下我们可以用Project.waitfor()的返回值是否等于0的方法来判断java调用外部程序是Pass或者是Fail. 但是这个方法往往会被因进程堵塞而导致程序发生死锁,无法再继续执行外 ...
- mysql导出和导入数据库
出口 在dos计划,切换到mysql按照该文件夹bin下一个.输入以下命令 mysqldump -u root -p nxu_life > nxu_life2.sql 运行完毕后,就能够看到在b ...
- ASP.NET MVC的跳转攻击问题
在ASP.NET MVC的自带的模板代码中,有这样一段,用来拦截非登录用户,使其跳转到登录页面,然后登录后在跳转回原页面.所以,期间有一个returnUrl参数用来保存原页面地址.在Login Act ...
- iOS 单元測试之XCTest具体解释(一)
原创blog,转载请注明出处 blog.csdn.net/hello_hwc 欢迎关注我的iOS-SDK具体解释专栏 http://blog.csdn.net/column/details/huang ...
- 【Swift】—— 中国课程
Apple宣布更换oc武器语言 Swift ,在牛叉的中国开发者社区9几天之内,以完成.这是福音许多中国的开发商啊,兴奋的发现之后,写存储在日志,马上防止忘记: GitHub开源项目:<The ...
- 基于CORS的geoserver同源访问策略
这个问题理顺整个2天.终于攻克.记录下来. 1.下载文件 首先下载cors压缩包,解压,得到的是org/mortbay/servlets/CrossOriginFilter.class文件,把此文件拷 ...
- Android_app项目开发步骤总结
做了几个android企业应用项目后,总结了项目的基本开发步骤.希望可以交流. 一 应用规划: ※确定功能. ※必须的界面及界面跳转的流程. ※须要的数据及数据的来源及格 ...
- 基于FP-Tree的关联规则FP-Growth推荐算法Java实现
基于FP-Tree的关联规则FP-Growth推荐算法Java实现 package edu.test.ch8; import java.util.ArrayList; import java.util ...
- Phalcon之 表单(Forms)
Phalcon中提供了 Phalcon\Forms组件以方便开发人员创建和维护应用中的表单. 以下的样例中展示了主要的用法: <?php use Phalcon\Forms\Form, Phal ...