網際網路時代的語言:go,需要考慮的關鍵問題:
並行與分布式支援:
go在語言級別支援協程,其他語言多數需要庫的支援。
執行體間的通訊,分為以下兩種:
互斥或同步:go在語言層面不支援。
軟體工程支援:
**風格規範:
識別符號首字母大寫時,為public變數。
對大括號的規範。
go fmt工具。
錯誤處理規範
包管理契約規範(介面)
單元測試規範
功能開發的流程
程式設計哲學的重塑:
非侵入性介面(無需顯式從介面派生):
不再有繼承樹的概念。僅需要了解類及類實現的方法。
不用再糾結介面拆分的粒度問題。
無需為實現另乙個包中的介面,而專門匯入該包。
兩個介面只要方法列表相同,那麼他們就是等價的。
為引用乙個包中的介面而匯入該包,增加的耦合性,該做法不推薦。
如何學習一門新語言
心態這不但是學習一門新的語言最重要的,而是對任何的學習都是最重要的。下面是書中的描述,非常的精彩,特別是那個比喻 學習一門新的語言的時候,要利用以前所學的語言的功底,但是也要保持開放的心態。有些人執著於一種理念 這就是寫所有程式必須遵循的方法。我不是說那種語言,但是某些語言,令人執著於這樣的理念。當...
程式人生 學習一門新語言的方法
有一套自己的學習方法,不管好壞,都比沒有好 因為有了學習方法後,你就會按照這個方法來給自己安排任務,任何時候都知道自己該做什麼 沒有目標,在你迷茫,猶豫該學什麼,怎麼學,甚至是因為沒有具體規劃而變得閒散的時候,很快一兩年都已經浪費了 而有學習方法的人,有目標督促他去行動,即使方法不是很好,兩年下來肯...
以Rust為例,看如何學習一門新語言?
我是一名ruby程式設計師,rubyist,眾所周知ruby是一門物件導向語言,所以我就一直和物件導向打交道了好多年,雖然ruby語言也吸收了函式式語言的特性,但並不純粹,總的來說,ruby還是一門物件導向語言,它的抽象程度很高。我個人也不是乙個對程式語言有特別偏好的那種人,我認為每種語言都有其適用...