首頁 > 後端開發 > Golang > go語言是系統語言嗎

go語言是系統語言嗎

青灯夜游
發布: 2023-03-17 19:17:10
原創
2729 人瀏覽過

go語言是系統語言。 Go語言是一門系統級語言,它為解決大型系統開發過程中的實際問題而設計,支援並發、規範統一、簡單優雅,性能強大;它的主要目標是「兼具Python 等動態語言的開發速度和C/C 等編譯型語言的效能與安全性」。 Go語言專門針對多處理器系統應用程式的程式設計進行了最佳化,使用Go編譯的程式可以媲美C或C 程式碼的速度,而且更安全、支援並行進程。

go語言是系統語言嗎

本教學操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

什麼是系統程式設計?為什麼Golang是一個系統程式語言?

系統程式設計是寫入軟體擴充或加強作業系統的功能。

系統程式的一個很好的例子是滑鼠和鍵盤的驅動程序,作業系統附帶的檔案管理系統。

甚至是整個的windows或是Mac系統。

電腦和手機上下載的Apps,臨時部落格頁面不被分類為系統程式設計。

當Google開發Go語言時,有一些希望解決的問題:

  • #編譯時間,不犧牲太多的效能。

  • 快速的執行時間相對於解釋語言。

  • 靜態二進制,不需要擔心系統依賴或是特殊的運行時。

  • 奏效的並發模型,容易些,容易用正確的方式做事。

所有這些屬性讓Golang可作為系統程式語言的一個好候選者。

go語言是系統語言嗎

Go語言是Google2009發布的第二款開源程式語言,是一門系統級語言。它為解決大型系統開發過程中的實際問題而設計,支援並發、規範統一、簡單優雅,性能強大;它的主要目標是「兼具Python 等動態語言的開發速度和C/C 等編譯型語言的性能與安全性」。

Go語言專門針對多處理器系統應用程式的程式設計進行了最佳化,使用Go編譯的程式可以媲美C或C 程式碼的速度,而且更加安全、支援並行進程。

背景介紹

Go語言是Google推出的一種全新的程式語言,可以在不損失應用程式效能的情況下降低程式碼的複雜性。 Google首席軟體工程師羅布派克(Rob Pike)說:我們之所以開發Go,是因為過去10多年間軟體開發的難度令人沮喪。

北京時間2010年1月10日,Go語言摘得了TIOBE公佈的2009年年度大獎。該獎項授予在2009年市場份額增長最多的程式語言。

Google資深軟體工程師羅布·派克(Rob Pike)表示,"Go讓我體驗到了從未有過的開發效率。"派克表示,和今天的C 或C一樣,Go是一種系統語言。他解釋道,"使用它可以進行快速開發,同時它還是一個真正的編譯語言,我們之所以現在將其開源,原因是我們認為它已經非常有用和強大。"

#2007年,谷歌把Go當作一個20%專案開始研發,也就是讓員工抽出本職工作以外時間的20%, 投入在這個專案上。除了派克外,該專案的成員還有其他Google工程師也參與研發。

派克表示,編譯後Go程式碼的運行速度與C語言非常接近,而且編譯速度非常快,就像在使用一個互動式語言。現有程式語言均未專門對多核心處理器進行最佳化。 Go就是Google工程師為這類程式所寫的語言。它不是針對程式設計初學者設計的,但學習使用它也不是非常困難。 Go支援面向對象,而且具有真正的閉包(closures)和反射 (reflection)等功能。

在學習曲線方面,派克認為Go與Java類似,對Java開發者來說,應該可以輕鬆學會 Go。之所以將Go作為一個開源專案發布,目的是讓開源社群有機會創建更好的工具來使用該語言,例如 Eclipse IDE中的插件。

在Google公開發布的所有網路應用程式中,都沒有使用Go,但是Google已經使用該語言開發了幾個內部專案。派克表示,Go是否會對Google即將推出的Chrome OS產生影響,還言之尚早,不過Go的確可以和Native Client配合使用。他表示"Go可以讓應用程式完美的運作在瀏覽器內。"例如,使用Go可以更有效率的實作Wave,無論是在前端或後台。

Go 同時具有兩種編譯器,一種是建立在GCC基礎上的Gccgo,另一種是分別針對64位元x64和32位元x86電腦的一套編譯器(6g和8g)。谷歌目前正在研發對ARM晶片和Android設備的支援。派克表示,"Android手機存在的問題是,我們一直沒有一個數學協處理器。"

目標

Go的目標是希望提升現有程式語言對程式庫等依賴性(dependency)的管理,這些軟體元素會被應用程式重複呼叫。由於存在並行程式模式,因此這種語言也被設計用來解決多處理器的任務。

Google大約2007年開始開發Go,並於2008年投入了一組全職員工。谷歌當初將該語言設計為一種系統程式語言,可以被用於網頁伺服器、儲存系統和資料庫中。但是谷歌認為,該語言還有望被用於其它領域。

功能

Google對Go寄予厚望。其設計是讓軟體充分發揮多核心處理器同步多工的優點,並可解決物件導向程式設計的麻煩。它具有現代的程式語言特色,如垃圾回收,幫助程式設計師處理瑣碎但重要的記憶體管理問題。 Go的速度也非常快,幾乎和C或C 程式一樣快,而且能夠快速製作程式。

Go的網站就是用Go建立,但Google有更大的野心。該軟體是專為建構伺服器軟體所設計(如穀歌的Gmail)。 Google認為Go還可以應用在其他領域,包括在瀏覽器內執行軟體,取代JavaScript的角色。

Go也能解決現今的一大挑戰:多核心處理器。一般電腦程式通常依序執行,一次進行一項工作,但多核心處理器更適合並行處理許多工作。 Pike說:我們自認有足夠的支持,可改善這方面的問題。

儘管Google對Go有很大的野心,該公司也明白,這項計畫無法完全取代現有的技術。 Pike說:我不認為我們能取代任何東西。我們只是創造出這個領域的另一個角色。

推薦學習:Golang教學

以上是go語言是系統語言嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板