语言的数据亲和力如何体现?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2716个文字,预计阅读时间需要11分钟。
目前,程序设计语言似乎进入了蓬勃发展的时期。JavaScript、Perl、Python、Ruby、Groovy等一批新兴语言越来越受到关注和普及。与此同时,C++、C等传统语言依然稳固其地位。
目前,程序设计语言似乎进入了一个蓬勃发展的时期,Javascript、Perl、Python、Ruby、Groovy等一批较新的语言正越来越多地被熟悉和使用,而C++、C#、Java等主流语言也在不断地融入函数式和动态性特征。程序员的百宝箱中可供选择的宝贝是越来多了,而社区中关于语言间的比较和争论也更为热烈,我们常常见到关于“面向过程和面向对象的比较”、“动态语言和静态语言的比较”、“命令式和函数式范式的比较”等比较。我注意到这类讨论的关注点多集中于设计相关话题,如“动态语言的Duck typing多态和静态语言的继承多态的比较”,“Prototype based和Class based的比较”等。但我认为还有一个十分重要的方面值得关注,这就是数据处理。
数据处理之所以重要是因为不论是本地信息存储还是系统间信息交换都需要建立在一定的数据格式基础上。另外,不管语言属于那种范式,设计上采用什么模式,在微观层次上程序很大一部分工作都是在做数据处理。所以,从数据处理角度比较和理解语言间的差异有重要的现实意义。虽然数据通常是平台和语言无关的,但不同的语言在处理某种格式的数据时会表现出不同的难度,甚至某些数据格式只能采用特定的语言才能实现,这就是数据亲和力的不同。
语言的数据亲和力(Data Affinity)指的是语言与某种数据格式之间的相容程度,它主要取决于语言的数据模型,类型系统,以及库的支持等。语言对某种数据格式亲和力越强,则操作某类数据越容易。
本文共计2716个文字,预计阅读时间需要11分钟。
目前,程序设计语言似乎进入了蓬勃发展的时期。JavaScript、Perl、Python、Ruby、Groovy等一批新兴语言越来越受到关注和普及。与此同时,C++、C等传统语言依然稳固其地位。
目前,程序设计语言似乎进入了一个蓬勃发展的时期,Javascript、Perl、Python、Ruby、Groovy等一批较新的语言正越来越多地被熟悉和使用,而C++、C#、Java等主流语言也在不断地融入函数式和动态性特征。程序员的百宝箱中可供选择的宝贝是越来多了,而社区中关于语言间的比较和争论也更为热烈,我们常常见到关于“面向过程和面向对象的比较”、“动态语言和静态语言的比较”、“命令式和函数式范式的比较”等比较。我注意到这类讨论的关注点多集中于设计相关话题,如“动态语言的Duck typing多态和静态语言的继承多态的比较”,“Prototype based和Class based的比较”等。但我认为还有一个十分重要的方面值得关注,这就是数据处理。
数据处理之所以重要是因为不论是本地信息存储还是系统间信息交换都需要建立在一定的数据格式基础上。另外,不管语言属于那种范式,设计上采用什么模式,在微观层次上程序很大一部分工作都是在做数据处理。所以,从数据处理角度比较和理解语言间的差异有重要的现实意义。虽然数据通常是平台和语言无关的,但不同的语言在处理某种格式的数据时会表现出不同的难度,甚至某些数据格式只能采用特定的语言才能实现,这就是数据亲和力的不同。
语言的数据亲和力(Data Affinity)指的是语言与某种数据格式之间的相容程度,它主要取决于语言的数据模型,类型系统,以及库的支持等。语言对某种数据格式亲和力越强,则操作某类数据越容易。

