七周七语言(1)

原来一直是java的忠实粉丝,开始觉得java语法严谨,类型安全,面向对象的特性,觉得java特别适合大企业,多人协作式开发。这两年,自己也尝试做一些网站,发现java在这方面效率太低。所以慢慢接触了php,groove这些脚本语言,一下子开阔了自己的视野。所以买了这本书来了解各个编程语言的设计思想以及特性

书名提到了编程范式,个人理解就是编程模型或者程序的设计思想,从以前的面向过程的编程(汇编,C),到面向对象的编程(java,c++,.net),在到函数式编程(list,haskell),再到并发编程(go) 。之所以出现这么多编程范式,个人觉得就是对为了解决特定的问题,在偏业务领域,比较适合面向对象的思想,在偏工程计算领域,就比较适合函数式编程。在分布式环境以及网络编程上,可能 go 语言就比较适合了。

文章一开始就提到编程语言的几个方面

1 编程语言的类型模型:强类型(java),弱类型(javascript),静态语言还是动态语言

2 编程语言的编程泛型:过程式,面向对象,函数式,混合体

3 编程语言的执行环境:编译执行还是解释执行,是否是基于虚拟机的语言

4 编程语言的特性:比如是否支持闭包,是否支持宏 等等

基本上以上四个组成了编程语言的基本特性,而且学习一本编程语言基本上了解以上四个方面。目前在编程泛型上,各个编程语言会走的越来越近,会添加新的特性,但是每个编程语言主要编程泛型还是不会变的。