atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结
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.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结的更多相关文章
- 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 ...
- 如何给不支持新特性的浏览器打补丁(让老版本IE兼容新特性)
一个非常棒的 JavaScript 框架叫做 Modernizr(http://www.modernizr. com),用于向缺少 HTML5/CSS3特性支持的浏览器打补丁.由 Alexander ...
- 重新想象 Windows 8.1 Store Apps (91) - 后台任务的新特性: 下载和上传的新特性, 程序启动前预下载网络资源, 后台任务的其它新特性
[源码下载] 重新想象 Windows 8.1 Store Apps (91) - 后台任务的新特性: 下载和上传的新特性, 程序启动前预下载网络资源, 后台任务的其它新特性 作者:webabcd 介 ...
- 【Java8新特性】一张图带你领略Java8有哪些新特性
写在前面 很多小伙伴留言说,冰河你能不能写一些关于Java8的文章呢,看书看不下去,看视频进度太慢.好吧,看到不少读者对Java8还是比较陌生的,那我就写一些关于Java8的文章吧,希望对大家有所帮助 ...
- [译]java9新特性:在接口中用pirvate方法让default(java8接口特性)更简练
Java8 带来了许多改变,其中之一就是default修饰的接口方法. 这些方法改变了我们已知的接口,现在我们能够在接口中定义默认实现方法.默认实现方法的不同之处在于,在接口中用default修饰抽象 ...
- atitit.高级编程语言的特性 and 未来趋势与进化.doc
atitit.高级编程语言的特性 and 未来趋势与进化.doc 1 编程语言的发展历程 1 1.1 编程语言的进化,起始发现背后的思想 :不论什么两个系统之间的复杂性,都能够通过加入一个抽象层要屏蔽 ...
- atitit.编程语言的未来趋势与进化结果
atitit.编程语言的未来趋势与进化结果 1 语言就像物种一样,会形成进化树,没有前途的分支将枯死脱落. 1 2 机器语言 1 3 汇编语言 2 4 C语言, 硬件抽象层 2 5 高级语言:java ...
- Atitit 编程语言原理与概论attilax总结
Atitit 编程语言原理与概论attilax总结 1. 语言的分类1 2. 语言评价标准1 3. 编程语言原理(第10版) 目录: 2 4. 代码之髓:编程语言核心概念2 5. <编程语言实现 ...
- 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. ...
随机推荐
- appium+python自动化57-chromedriver与chrome版本
前言 由于app的webview自动化是依赖于chromedriver的,并且每个app的webview版本号都不太一样,这就导致了,每次都需要重新去下载对应的chromedriver版本.如何根据当 ...
- UIBezierPath的使用(持续更新)
UIBezierPath的使用 1. 使用UIBezierPath绘制多边形 // 获取path UIBezierPath *aPath = [UIBezierPath bezierPath]; // ...
- windows服务与计划任务
1. 打开Visual Studio 2012新建一个project Solution: 2. 选择Windows->windows Service,修改服务名称:MyFirstService: ...
- [android] Activity 的生命周期 以及横屏竖屏切换时 Activity 的状态变化
生命周期Android 系统在Activity 生命周期中加入一些钩子,我们可以在这些系统预留的钩子中做一些事情.例举了 7 个常用的钩子:protected void onCreate(Bundle ...
- mac活动监视器 的含义
应用内存:应用所使用的内存数量. 联动内存:系统运行需要的内存.联动内存不能缓存且必须存放在内存中,所以不能被其他应用使用. 压缩:为腾出更多内存而压缩的内存数量.当电脑接近其最大内存能力时,内存中的 ...
- SPSS Clementine 数据挖掘入门2
下面使用Adventure Works数据库中的Target Mail作例子,通过建立分类树和神经网络模型,决策树用来预测哪些人会响应促销,神经网络用来预测年收入. Target Mail数据在SQL ...
- vs中debug和release的区别你知道吗
在Visual Studio中,生成应用程序的时候有2种模式:Debug和Release.两者之间如何取舍呢? 一.vs中debug和release的区别 1.Debug 通常称为调试版本,它包含调试 ...
- .NET中的六个重要概念
内容导读 概述 当你声明一个变量背后发生了什么? 堆和栈 值类型和引用类型 哪些是值类型,哪些是引用类型? 装箱和拆箱 装箱和拆箱的性能问题 一.概述 本文会阐述六个重要的概念:堆.栈.值类型.引用类 ...
- 使用mocha测试
学习了MOCHA官网的示例,将学习成果记录一下.[原文+例子:使用mocha测试] mocha是什么 Mocha是一个跑在node和浏览器上的javascript测试框架,让异步测试变得简单有趣, 并 ...
- ExtAspNet下通过文档路径实现文档的下载
<ext:Button ID="Button1" runat="server" Text="Button" OnClick=" ...