再读:编程语言的发展趋势及未来方向

三年前读过这篇文章 或者   这里,今天了解到Go语言,就在想以后语言会是什么样?我想再多也没用,因为没有达到大牛的思想境界,只到再看五年前大神的分析。在些做一点总结。

 

1.语言发展很慢,而快速发展的是:框架 、工具

 

2.语言抽象级别越来越高,更简易使用。比如:scala 基于框架构建的

 

3.未来趋势会是:声明式(Declarative)、动态(Dynamic)、并发(Concurrent)

 

4.什么是声明式编程?

声明式编程:主要有DSL、函数式编程。(如今的两项成果)

比如查找一个大于20元的单子:

用Java的循环就要写过程(How)

用数据库只用写一句(What)---DSL

 

5.DSL(Domain Specific Language,领域特定语言,比如:css、sql、Logo)

外部DSL 比如sql、unix-command、XSLT

内部DSL 一系列特别的API、使用模式的别称 比如LINQ查询语句、Ruby on Rails、jQuery代码 

 

6.函数式编程

 

说白了就如写数学算式一样,y=x+1 (x、y都是不可变状态)。不是平时用的x=x+1 (x是变量,可变状态)

APL、Haskell、Scheme、ML、LISP

 

7.动态语言、静态语言

趋势:现在分,以后就不会再分了。

动态语言:Ruby Python Javascripts LISP(比如声明变量,可以不用指定 是int 型,自动会判断)

静态语言:C C++ Java 

 

8.元编程:代码生成的别称(动态语言容易实现)

 

9.并发

 

并发:以前,一个CPU处理多个进程。现在,一个进程让多个CPU处理!

 

一个进程多个独立的任务(用到函数编程的不可变状态),才能让多个CPU 高效处理。

 

总结:

编程语言会更加声明式,需要设法引入一些如元编程、函数编程的能力。并且让用户能够扩展语法,使他们可以构造特定领域语言。

动态与静态区别不在。

并发方面,会采纳一些特性,可以利用起隔离性,函数式的纯粹性,以及更好的不可变数据类型的编写方式。

 

http://blog.mreald.com/168

posted @ 2018-12-04 18:59  zzfx  阅读(1579)  评论(0编辑  收藏  举报