偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

為什么Android應(yīng)該轉(zhuǎn)為Go語言開發(fā)?

移動開發(fā) Android
我能肯定大家最近都了解到了關(guān)于Oracle(甲骨文)正在向Google索要Java的專利費,因為他們認(rèn)為Google開發(fā)的Android移動操作系統(tǒng)使用了他們的專利。這是非?;闹嚨?,Java的流行就是因為Java的大部分東西都是開源的。(這也不是Oracle第一次向別的公司索要專利費)。

我能肯定大家最近都了解到了關(guān)于Oracle(甲骨文)正在向Google索要Java的專利費,因為他們認(rèn)為Google開發(fā)的Android移動操作系統(tǒng)使用了他們的專利。這是非常荒謬的,Java的流行就是因為Java的大部分東西都是開源的。(這也不是Oracle第一次向別的公司索要專利費)。

在有很多更好的語言可以選擇的情況下,為什么Google仍然還要使用Java來開發(fā)Android呢?Google最終選擇Java的原因是因為Java非常流行,而且Java可以通過一定程度的定制完成底層的硬件操作(比如C),然而一些更高層的語言(比如JavaScript)并沒有這種功能。一旦Google選擇了這樣一個非常流行的語言,對于開發(fā)者來講,上手Android 開發(fā)也變得簡單的多。

最近一段時間Android是最流行的移動平臺,但是IOS的市場份額也非常接近。你知道IOS選擇的編程語言么?對是Objective-C,除了開發(fā)蘋果的產(chǎn)品之外,幾乎沒有人使用Objective-C。所以說蘋果選擇了一種不流行的,但是基本上是自己控制的語言平臺。

Google確實需要為Android選擇另外的編程語言,一個自己有更多的控制權(quán)限的語言,是否流行并不重要(比如IOS)。Google應(yīng)該選擇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語言的發(fā)展。Go是在BSD協(xié)議下發(fā)布的開源語言,這意味著所有的開發(fā)者可以在任何地方使用它。另外,Go是一個操作系統(tǒng)級的語言。這里有一些關(guān)于Go的信息。

Go語言在現(xiàn)有的系統(tǒng)編程語言環(huán)境遇到困難時誕生了。程序設(shè)計變得如此的困難,而選擇語言就是其中很大的一個原因。開發(fā)者不得不選擇一個高效編譯、高效執(zhí)行且開發(fā)簡單的語言,而這三種特性在現(xiàn)代的語言中并不會同時存在。程序開發(fā)者如果想選擇簡單勝過安全的語言,可能轉(zhuǎn)向動態(tài)類型的語言,例如Python、JavaScript而不是C++、Java。Go語言是一個試圖結(jié)合動態(tài)類型和靜態(tài)類型,編譯效率和安全性以及語言的易用性等眾多特性與一體的一種嘗試。他的另一個目標(biāo)是支持現(xiàn)代的基于網(wǎng)絡(luò)的、基于多核的計算。最后,Go還是非??斓?,他可以在單個計算機(jī)上僅僅花費幾秒時間構(gòu)建一個龐大的應(yīng)用程序。為了達(dá)到這些目標(biāo)需要解決這些語言問題:靈活的類型系統(tǒng)、并發(fā)的垃圾回收、強(qiáng)制的依賴規(guī)范等等。這些東西不是舊的語言一些庫或者工具可以處理的,這也就是他被稱為新的編程語言的原因。

這里有我提到的三種語言的語法比較:

Go版本的HelloWorld:

  1. package main  
  2. import "fmt"  
  3. func main() {  
  4.     fmt.Println("Hello, World!")  

Java版本的HelloWorld:

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

Objective-C版本的HelloWorld

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

【編輯推薦】

  1. 微軟開發(fā)新應(yīng)用把 Android app “移植”到 WP
  2. 通過Titanium將Metro UI移植到iOS/Android上
  3. Titanium中Android模塊開發(fā):@Kroll注解詳解
責(zé)任編輯:冰凝兒 來源: OSCHINA.NET
相關(guān)推薦

2022-01-17 16:09:43

Go語言開發(fā)

2020-04-07 16:12:56

Go編程語言開發(fā)

2024-01-02 10:38:22

Go語言數(shù)組

2016-09-27 21:25:08

Go語言Ken Thompso

2018-05-02 12:34:48

2023-03-06 08:01:25

structGo語言

2025-07-01 07:37:27

2023-11-20 22:26:51

Go開發(fā)

2012-11-13 10:27:45

PythonGo編程語言

2022-01-10 23:54:56

GoMap并發(fā)

2018-07-09 14:05:16

編程語言PythonPipenv

2012-08-20 09:16:15

Go語言

2021-10-11 13:25:42

語言Go類型

2024-01-15 00:42:55

Go語言應(yīng)用程序

2024-01-01 08:10:40

Go語言map

2024-01-05 08:45:35

Go語言map

2016-01-08 10:17:10

Android開發(fā)

2017-09-08 08:35:16

Android代碼API設(shè)計

2022-05-06 08:00:00

APIBallerina編程語言

2020-02-27 21:03:30

調(diào)度器架構(gòu)效率
點贊
收藏

51CTO技術(shù)棧公眾號