如何选择编程语言?


好吧,你现在是否准备好去学习一个新的编程语言了吗?或许你之前没有接触过这个领域,那欢迎你来到应用开发的新世界。或者你已经在这个应用开发的领域里已经摸爬滚打了好几年了,但是你想开始一个新的领域。选择一种编程语言是一个并不是很好办的工作。这儿给出一个步骤(查看原图查看大图


这儿共提到了15种编程语言:C#,Java,Objective C,Ruby,Python,Groovy,Clojure,Scala,Go,Io,C++,Lua,ActionScript,Erlang,Haskell。

说来惭愧,作为一个计算机专业出身编程人员,竟然有好几种语言我听都没有听说过。不知道大家对这些是否都了解?

在这些语言中,C#,Java,C++这三种语言大家应该都知道吧。这也是现在比较流行的编程语言。Objective C是大名鼎鼎的苹果公司的语言,其iOS上的应用都是用该语言开发的。

Ruby,Python,Lua这三种语言是我听说过,但是没有使用过的语言。这与前面的语言不同是这些是脚本语言,而像C#,C++,Java这些都是编译性语言。

其中的Go语言,知道有这么一回事,是现在Google主推的语言。它是Google2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

剩下的其他的语言基本都没有听说过,下面是我从网上找到的一些材料,主要是对这些语言进行了一点介绍,如果大家觉得这种语言不错的话,可以自己去网上找一些材料进行学习。

Groovy是一种基于JVM的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性。Java开发者可以使用类似Java的语法来获得这些特性的支持。Groovy被设计为帮助你在Java平台上以快速的、更简洁和有趣的方式完成事情,将Python和Ruby的强大功能带到Java平台内部。

谈到Clojure语言,不得不提到Lisp语言。Lisp语言是由约翰·麦卡锡在1960年左右创造的一种基于λ演算的函数式编程语言,以表达性和功能强大著称,但人们通常认为它不太适合应用于一般情况。Clojure 是一种运行在 Java平台上的 Lisp 方言,它的出现彻底改变了这一现状。

Scala是一种针对JVM 将函数和面向对象技术组合在一起的编程语言。Scala编程语言近来抓住了很多开发者的眼球。它看起来像是一种纯粹的面向对象编程语言,而又无缝地结合了命令式和函数式的编程风格。Scala的名称表明,它还是一种高度可伸缩的语言。Scala的设计始终贯穿着一个理念:创造一种更好地支持组件的语言。

Groovy、Clojure和Scala都是运行在JVM(Java虚拟机)上的语言,从这儿我们也可以看到Java的影响其实很大的。JVM支持跨平台。

Io最早发布在2002年,它混合了Lua、Lisp、Smalltalk和其他一些语言的某些方面的一个小语言。Io属于“解释型”语言家族(像Perl、Python等等),这种语言的代码并不是通过编译而至直接解释并运行的。和很多“解释型”语言一样,Io也是高度动态的:一个程序可以迅速地生成并解释新的代码。

ActionScript是Flash的脚本语言,与JavaScript相似,ActionScript是一种面向对象编程语言。

Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适合于构建分布式,实时软并行计算系统。

Haskell是一种纯函数式编程语言,它的命名源自美国数学家Haskell Brooks Curry,他在数学逻辑方面上的工作使得函数式编程语言有了广泛的基础。Haskell语言是1990年在编程语言Miranda的基础上标准化的,并且以λ演算为基础发展而来。这也是为什么Haskell语言以希腊字母“λ”(Lambda)作为自己的标志。

最后还有一点,我觉得大家也应该注意到了,这儿没有大名鼎鼎的C语言,C语言的强大之处我就不再说了,至于为什么没有提到,我也不好猜测,大家自己可以思考一下。

via SH
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值