老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

go語言類似django go語言和什么比較像

GO語言商業案例(十八):stream

切換到新語言始終是一大步,尤其是當您的團隊成員只有一個時有該語言的先前經驗。現在,Stream 的主要編程語言從 Python 切換到了 Go。這篇文章將解釋stream決定放棄 Python 并轉向 Go 的一些原因。

10年積累的成都網站建設、網站設計經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先建設網站后付款的網站建設流程,更有瑞昌免費網站建設讓你可以放心的選擇與我們合作。

Go 非常快。性能類似于 Java 或 C++。對于用例,Go 通常比 Python 快 40 倍。

對于許多應用程序來說,編程語言只是應用程序和數據庫之間的粘合劑。語言本身的性能通常并不重要。然而,Stream 是一個API 提供商,為 700 家公司和超過 5 億最終用戶提供提要和聊天平臺。多年來,我們一直在優化 Cassandra、PostgreSQL、Redis 等,但最終,您會達到所使用語言的極限。Python 是一門很棒的語言,但對于序列化/反序列化、排名和聚合等用例,它的性能相當緩慢。我們經常遇到性能問題,Cassandra 需要 1 毫秒來檢索數據,而 Python 會花費接下來的 10 毫秒將其轉換為對象。

看看我如何開始 Go 教程中的一小段 Go 代碼。(這是一個很棒的教程,也是學習 Go 的一個很好的起點。)

如果您是 Go 新手,那么在閱讀那個小代碼片段時不會有太多讓您感到驚訝的事情。它展示了多個賦值、數據結構、指針、格式和一個內置的 HTTP 庫。當我第一次開始編程時,我一直喜歡使用 Python 更高級的功能。Python 允許您在編寫代碼時獲得相當的創意。例如,您可以:

這些功能玩起來很有趣,但是,正如大多數程序員會同意的那樣,在閱讀別人的作品時,它們通常會使代碼更難理解。Go 迫使你堅持基礎。這使得閱讀任何人的代碼并立即了解發生了什么變得非常容易。 注意:當然,它實際上有多“容易”取決于您的用例。如果你想創建一個基本的 CRUD API,我仍然推薦 Django + DRF或 Rails。

作為一門語言,Go 試圖讓事情變得簡單。它沒有引入許多新概念。重點是創建一種非常快速且易于使用的簡單語言。它唯一具有創新性的領域是 goroutine 和通道。(100% 正確CSP的概念始于 1977 年,所以這項創新更多是對舊思想的一種新方法。)Goroutines 是 Go 的輕量級線程方法,通道是 goroutines 之間通信的首選方式。Goroutines 的創建非常便宜,并且只需要幾 KB 的額外內存。因為 Goroutine 非常輕量,所以有可能同時運行數百甚至數千個。您可以使用通道在 goroutine 之間進行通信。Go 運行時處理所有復雜性。goroutines 和基于通道的并發方法使得使用所有可用的 CPU 內核和處理并發 IO 變得非常容易——所有這些都不會使開發復雜化。與 Python/Java 相比,在 goroutine 上運行函數需要最少的樣板代碼。您只需在函數調用前加上關鍵字“go”:

Go 的并發方法很容易使用。與 Node 相比,這是一種有趣的方法,開發人員必須密切關注異步代碼的處理方式。Go 中并發的另一個重要方面是競爭檢測器。這樣可以很容易地確定異步代碼中是否存在任何競爭條件。

我們目前用 Go 編寫的最大的微服務編譯需要 4 秒。與以編譯速度慢而聞名的 Java 和 C++ 等語言相比,Go 的快速編譯時間是一項重大的生產力勝利。我喜歡在程序編譯的時候摸魚,但在我還記得代碼應該做什么的同時完成事情會更好。

首先,讓我們從顯而易見的開始:與 C++ 和 Java 等舊語言相比,Go 開發人員的數量并不多。根據StackOverflow的數據, 38% 的開發人員知道 Java, 19.3% 的人知道 C++,只有 4.6% 的人知道 Go。GitHub 數據顯示了類似的趨勢:Go 比 Erlang、Scala 和 Elixir 等語言使用更廣泛,但不如 Java 和 C++ 流行。幸運的是,Go 是一種非常簡單易學的語言。它提供了您需要的基本功能,僅此而已。它引入的新概念是“延遲”聲明和內置的并發管理與“goroutines”和通道。(對于純粹主義者來說:Go 并不是第一種實現這些概念的語言,只是第一種使它們流行起來的語言。)任何加入團隊的 Python、Elixir、C++、Scala 或 Java 開發人員都可以在一個月內在 Go 上發揮作用,因為它的簡單性。與許多其他語言相比,我們發現組建 Go 開發人員團隊更容易。如果您在博爾德和阿姆斯特丹等競爭激烈的生態系統中招聘人員,這是一項重要的優勢。

