Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1278433
  • 博文数量: 273
  • 博客积分: 5865
  • 博客等级: 准将
  • 技术积分: 3280
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-11 10:01
文章分类

全部博文(273)

文章存档

2015年(33)

2014年(11)

2013年(11)

2012年(136)

2011年(32)

2010年(50)

分类: Web开发

2015-04-19 19:40:09

    三年前读过 或者   ,今天了解到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 高效处理。


总结:

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

动态与静态区别不在。

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


阅读(1967) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~