为什么Android应该转为Go语言开发?

王振威
 王振威
发布于 2012年05月19日
收藏 11

我能肯定大家最近都了解到了关于Oracle(甲骨文)正在向Google索要Java的专利费,因为他们认为Google开发的Android移动操作系统使用了他们的专利。这是非常荒谬的,Java的流行就是因为Java的大部分东西都是开源的。(这也不是Oracle第一次向别的公司索要专利费)。

在有很多更好的语言可以选择的情况下,为什么Google仍然还要使用Java来开发Android呢?Google最终选择Java的原因是因为Java非常流行,而且Java可以通过一定程度的定制完成底层的硬件操作(比如C),然而一些更高层的语言(比如JavaScript)并没有这种功能。一旦Google选择了这样一个非常流行的语言,对于开发者来讲,上手Android 开发也变得简单的多。

最近一段时间Android是最流行的移动平台,但是IOS的市场份额也非常接近。你知道IOS选择的编程语言么?对是Objective-C,除了开发苹果的产品之外,几乎没有人使用Objective-C。所以说苹果选择了一种不流行的,但是基本上是自己控制的语言平台。

Google确实需要为Android选择另外的编程语言,一个自己有更多的控制权限的语言,是否流行并不重要(比如IOS)。Google应该选择Go,在golang.org上我们可以看到:

Go is an open source project developed by a team at Google and many contributors from the open source community. Go is distributed under a BSD-style license.

Go是一个新的并没有多少用户的语言,但是Obective-C同样。Google是Go语言的奠基人,可以完全控制Go语言的发展。Go是在BSD协议下发布的开源语言,这意味着所有的开发者可以在任何地方使用它。另外,Go是一个操作系统级的语言。这里有一些关于Go的信息。

Go语言在现有的系统编程语言环境遇到困难时诞生了。程序设计变得如此的困难,而选择语言就是其中很大的一个原因。开发者不得不选择一个高效编译、高效执行且开发简单的语言,而这三种特性在现代的语言中并不会同时存在。程序开发者如果想选择简单胜过安全的语言,可能转向动态类型的语言,例如Python、JavaScript而不是C++、Java。Go语言是一个试图结合动态类型和静态类型,编译效率和安全性以及语言的易用性等众多特性与一体的一种尝试。他的另一个目标是支持现代的基于网络的、基于多核的计算。最后,Go还是非常快的,他可以在单个计算机上仅仅花费几秒时间构建一个庞大的应用程序。为了达到这些目标需要解决这些语言问题:灵活的类型系统、并发的垃圾回收、强制的依赖规范等等。这些东西不是旧的语言一些库或者工具可以处理的,这也就是他被称为新的编程语言的原因。

这里有我提到的三种语言的语法比较:

Go版本的HelloWorld:

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

Java版本的HelloWorld:

class ArbitraryClassName {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

Objective-C版本的HelloWorld

#import <stdio.h>
int main( int argc, const char *argv[] ) {
    printf("Hello World!");
    return 0;
}

OSCHINA.NET原创翻译/原文链接

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:为什么Android应该转为Go语言开发?
加载中

最新评论(41

JDZChao
JDZChao

真是不小心挖坟进来了,GO在当年这么多人鄙视啊?

shikeaiDev
shikeaiDev

引用来自“风筝上的少年”的评论

什么fmt啊,go真丑

您的无知更丑陋。
happem
happem
真是很不错的文章,现在哪个方向都用得到C语言,C++等编程语言。最近看到一篇关于1012年Android开发行业一些讲解:分享给大家看看http://www.lirenedu.org/index.php?ack=xinwen&id=917
o
oszhengcn
q
Jakes
Jakes

引用来自“hyc2zbj”的评论

语言无所谓的吧。安卓主要问题是生态环境太糟糕了。

没错,现在很多厂家都搞自己的版本。
jingshishengxu
jingshishengxu
android 应该支持用basic语言开发APP
walterg
walterg
Android并不是google开发出来的,而是它买的一个公司开发的,这个公司采用了linux+java,模糊的记得好像也可以用C还是C++开发一些东西。
返回顶部
顶部