對于我們這樣規模的團隊(約 20 人)來說,生態系統很重要。如果您必須重新發明每一個小功能,您根本無法為您的客戶創造價值。Go 對我們使用的工具有很好的支持。實體庫已經可用于 Redis、RabbitMQ、PostgreSQL、模板解析、任務調度、表達式解析和 RocksDB。與 Rust 或 Elixir 等其他較新的語言相比,Go 的生態系統是一個重大勝利。它當然不如 Java、Python 或 Node 之類的語言好,但它很可靠,而且對于許多基本需求,你會發現已經有高質量的包可用。

Gofmt 是一個很棒的命令行實用程序,內置在 Go 編譯器中,用于格式化代碼。就功能而言,它與 Python 的 autopep8 非常相似。我們大多數人并不真正喜歡爭論制表符與空格。格式的一致性很重要,但實際的格式標準并不那么重要。Gofmt 通過使用一種正式的方式來格式化您的代碼來避免所有這些討論。

Go 對協議緩沖區和 gRPC 具有一流的支持。這兩個工具非常適合構建需要通過 RPC 通信的微服務。您只需要編寫一個清單,在其中定義可以進行的 RPC 調用以及它們采用的參數。然后從這個清單中自動生成服務器和客戶端代碼。生成的代碼既快速又具有非常小的網絡占用空間并且易于使用。從同一個清單中,您甚至可以為許多不同的語言生成客戶端代碼,例如 C++、Java、Python 和 Ruby。因此,內部流量不再有模棱兩可的 REST 端點,您每次都必須編寫幾乎相同的客戶端和服務器代碼。.

Go 沒有像 Rails 用于 Ruby、Django 用于 Python 或 Laravel 用于 PHP 那樣的單一主導框架。這是 Go 社區內激烈爭論的話題,因為許多人主張你不應該一開始就使用框架。我完全同意這對于某些用例是正確的。但是,如果有人想構建一個簡單的 CRUD API,他們將更容易使用 Django/DJRF、Rails Laravel 或Phoenix。對于 Stream 的用例,我們更喜歡不使用框架。然而,對于許多希望提供簡單 CRUD API 的新項目來說,缺乏主導框架將是一個嚴重的劣勢。

Go 通過簡單地從函數返回錯誤并期望調用代碼來處理錯誤(或將其返回到調用堆棧)來處理錯誤。雖然這種方法有效,但很容易失去問題的范圍,以確保您可以向用戶提供有意義的錯誤。錯誤包通過允許您向錯誤添加上下文和堆棧跟蹤來解決此問題。另一個問題是很容易忘記處理錯誤。像 errcheck 和 megacheck 這樣的靜態分析工具可以方便地避免犯這些錯誤。雖然這些變通辦法效果很好,但感覺不太對勁。您希望該語言支持正確的錯誤處理。

Go 的包管理絕不是完美的。默認情況下,它無法指定特定版本的依賴項,也無法創建可重現的構建。Python、Node 和 Ruby 都有更好的包管理系統。但是,使用正確的工具,Go 的包管理工作得很好。您可以使用Dep來管理您的依賴項,以允許指定和固定版本。除此之外,我們還貢獻了一個名為的開源工具VirtualGo,它可以更輕松地處理用 Go 編寫的多個項目。

我們進行的一個有趣的實驗是在 Python 中使用我們的排名提要功能并在 Go 中重寫它。看看這個排名方法的例子:

Python 和 Go 代碼都需要執行以下操作來支持這種排名方法:

開發 Python 版本的排名代碼大約花了 3 天時間。這包括編寫代碼、單元測試和文檔。接下來,我們花了大約 2 周的時間優化代碼。其中一項優化是將分數表達式 (simple_gauss(time)*popularity) 轉換為抽象語法樹. 我們還實現了緩存邏輯,可以在未來的特定時間預先計算分數。相比之下,開發此代碼的 Go 版本大約需要 4 天時間。性能不需要任何進一步的優化。因此,雖然 Python 的最初開發速度更快,但基于 Go 的版本最終需要我們團隊的工作量大大減少。另外一個好處是,Go 代碼的執行速度比我們高度優化的 Python 代碼快大約 40 倍。現在,這只是我們通過切換到 Go 體驗到的性能提升的一個示例。

與 Python 相比,我們系統的其他一些組件在 Go 中構建所需的時間要多得多。作為一個總體趨勢,我們看到 開發 Go 代碼需要更多的努力。但是,我們花更少的時間 優化 代碼以提高性能。

