區塊鏈是顛覆未來的技術,所以我要去學程式設計了!?我表示勸退。

買賣虛擬貨幣

先說說背景。

我自身是一個技術開發者,開發語言主要用C/C++和Python,做的領域主要是資料探勘與底層開發。技術嘛,自認一般般,距離技術大牛還差得遠。但是至少還是能讀的懂程式碼的,做過不少開發的。

因為接觸區塊鏈自媒體圈子久,認識的作者與讀者越來越多。這些作者與讀者都有來自各行各業的優秀人士。在深入瞭解數字貨幣、區塊鏈以後,都紛紛想要了解其中的技術原理,並表示想去學習程式設計開發的語言,如python、java甚至以太坊的solidity等。

這時候,我往往都會勸退這些想學習程式語言的朋友,因為我覺得沒這個必要。

計算機技術是什麼?

說實話,要講清楚這個知識點,在大學裡面都需要上一年的課。所以我也很難在這麼短的篇幅講清楚。所以,我講個比較概要性的、入門的認知。

首先,我們目前在全球各地,幾乎每個工作的人都會使用電腦,我們也會稱之為計算機。計算機,又因為計算能力不一樣,會有超級計算機、大型計算機、中型計算機以及小型計算機。一般,我們普通使用的是中小型計算機。其中,又因為部分計算機是用來為使用者提供服務的,如我們使用百度網頁,其背後運轉的計算機又被稱之為伺服器。這些分佈在各地的計算機,又透過一根網線接入到網際網路中,彼此都能夠透過計算機溝通。

那麼,這些計算機在上面執行的軟體,又分為兩類,分別是作業系統軟體和應用程式軟體。作業系統的話,計算機大家比較熟悉的是windows和蘋果電腦的mac os,還有程式設計師比較熟悉的linux。手機的話那就是安卓系統和蘋果ios系統。

有了底層作業系統後,在上面執行的軟體呢,就被稱為應用程式軟體(APP)。大家比較常用的Word、EXECL等辦公套件、瀏覽器、計算器、微信、支付寶等等,都是具體APP。

這些APP需要有人把它創造出來,這個過程就是程式開發過程。這時候,就需要懂得計算機技術的人,使用電腦能懂的語言,然後把要開發的軟體給實現出來。因此,學習計算機技術的人,必須學會一門跟計算機溝通的語言,這種語言我們稱之為程式語言。

類似全世界各國語言不盡相同,程式設計師能使用的程式語言也是五花八門,比較常見的有C\C++、Java、Python、JavaScript等,面向以太坊智慧合約還有Solidity語言。對於區塊鏈軟體,我們對於公鏈、跨鏈這種底層基礎設施類比於作業系統,上層的智慧合約與DAPP的開發類比於應用程式軟體。所以,你想讀懂這些軟體是怎麼執行的,確實是需要懂得一門程式語言,才能讀懂它的技術實現。更進一步,你可以運用這些語言新增功能。

可是你真的需要花時間去讀程式碼嗎?

所謂程式碼,就是程式設計師在用程式語言構建一個軟體過程中,寫下的東西。

類比於傭兵用中文的文字去寫了這篇文章,那麼中文就是程式語言,文章就是軟體,寫的過程中留下的文字就被稱為程式碼,也被稱為原始碼。

想讀懂程式碼,那當然要學程式語言,這樣你才能知道語法規則、詞法分析等等。就像你要讀懂中文作者寫的文章,你就需要搞懂漢語的意思一樣。

許多朋友隨著對區塊鏈的興趣非常濃厚,希望結合自己所在的行業進行區塊鏈創業、或者為了能看懂區塊鏈專案的內在價值,都紛紛表示要讀區塊鏈技術加深理解。

我個人表示這是有必要的,每個人都需要深入瞭解自己投資的數字貨幣背後的技術價值,也需要去把握整個區塊鏈的技術情況,從而判斷風口所在。

但是,要解區塊鏈技術 = 讀專案方的程式碼,這個觀點我卻不敢苟同。

首先,讀懂程式碼本身需要下的功夫絕對不會少。你首先要搞懂計算機是大致怎麼執行的,瞭解作業系統怎麼能夠把軟體跑起來的。接著你需要去讀一門程式語言的書,其中語法規則可能與人類溝通的語言又有很大的區別。接著,你記住了、理解了程式語言規則後,還需要做一些小軟體開發,才能真實瞭解最後怎麼把常用的程式碼執行起來的。這個過程,是計算機學院的學生需要上1-2年課才能培養出來的能力,你確定憑藉你的業餘時間能迅速上手嗎?

所以,從產出與付出的比例來看,收益過小了。

然後,個人一直認為對於技術有所誤解。比如你想了解比特幣的執行機制,你並無需像一個技術人員一樣,把比特幣程式碼閱讀搞懂。真正理解的方式,只需要你買一本精通比特幣、深入瞭解區塊鏈等科普方式的書。作者作為一個技術人,以人類能懂的語言說出他對這套執行機制的理解。所以,你要搞懂的不是技術是怎麼”實現“的,而是怎麼”運作“的機制即可。就像馬雲從來沒有做過程式設計開發,咕嚕相信也沒參與幣乎的開發一樣,依舊不阻礙他們對於技術原理本身的理解。

所以,你要搞懂技術原理,但沒必要花時間去開發技術。

另外一個觀點,區塊鏈專案創業 = 開發區塊鏈專案的程式碼,這個觀點我也不敢苟同。

隨著你對區塊鏈與數字貨幣的瞭解漸漸加深,你可能有意結合自己的行業、看到的市場機遇去進行區塊鏈專案。

畢竟,做一個專案,就是需要做一套區塊鏈軟體,可能是公鏈這種作業系統,也可能是應用程式(DAPP)。那麼,創始人就是需要負責這個專案的技術開發麼?

那當然不是。比如你是個醫生,你看到了一些機會,要做個醫療通的DAPP。那麼,你要花時間的,更多是怎麼把你對醫療的理解、市場的空白、商業模式的構造在這款DAPP實現出來,而不是你去寫一個DAPP。畢竟,能發揮你的商業價值的,是你寶貴的行業經驗,以及你將它如何融合在通證經濟中。那麼DAPP的開發,你應該尋求一個懂技術的合夥人,讓他動用技術資源來實現。即使找不到,你也可以透過外包的方式讓技術團隊為你實現和維護(當然不是很推薦,因為可能很難達到你要的預期。)

因此,不要再花時間去學習程式設計技術開發,更重要的是,要把你過往寶貴的行業經驗、炒幣的經驗、通證經濟的理解發揮在專案的商業模式上。畢竟,程式碼閱讀與開發本身,需要付出的時間和精力實在過多,得到效果甚微,比如交給專業的人去做。

當然,這僅僅只是我的一面之詞,更多意見大家可以一同討論。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;