编程的未来是什么

2018-06-18  本文已影响31人  何一涛

代码的未来是 Ruby 之父松本行弘三年(2009-2012)专栏《技术的剖析》内容的集合。

书中有两点很有启发性:

  1. 如何预测未来?极限思考法
  2. 从软件开发中学习如何提高效率?减负,拖延,委托

IT 技术人的真正价值应该并非只有“最早和未来相遇”,还应该要拥有自己创造未来的力量——创造出比这本书所预见的未来的还要更加美好的未来。

第1章 编程的时间和空间

编程的本质在于思考,思考:

计算机在不断变化,而算法则保持不变

使用极限思考法预测未来:

作者预测:

第2章 编程语言的过去现在和未来

古代编程语言三巨头:Fortran,Cobol,Lisp

编程语言进化的方向:抽象化,也被称为黑箱化

未来编程语言进化动机,不是工具和语言的简化,而是将这些工具和语言的结果更简洁的表现出来

作者预测20年后编程语言要更关注分布处理和并行处理,关注 Haskell 和 Erlang

常用 DSL 语言:awk,sql,正则表达式,sed,xml ,json...

内存空间释放自动化——GC

异常处理是为了将程序员进行错误处理的负担尽量减轻而产生的一种机制

第3章 编程语言的新潮流

下一代编程语言中作者看好 go 、CoffeeScript 和 Lua ,不大看好 dart

Google 内部5大编程语言:C/C++,Java,Python,JavaScript,Go

限制开发语言的种类,主要从降低管理成本上来考虑的

第4章 云计算时代的编程

布隆过滤器,判断某个数据是否存在的数据结构,概率算法(偶尔会出错)

UNIX系操作系统中,同一台计算机进程间通信有:管道,消息,信号量,共享内存,TCP 套接字,UDP 套接字,UNIX域套接字

第5章 支撑大数据的数据存储技术

随着计算环境中的计算机数量达到几百台甚至更多,机器发生故障概率增加,在实际运营中就会发生延迟等问题,RDBMS 的特性 ACID 就很难满足,催生了 KV 存储模型

在大规模环境中,只能同时满足其中的两个:

CAP 的解决方案 BASE

NoSQL = Not Only SQL

云,大规模分布式环境

VoltDB,内存型数据库,值得关注

第6章 多核时代的编程

提高 CPU 效率:

CPU 越来越快的时代要结束了,软件开发者必须要付出更多努力,了解多核计算模型

改善软件运行速度:

多核的困难:任务分割,通信开销,可靠性

无论是从事什么工作,最重要的是提高效率

从软件开发中学会如何提高效率:

上一篇下一篇

猜你喜欢

热点阅读