我們評估的另一種語言是Elixir.。Elixir 建立在 Erlang 虛擬機之上。這是一種迷人的語言,我們之所以考慮它,是因為我們的一名團隊成員在 Erlang 方面擁有豐富的經驗。對于我們的用例,我們注意到 Go 的原始性能要好得多。Go 和 Elixir 都可以很好地服務數千個并發請求。但是,如果您查看單個請求的性能,Go 對于我們的用例來說要快得多。我們選擇 Go 而不是 Elixir 的另一個原因是生態系統。對于我們需要的組件,Go 有更成熟的庫,而在許多情況下,Elixir 庫還沒有準備好用于生產環境。培訓/尋找開發人員使用 Elixir 也更加困難。這些原因使天平向 Go 傾斜。Elixir 的 Phoenix 框架看起來很棒,絕對值得一看。

Go 是一種非常高性能的語言,對并發有很好的支持。它幾乎與 C++ 和 Java 等語言一樣快。雖然與 Python 或 Ruby 相比,使用 Go 構建東西確實需要更多時間,但您將節省大量用于優化代碼的時間。我們在Stream有一個小型開發團隊,為超過 5 億最終用戶提供動力和聊天。Go 結合了 強大的生態系統 、新開發人員的 輕松入門、快速的性能 、對并發的 可靠支持和高效的編程環境 ,使其成為一個不錯的選擇。Stream 仍然在我們的儀表板、站點和機器學習中利用 Python 來提供個性化的訂閱源. 我們不會很快與 Python 說再見,但今后所有性能密集型代碼都將使用 Go 編寫。我們新的聊天 API也完全用 Go 編寫。

go語言可以做什么

1、服務器編程:以前你如果使用C或者C++做的那些事情,用Go來做很合適,例如處理日志、數據打包、虛擬機處理、文件系統等。

2、分布式系統、數據庫代理器、中間件:例如Etcd。

3、網絡編程:這一塊目前應用最廣,包括Web應用、API應用、下載應用,而且Go內置的net/http包基本上把我們平常用到的網絡功能都實現了。

4、開發云平臺:目前國外很多云平臺在采用Go開發,我們所熟知的七牛云、華為云等等都有使用Go進行開發并且開源的成型的產品。

5、區塊鏈:目前有一種說法,技術從業人員把Go語言稱作為區塊鏈行業的開發語言。如果大家學習區塊鏈技術的話,就會發現現在有很多很多的區塊鏈的系統和應用都是采用Go進行開發的,比如ehtereum是目前知名度最大的公鏈,再比如fabric是目前最知名的聯盟鏈,兩者都有go語言的版本,且go-ehtereum還是以太坊官方推薦的版本。

自1.0版發布以來,go語言引起了眾多開發者的關注,并得到了廣泛的應用。go語言簡單、高效、并發的特點吸引了許多傳統的語言開發人員,其數量也在不斷增加。

使用 Go 語言開發的開源項目非常多。早期的 Go 語言開源項目只是通過 Go 語言與傳統項目進行C語言庫綁定實現,例如 Qt、Sqlite 等。

后期的很多項目都使用 Go 語言進行重新原生實現,這個過程相對于其他語言要簡單一些,這也促成了大量使用 Go 語言原生開發項目的出現。

編程都有哪些語言?

編程常用語言有:1、PHP語言,是一種通用開源腳本語言;2、C語言,一門面向過程的、抽象化的通用程序設計語言;3、JAVA語言,一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言;4、Go語言,是開源編程語言;5、Python,一種跨平臺計算機程序設計語言等。 C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用于底層開發。 C語言能以簡易的方式編譯、處理低級存儲器。 C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言

一、Java最流行

與一年前一樣,Java仍然是最流行的編程語言。據TIOBE的數據顯示,幾十年來,Java比其他語言更常名列榜首。許多知名公司使用Java來開發軟件和應用程序,所以如果你碰巧使用Java,絕對不必為找工作而苦惱。Java受歡迎的主要原因是它擁有可移植性、可擴展性和龐大的用戶社區。

二、經典的C語言

作為最古老的編程語言之一,C依然高居榜首,這歸功于其可移植性以及微軟、Oracle和蘋果等科技巨頭采用它。它與幾乎所有系統兼容,很適合操作系統和嵌入式系統。

由于運行時環境相對小巧,因此C是保持這種系統精簡的完美選擇。強烈建議初學者學C,它實際上是編程語言的通用語言,已催生出了同樣很受歡迎的衍生語言,比如C++和C#。

三、C ++繼續占主導地位

這種面向對象編程語言在20世紀80年代開發而成,現在仍應用于從桌面Web應用程序到服務器基礎設施的眾多系統。由于靈活性、高性能以及可用于多種環境,C ++依然很吃香。以C++為業的工作通常需要開發面向性能密集型任務的桌面應用程序。掌握C++可以更深入地了解編程語言,幫助獲得低級內存處理方面的技能。

四、Python:不斷上升

