将会改变未来IT世界的十种编程语言
这里要说的都是革新,说这些的目的就是要保持关注最新技术。如果你是一个程序员,想要探寻未来技术,那这篇文章就是你的必读之选。我们这里列出了10种编程语言,10种将会改变IT世界工作方式的编程语言。这些语言已经在开始改变IT界的景象。看看吧:
Dart语言
这种语言由谷歌制造,用来替代Javascript,弥补Javascript在web应用中大量使用时出现的缺点。对于Dart语言,谷歌的希望是,它将成为web编程的新官方语言。它有着与C语言类似的语法和关键词。然而,一个跟Javascript的重大不同之处是,Javascript是以prototype为基础的语言,可Dart里对象是用类和接口定义的,跟C++和Java一样。Dart语言还允许程序员将变量声明为静态类型。
Ceylon语言
这种语言被称为“Java杀手”。是由Gavin
King(Hibernate创始人,现任职于红帽)创造的,但他否认是在红帽(Red Hat)公司里开发的。Gavin King对Java的抱怨包括:罗嗦的语法,缺少一等函数(first class)和高阶函数(higher-order),对元数据编程的支持很弱。特别的,他对缺少能够声明结构化数据定义的语法非常失望,他指出这使Java只能“跟在XML屁股后面使劲”。Ceylon语言的目标就是要解决所有这些问题。
Go语言
这个大家应该都知道了,谷歌创造了一个叫做Golang或Go的编程语言。据一些技术分析家说,它将最终完全替代Java。这是一种通用型的语言,可以用来开发任何软件——从普通应用到系统编程。虽然这种语言还不成熟,各种语言特征和规格还在变化,但程序员如今已经用它来开发工作了。
F#语言
这种语言已经在计算机科学研究和学术界里流行很久了。F#(发音是“F-sharp”),是一个微软制造的语言,设计时既考虑了功能性又考虑的实用性。因为它是一种可以运行在.NET通用语言运行环境(CLR)的一等函数(first-calss)语言,它能跟其它CLR语言(如C#和VB)一样可以访问.NET平台上的所有程序库和功能特征。
Opa语言
Web开发太复杂。即使一个简单的web应用,也会包含有多种语言交织的无数代码:客户端有HTML和Javascript,服务端有Java和PHP,数据库里有SQL,等等。Opa语言并不是来替代其中的某个语言。事实上,它是想一次把这些语言全消灭掉——通过倡导一种全新的Web编程模式。在一个Opa应用中,客户端UI,服务端逻辑,数据库I/O,全部由一种语言实现——Opa语言。
Fantom 语言
你是否开发过Java或.Net应用?如果使用Fantom开发,你可以选择使用它们任何一种平台,甚至中途切换平台。这是因为Fantom语言专门是为跨平台移植设计的。Fantom工程不仅包括一个可以输出JVM和.NET
CLI字节码的编译器,还包括一套从Java和.Net中提取的API,从而可以创建一个额外的可移植代码层。
Zimbu语言
这种奇特的语言从其它各种语言中吸取元素和成分,它是Bram
Moolenaar的智慧结晶。Bram Moolenaar是Vim文本编辑器的缔造者。这种语言被规划为要快,简洁,可移植,易读。它的语法独特、与众不同,但功能丰富。使用C语言风格的表达式和操作符,但有自己的关键字、数据类型和块结构。它支持内存管理,线程,管道。可移植是它的核心理念。尽管Zimbu是一种编译型语言,但Zimbu编译器输出的是ANSI C代码,这样可以让本地的C编译器来把它编译成本地平台的二进制代码。
X10语言
这是一种并行处理语言,曾经只是用在特定领域里的软件开发。然而,随着多核CPU和分布式计算的普及,今天的其它编程语言都似乎跟不上这种趋势的步伐。这就是为什么IMB研究机构开发了X10语言——一种专门为现代并行架构设计的语言,目标就是要把开发效率提高“10倍”。X10语言的并行能力来自使用分块全局寻址空间(PGAS)编程模式。代码和数据被分割成小的单元,分布到一个或多个“空间”,使得将一个单线程程序升级成运行在多核处理器上的多线程程序变得简单。
haXe语言
haXe(发音是“hex”)胜过任何一种可移植的编程语言。它是一种可以应用到多种操作环境的多平台语言——从本地二进制到脚本解释器到虚拟机。程序员用它开发出代码,然后编译成目标代码,JavaScript,PHP,Flash/ActionScript或NekoVm字节码等。
Chapel语言
对于应对当今世界高性能计算的特性,Chapel是一种出色的编程语言。这种语言专门为超级计算机和集群设计的,它是Cray(超级计算机之父)的Cascade研究课题的一部分,由美国国防部高级研究计划局(DARPA)参与启动,有一个宏大的高性能计算设想。Chapel语言的语法有很多源头,除了常见的如C,C++,Java外,它还借鉴了一些科学研究性语言(比如Fortran和Matalb)里的概念。它的并行处理特征是受ZPL和High-Performance
Fortran的影响,这些语言也都是Cray的早期研究项目。
将会改变未来IT世界的十种编程语言的更多相关文章
- 【分享】改变未来的九大算法[pdf][清晰扫描版]
[下载地址]http://www.colafile.com/file/1179688 图书信息:中文名: 改变未来的九大算法作者: 约翰·麦考密克译者: 管策图书分类: 软件资源格式: PDF版本: ...
- 4星|《超级技术:改变未来社会和商业的技术趋势》:AI对人友好吗
超级技术:改变未来社会和商业的技术趋势 多位专家或经济学人编辑关于未来的预测,梅琳达·盖茨写了其中一章.在同类书中属于水平比较高的,专家只写自己熟悉的领域,分析与预测有理有据而不仅仅是畅想性质. 以下 ...
- 转:几十种编程语言的快速入门教程- learnxinyminutes.com
原文来自于:http://top.jobbole.com/15551/ 这家网站的名称是 Learn X in Y minutes,包括了几十种编程语言的快速学习入门教程.打开几种编程语言来看了一下, ...
- 当音乐学博士搞起编程,用一本书改变了Java世界!
前言 说到Spring,也许现在的开发者们最先想到的是 Josh Long 超快的语速与现场代码能力,让很多Java开发者折服. 然后Spring的历史上,最传奇的还是要数其创始人:Rod Johns ...
- SaaS怎样改变了商务世界
当下,全球的经济环境愈发复杂,竞争日益激烈,这就要求企业负责人高速适应和调整战略应对挑战.假设你的企业可以优化内部操作流程,走在新技术的前沿,你就行减少成本.改善服务质量.没有及时应对的企业非常快就会 ...
- Linux系统默默改变了人类世界的生活方式
你知道操作系统都有些什么吗?Windows啊.这是我在上大学之前的问答,我当时认为只一种叫做Windows的操作系统,可是我错了,当我上大学以后,作为计算机专业的一名学生的时候我第一次接触到了除Win ...
- <改变未来的九大算法>读书笔记二
原理 数据库的一致性 1.事务和代办事项表把戏(预写日志记录) 1.代办事项表把戏:先把要执行的的操作写入硬件,即写日志.即使数据库操作错误,也可根据日志来纠正.对日志的操作具有等幂性,即日志中的每项 ...
- 改变CSS世界纵横规则的writing-mode属性
改变CSS世界纵横规则的writing-mode属性 这篇文章发布于 2016年04月27日,星期三,23:12,归类于 css相关. 阅读 8292 次, 今日 71 次 by zhangxinxu ...
- 【云栖大会】阿里巴巴集团CTO张建锋:用计算和数据去改变整个世界
摘要: 当浩瀚的数字化信息能够联网在线,在万物互联网的新世界中,所有东西都可能有感知.变智能,想象一下电表.冰箱.心电图监测仪等设备的信息都能数字化并联网,从城市管理到个人生活,都会迎来翻天覆地的变化 ...
随机推荐
- Openfire 配置连接SQL SERVER(非默认实例)
安装好Openfire之后,紧接着进行配置. 连接数据库的时候遇上问题. 打算用我本机上的一个SQL SERVER做为数据库.但是,我本机装了几个SQL SERVER实例,现在我打算使用的是那个非默认 ...
- hibernate初步3
事务和并发 1.事务概念 一组不可分割的操作,事务有如下属性(ACID 属性:Atomic Consistent Isolated Durable)(1)原子性---Atomic 事务的原子性指的是 ...
- C++ 中的友元(friend)
首先友元不是一个好的设计,它破坏了封装.并且自身有很多局限:比如友元关系不能被继承:友元关系是单向的,不具有交换性:友元关系不具有传递性. 类内声明的 friend 变量(或者函数)在访问该类的成员时 ...
- P2831 愤怒的小鸟 状压dp
这个题主要是预处理比较复杂,先枚举打每只鸟用的抛物线,然后找是否有一个抛物线经过两只鸟,然后就没了. 题干: 题目描述 Kiana 最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上 ...
- 803E
dp dp[i][j]表示到了i赢和输的差为j 如果这位是?向dp[i-1][j-1],dp[i-1][j],dp[i-1][j+1]转移,如果是W向dp[i-1][j-1]转移,如果是L向dp[i- ...
- Spark之Structured Streaming
目录 Part V. Streaming Stream Processing Fundamentals Structured Streaming Basics Event-Time and State ...
- Springboot统一跨域配置
前言:跨域是什么? 要知道跨域的概念,我们先明确怎样算是同一个域: 同一个域指的是同一协议,同一ip,同一端口 如果这三同中有一者不同就产生了跨域. 在做前后端分离的项目中,通过ajax请求后台端口时 ...
- BZOJ 2406 二分+有上下界的网络流判定
思路: 求出每行的和 sum_row 每列的和 sum_line 二分最后的答案mid S->i 流量[sum_row[i]-mid,sum_row[i]+mid] i->n+j ...
- BootStrap 资源包的下载和使用
将附件中的包解压,放置webroot中,并在jsp页面中引用它们,即可以使用 bootstrap.rar (78.9 KB) 下载次数: 0
- JS排序之快速排序
JS排序之快速排序 一个数组中的数据,选择索引为(2/数组长度)的那个数据作为基数,数组中的其他数据与它对比,比它数值小的放在做数组,比它数值大的放在右数组,最后组合 左数组+基数+右数组,其中,左数 ...