atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结

1.  有一种观点,编程语言就像物种,会形成进化树,有的分支会死掉。

多年之后,你觉得语言会演化成什么样子?哪些特性会繁荣,又有哪些会枯萎?

这 好比讨论未来哪种基因会繁荣,答案是不可知的。我们知道的是,有的语言专长于一个小生态位而获得了成功。类似于吃竹子的熊猫,PHP“吃”初级用户设计的 网页,而且只要这个Web编程的生态位存在,它就可能继续成功下去。竹子没有了,熊猫也就没有了。

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

2. 但在地球的历史上,最成功的机体大多是通才,而不是专 才。

鸟类当中,企鹅更像专才,只在一个地方生活,而乌鸦却遍布世界,因为它们几乎能生长在任何地方并找到食物,此外它们还非常聪明。这也是我们为Perl 6设置的目标。

在“The Hundred-Year Language” 一文中,Paul Graham说得很好:我们无法知道一种延续了100年的语言到那时会是什么样子,但我们确定,它将从一种可演化的、能在一百年间满足新需求的语言起步。 Perl 6的设计秉持了这种可进化性的理念,那些最严格的规则多数都刻意保持语言对新需要的适配(严格的一遍解析和自时序语法便是两个例子)。当前的设计就大量使 用了从内部派生新语言的方法,处理诸如引号和模式匹配等次级语言,针对外部意图派生新语言也是一回事。

至于Perl 5会不会很快消失,我想指出的是,细菌、鱼类、蠕虫和各种简单的古生物依然遍布世界,尽管更复杂、更聪明的生命体已演化出来(至少我们自认为自己更聪明,可有时我并不十分确定)

3. 现代编程语言的特性

动态性

运行在Vm上

并发

Dsl///4gl

抽象>>>限制自然语言

垃圾收集..

自动资源释放

异常机制

逻辑式语言都

4. 程序设计语言的发展经历了五代:

第一代语言:机器语言

第二代语言:汇编语言(亦称符号语言)

第三代语言:高级语言

|__       面向过程(如C、BASIC、Pascal)

|__        面向对象(如C++、java、C#)

第四代语言:数据库编程语言(也叫非过程化语言)

第五代语言:被称为人工智能语言

5. 编程思想的发展: 面向机器 到了面向应用

atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结的更多相关文章

  1. Atitit vod ver 12 new feature v12 pb2 影吧 视频 电影 点播 播放系统v12新特性

    Atitit vod ver 12 new feature v12 pb2 影吧 视频 电影 点播 播放系统v12新特性 项目分离从独立的se ver Run mode from brow ex to ...

  2. 如何给不支持新特性的浏览器打补丁(让老版本IE兼容新特性)

    一个非常棒的 JavaScript 框架叫做 Modernizr(http://www.modernizr. com),用于向缺少 HTML5/CSS3特性支持的浏览器打补丁.由 Alexander ...

  3. 重新想象 Windows 8.1 Store Apps (91) - 后台任务的新特性: 下载和上传的新特性, 程序启动前预下载网络资源, 后台任务的其它新特性

    [源码下载] 重新想象 Windows 8.1 Store Apps (91) - 后台任务的新特性: 下载和上传的新特性, 程序启动前预下载网络资源, 后台任务的其它新特性 作者:webabcd 介 ...

  4. 【Java8新特性】一张图带你领略Java8有哪些新特性

    写在前面 很多小伙伴留言说,冰河你能不能写一些关于Java8的文章呢,看书看不下去,看视频进度太慢.好吧,看到不少读者对Java8还是比较陌生的,那我就写一些关于Java8的文章吧,希望对大家有所帮助 ...

  5. [译]java9新特性:在接口中用pirvate方法让default(java8接口特性)更简练

    Java8 带来了许多改变,其中之一就是default修饰的接口方法. 这些方法改变了我们已知的接口,现在我们能够在接口中定义默认实现方法.默认实现方法的不同之处在于,在接口中用default修饰抽象 ...

  6. atitit.高级编程语言的特性 and 未来趋势与进化.doc

    atitit.高级编程语言的特性 and 未来趋势与进化.doc 1 编程语言的发展历程 1 1.1 编程语言的进化,起始发现背后的思想 :不论什么两个系统之间的复杂性,都能够通过加入一个抽象层要屏蔽 ...

  7. atitit.编程语言的未来趋势与进化结果

    atitit.编程语言的未来趋势与进化结果 1 语言就像物种一样,会形成进化树,没有前途的分支将枯死脱落. 1 2 机器语言 1 3 汇编语言 2 4 C语言, 硬件抽象层 2 5 高级语言:java ...

  8. Atitit 编程语言原理与概论attilax总结

    Atitit 编程语言原理与概论attilax总结 1. 语言的分类1 2. 语言评价标准1 3. 编程语言原理(第10版) 目录: 2 4. 代码之髓:编程语言核心概念2 5. <编程语言实现 ...

  9. Atitit. visual studio vs2003 vs2005 vs2008  VS2010 vs2012 vs2015新特性 新功能.doc

    Atitit. visual studio vs2003 vs2005 vs2008  VS2010 vs2012 vs2015新特性 新功能.doc 1.1. Visual Studio2 1.2. ...

随机推荐

  1. Android 4.0 x86安装教程 附带联网参数详细设置

    Android 4.0 x86是一个可以支持在电脑上运行的Android 4.0系统.没有手机一样也可以体验Android 4.0.这对玩机爱好者们来说也算得上是一个不大不小的好消息.不过目前的And ...

  2. STL源码剖析——hashtable

    二叉搜索树具有对数时间的搜索复杂度,但是这样的复杂度是再输入数据有足够的随机性的假设上哈希表在插入删除搜索操作上也具有常数时间的表现,而且这种表现是以统计为基础,不需要依赖输入元素的随机性 hasht ...

  3. mysql中避免使用保留字和关键字做列的名字

    设计数据表时,应尽量避免使用MySQL的关键字和保留字作为表名或列名. 比如key和keys为保留字,如果不小心使用关键字或者保留字作为列名字,执行下面的语句会出现语法错误: select * fro ...

  4. 一些LR的经验,讲的还不错

    https://blog.csdn.net/Dinosoft/article/details/50492309 记录一下.

  5. Android Logger日志系统

    文件夹 文件夹 前言 执行时库层日志库liblog 源代码分析 CC日志写入接口 Java日志写入接口 logcat工具分析 基础数据结构 初始化过程 日志记录的读取过程 前言 该篇文章是我的读书和实 ...

  6. facebook开源的adb 工具,解决adb连不上手机的问题

    一. fb-adb.fb-adb(https://github.com/facebook/fb-adb)

  7. crm2013安装和部署语言包

    步骤 1:安装语言包 假设具有执行 Microsoft Dynamics CRM for Microsoft Office Outlook 的用户,除了在执行 Microsoft Dynamics C ...

  8. Keepalived+Nginx实现高可用和双主节点负载均衡

    简介 Nginx可以实现高并发反向代理,lvs集群可以实现负载均衡,但是他们都有一个共同的弊端,就是Nginx,lvs架构中Director是单点故障,有没有一个好的方案解决这个问题呢?答案是有.通过 ...

  9. systemctl使用

    systemctl start httpd.service 这会启动httpd服务,就我们而言,Apache HTTP服务器. 要停掉它,需要以root身份使用该命令: systemctl stop ...

  10. angularjs中的$state.go

    路由是这么定义的: $stateProvider .state('page1', { url: '/page1', templateUrl: 'views/page1.htm', controller ...