過去15年來,Python的受歡迎程度穩步上升。過去這幾年,它一直能夠躋身TIOBE指數前5名的位置。作為如今人工智能、機器學習、大數據和機器人等一些最有前途的技術背后的主要語言,Python近年來積累了龐大的粉絲群。你會驚訝地發現學習Python很容易,這就是為什么許多經驗豐富的開發人員選擇Python作為第二或第三語言的原因。

五、C#:游戲開發人員的寵兒

C#是一種現代的面向對象編程語言,由微軟開發,與當時商業軟件開發人員廣泛使用的Java相抗衡。它專為在微軟平臺上開發應用程序而設計,需要Windows上的.NET框架才能工作。與前一年一樣,C#保持穩定的位置,名次沒有重大變化。可以使用C#開發幾乎所有應用程序,但它尤其擅長于Windows桌面應用程序和游戲開發。

六、Visual Basic .NET

Visual Basic .NET與去年一樣,在指數中繼續保持第六位。它是微軟的OOP語言之一,結合了基于.NET框架的類和運行時環境的強大功能。它自VB6衍生而來,擅長開發GUI應用程序,為程序員簡化了任務,并提高生產力。對于程序員來說,除了Web服務和Web開發外,還為針對Windows平臺開發桌面應用程序提供了一種快速簡單的方法。

七、用于Web開發的PHP

據TIOBE顯示,PHP在TIOBE最受歡迎的編程語言排行榜中位居第七,取代JavaScript成為更受歡迎的腳本語言。 PHP主要用在服務器端上用于Web開發,約占網站總數的80%。

Facebook最初使用的就是PHP,PHP在WordPress內容管理系統中扮演的角色讓它很受歡迎。PHP提供了幾個框架,比如Laravel和Drupal,幫助開發人員更快地構建應用程序,擁有更高的可擴展性和可靠性。因此,如果你在找Web開發方面的職位,PHP是不錯的選擇。

八、JavaScript必不可少

今年JavaScript的使用量有所下降,名次比去年有所下滑。但是現在所有軟件開發人員都以某種方式使用JavaScript。與HTML和CSS一起使用,JavaScript對于前端Web開發來說必不可少,以便創建交互式網頁,并向用戶動態顯示內容。

超過90%的網站使用這種語言,它也是初學者開始上手的最友好的編程語言之一。所以,如果你掌握JavaScript,根本不缺機會。然而,你需要學習其他支持性的語言和框架,才能成為主攻桌面和移動應用程序或游戲開發的專業的前端開發人員。

九、SQL

SQL奪得第九名,實現了顯著的增長,畢竟去年它未能躋身于TIOBE指數20大編程語言。盡管存在其他數據庫技術,但用于管理數據庫的這種標準查詢語言在過去四十年一直處于主導地位。

原因在于它具有簡單性、可靠性、無處不在,以及對保持這種開源語言活力大有幫助的活躍社區。與其他語言相比,初學者通常更容易學習SQL;就職業發展而言,像數據分析員這類高薪職位要求SQL非懂不可。

十、GO編程語言

Go是谷歌公司推出的一款相對較新的語言,對于web服務器開發、網絡開發以及命令行程序開發來說,它是又一個比較優秀的選擇


名稱欄目:go語言類似django go語言和什么比較像
新聞來源:http://www.xueling.net.cn/article/hehjop.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲欧美成人影院 | 亚洲国产精品成人久久 | 国产精品一区二区国产 | 性饥渴艳妇性色生活片在线播放 | 久久一区二区三区欧美 | 少妇被粗大的猛进出69影院 | 影音先锋资源站男人网 | 亚洲欧美一区二区精品中文字幕 | 影音先锋中文字幕人妻 | 亚洲三级片福利视频 | 欧美疯狂XXXX乱大交 | 中文字幕精品影院 | 欧美激情视频久久 | 国产一区二三区 | 午夜福利+无码+自拍 | 少妇被猛烈进入A片 | xxxxwwww欧美| 国产亚洲精品久久久456 | 亚洲毛毛片 | 色哟哟软件 | 大地资源视频在线观看免费高清 | 久久爱www久久做 | 四虎影视免费永久在线观看 | 国产一区二区日韩一区二区 | 色综合色欲色综合色综合色乛 | 少妇大叫太大太粗太爽了A片 | 国产日韩欧美精品一区二区 | 亚洲精品一区二区三区不 | 久久精品国产亚洲沈樵 | 久草av网 | 夜夜嗨av一区二区三区中文字幕 | 无码精品一区二区三区免费视频 | 大学生无套流白浆视频大全 | 91视频日本| 天天插综合 | 91精品久久久久久久久久久 | 娇小小小泬ⅩXXX深喉 | 手机永久无码国产AV毛片 | 中国一级特黄真人毛片免费观看 | 日本免费一区二区三区视频 | 国产suv精品一区二人妻 |