代码的过去,代码的未来_代码的未来书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > 代码的未来 > 代码的过去,代码的未来
sdhjl2000 代码的未来 的书评 发表时间:2014-07-28 22:07:47

代码的过去,代码的未来

虽然本书关于代码的未来讨论的不多,而且有点头重脚轻。但是Matz的知识面还是很广的,而且语言也比较幽默。作为一本拓展知识面和回顾已学知识的书籍还不错。

1,语言本身是一种dsl,Matz吐槽Pual关于语言应该精简化的预测。我自己觉得是随着需求越来越多越来越复杂,语言本身的抽象能力应该是越来越强。Matz提到api和库涉及也是语言设计这点是很认同的。例如Erlang的Actor模式,各个语言中内置的接口其实都是一种抽象的dsl。表达能力和抽象层次是一种折中。内部dsl(fluentinterface)及外部dsl的比较对于dsl的设计业很有参考作用。代码只是一种工具,有些可能适用于解决特定的问题,当前如果要开发一个适应面很广的语言的话,不论从语法到工具再到杀手级应用都需要考量了。

2,GC大统一理论:扫描法(多了慢)和标记法(循环引用)的结合,前者引入了分代的方式。对于实时性较高的系统如果回收时加锁导致系统停顿是不能容忍的从而引入和增量回收。

3,闭包就是在过程中包含数据而对象是在数据中包含过程。动态语言VS静态语言:前者通过jit,特殊化来提高运行效率,后者通过类型推到和反射来扩张开发效率。Lisp:list process,all is list,模式匹配

4,云计算应该是说将原来在一个机器实现的各个功能分解抽象到了可扩张的集群上面,这样在设计上面就需要为scale考虑,互联网企业为了高可用舍弃了部分一致性,而对于传统软件只能舍弃性能。传统关系数据慢的问题在于日志,事务锁,内存锁,缓存管理等方面。

5,从应用服务器到数据服务器现在都提供了越来越多的scaleout的方案,例如使用blance和fork实现应用集群,使用hash链实现数据集群。

6,所谓水平分割,就是将一张表中的各行数据直接分割到多个表中。例如,对于像mixi这样的社交化媒体(SNS)网站,如果将用户编号为奇数的用户信息和编号为偶数的用户信息分别放在两张表中,应该会比较有效。 相对地,所谓垂直分割就是将一张表中的某些字段(列)分离到其他的表中。用SNS网站举例的话,相当于按照“日记”、“社区”等功能来对数据库进行分割。

7,我从软件开发中学会了如何提高效率,作为应用,总结出了下面几个方法: 减负(算法:更高效的思考方式,开销:自动化,用空间换时间:多笔记,花钱) 拖延(分清象限) 委派

总体来说,一方面开发所需的学习材料,ide,工具包越来越强从而开发特定功能越来越容易,但是需求的复杂性导致开发所需要掌握的知识面和整合能力也需要的越来越强。就像以前是几个人盖一个平房而现在是需要现代化的工具建造一个复杂的大楼。

展开全文
有用 0 无用 0

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读