2KB项目,专业的源码交易网站 帮助 收藏 每日签到

选择正确的开源编程语言

  • 时间:2019-01-23 18:27 编辑:2KB 来源:2KB.COM 阅读:343
  • 扫一扫,手机访问
  • 分享
摘要: 英文原文:Cho
英文原文:Choosing right open source programming language

要选择编程语言通常很困难,因为有非常多的选项。 在这篇文章中,试图学习编码的新手可以看到顶尖编程语言的有关概述,文中分析了编码的简洁性和复杂性,并权衡每种语言的利弊。
技术界每年都在革新壮大。市场竞争越来越激烈,每家公司都试图保持最高的地位。为面对竞争,每个IT组织都需要精通各种编程语言的程序员、Web开发人员和应用程序开发人员。当今可用的开源和商业编程语言多种多样,每种都有不同的特征和功能。

软件开发的支柱是源代码,它是由成千上万的程序员编写由计算机解释的指令集。源代码指示应用程序做什么以及如何做。源代码是程序的蓝图。
为了编码,程序员决定采用哪种编程语言是非常重要的,因为有很多可用的。一些编程语言是开源的,一些是商业的。现在的趋势是每个IT企业都在转向开源。根据最新的调查,超过80%的企业使用开源技术构建各种应用程序。
下面给出了一些顶级的开源编程语言,以及一个简短的描述,让读者熟悉它们。

1. Google 的 Go

Google 的编程语言 Go,也就是常说的 golang,由 Robert Griesemer、Rob Pike 和 Ken Thompson 创造。Go 及基配套工具的主要目的是高效而富有表现的编译和执行,以及高效的编写健壮可靠的程序。Go 是一种静态类型语言,语法和 C 相似。它提供了垃圾收集,类型安全,具有动态类型能力以及许多高级的内建类型,比如可变长度的数组、键值映射表等。

Go 是一种易于表达、简洁、干净和高效的语言。利用它的并发机制可以很容易的编写程序来利用多核和网络中的设备,而其独特的类型系统可以构造灵活和模块化的程序。Go 可以很快的编译出机器代码,拥有垃圾回收的能力的在运行时强大的反射处理能力。它是快速的,静态类型的,编译型的语言,然后使用起来却有动态类型、解释型的语言的感觉。

Go 最新的版本是 1.6.3。

用 Go 编写的 ‘Hello World’ 在这里:

package main
import "fmt"
func main() {
          fmt.Println("Hello World”)
}

Go 的优点

  • 与其它语言相比,Go 语言编译和执行都很快。即使与那些编译速度很快的语言相比也是如此。它是非常时尚的高性能语言。

  • Go 被认为是一种非常强大的语言,本身就具有并发性和高度抽象的特点。它具备一系列程序来启动并发工作,并使用通道的概念来处理通信和同步。

  • Go 是一种高级语言,具有标准文档特性和一个强大而丰富的标准库,包含了完全成功可用的 Web 服务。

  • Go 有一个活跃和社区,可以为各处问题提供支持。

Go 的缺点

  • Go 是一种较新主,还未拥有足够的库,所以需要辛苦开发者开发自己的库。

  • Go 缺乏书箱资源、研究类文章和其它在线资源,难以提供给用户系统学习的环境。

  • Go 学习难度大,其错误处理也让人郁闷。

其它翻译版本 (1) 加载中

2. Swift

Swift是一种新通用,多范式,编译型的编程语言,适用于iOS和OS X,watchOS,tvOS和Linux等系统。 它是由苹果公司建立的,基于最好的C语言和Objective-C,对C语言的兼容性没有任何约束。 Swift的开发由Chris Lattner与Apple的其他程序员开始进行的,通盘考虑了来自许多编程语言如Objective-C,Rust,Haskell,Ruby,Python,C#和CLU的想法。 Swift基本上用来开发与苹果的Cocoa和Cocoa Touch框架相关的工作,并且Xcode 6中有一个内置的LLVM编译器框架,使用的是Objective-C运行库。

最新版本的Swift是3.0 Preview 2。

Swift中运行“Hello World”程序的语法是:

import Cocoa
/* My first program in Swift */
var myString = "Hello, World!"
println(myString)

Swift 的优点

  • Swift 因为减少了开销和语法要求,相对容易阅读和编写,对于新手来说它非常友好。

  • Swift 有着将函数作为变量传递的独特优势,可以让总体代码较短。Swift 让开发者能写高度通用的代码,执行不同的东西,减少重复。

  • Swift 能直接编译成符合 Objective 2.0 和苹果 ARC 内存管理技术的本地代码和工具。

  • Swift 的语法和语言结构使其不容易出错,只会出现几种类型的错误,从而使其从崩溃和一些意想不到的行为中解脱出来。

Swift 的缺点

  • 多数内部的示例都使用  Objectvie C 编写,所以为了使用  Swift 编程,还得学 Objective C。

  • Swift 还在经历着重大的变化,新版本会带来大量的变化,对于其中一些变化,不论专家还是新手都可能难以理解。

  • Swift 只能用于开发 iOS 和 OS X 应用,它受限于开发平台。

  • Swift 比 Objective-C 更慢,也就是说这些现代的语法、简洁的代码结构以及在运行仿真和测试时,Swift 程序都需要花更多时间。

3. Hack

Hack 是开源的通用性编程语言,是一种脚本语言,用于 HipHop 虚拟机 (HHVM)。它是一个由 Facebook 开发的 PHP方言。Hack 专门为开发 Web 而设计,非常容易与 HTML 集成。Hack 允许程序员使用静态类型和动态类型,也称为渐进类型,因此它支持对 PHP 进行快速的开发。

Hack 提供了各种重要的特性,下面列举了其中一些。
类型注解: 此特性允许在代码中显式申明参数、类成员和返回值和类型。
泛型: 这允许类和方法可以像 C# 或者 Java 一样参数化。
要空类型: 这个特性让 Hack 以一种安全的方式,利用 ‘?’ 运算符处理 null。
集合: 这个特性提供了一流的、内置的、参数化的类型,比如 Vector、Map、Set 和 Pair。
Lambdas: 允许定义一等类型的函数

这里是 Hack 的 ‘Hello World’。
在安装 HHVM 之后,输入下面的命令启动:

Hhvm –m server –p 8080
<?hh
Echo “Hello World!”;

Hack 的优点

  • Hack 代码混合了PHP代码. 在PHP中使用的<?php,  在Hack中用<?hh代替,这使得在Hack和PHP之间可以顺利交替。

  • Hack 使用HHVM运行,HHVM具有阶段性的类型检查用来验证代码的一致性。

  • Hack 用于通过确保正确的组织和无错误的代码并以极快的速度构建复杂的网站,而且为程序员提供了一个独特的安全优势来编写无bug的代码。

Hack 的缺点

  • 它包含一些过时的功能,这些就是使PHP成为一种简单的语言的原因。

  • HTML代码不能直接嵌入到Hack代码中,并且代码不能写在函数或类之外。

  • 作为一种新语言,Hack有很多bug和错误,就目前来说,这些问题导致它成为一种不稳定的语言。


4. Rust

Rust是一门通用的,多种形态的系统编程语言。它的主要特性:安全,速度快,支持并发性。来自Mozilla Research的Graydon Hoare设计了Rust,他使用了LLVM作为Rust的后台。归功于开发小组编写过叫Servo的web浏览器布局引擎和Rust编译器的经验,Rust的设计得到了完善。Rust是一门智能化的开源语言。相比其他编程语言,它有许多编译期安全验证,这样就可以不用生成运行期支出以及清除掉所有数据痕迹,这是Rust的一个优点。对于多核系统的并发执行,Rust的内置功能最有用,它可以在不使用垃圾收集的同时保证并发编程内存安全。值得一提的是,Rust是唯一支持这一功能的语言。

Rust最新稳定版是1.10。
在Rust中 ‘Hello World’编码如下:

fn main() {
    println!("Hello, world!");
}

Rust 的优点

  • 除了低级别的优化和性能外,安全和稳定的运行使得Rust适用于开发人员和项目实践。 Rust增加了许多高级的函数式编程技术,使它看上去即像低级语言又像高级语言。

  • Rust具有一个扩大的标准库,且正在不停地扩展。这个标准库聚焦于文件系统的访问,计算机网络设计、时间和集合API。

  • Rust支持多平台开发,从Windows,Android 到甚至ARM设备,还包括其他的平台。

Rust 的缺点

  • Rust学习难度大,编码更加复杂。异常处理非常难,尤其对于新手来说。

  • Rust由于缺乏有用的文档,是相当不成熟的语言。

  • 在整个行业里,Rust到目前为止还没有得到太多使用。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部