談談多門程序語言的學習策略之一

 談談多門程序語言的學習策略之一 導言

作爲一名程序首先要選好一門程序語言,這重要性好比找對一個老婆重要,可是,程序語言畢竟只是一門工具,不像老婆那樣選了就很難換了(當然不合適離了不也一樣..呵呵),有時候,在實際需求中我們需要,一定程度的"外遇"才能滿足各種需求,但是,"外遇"不是每個屌絲都能碰到的好運,還好我們程序員要碰"外遇"太簡單了,直接上官網,下文檔,接下來,就是開個房間...苦讀文檔...補充一下尋找"外遇"之前先把"老婆"找到,不然就不叫外遇了...

當年的"老婆"現在的"小三"

如果,我們都把美女的渴望,放到對程序語言的學習上面的話,估計沒啥是學不好的...

竟然,我們是有"家室之人",不是當年一樣啥都不懂的"年輕少年".作爲有着一定經驗的男人而已,竟然,開房了我們就要一看到底...

"老婆" "小三"

java lua

在經歷一段比較漫長的事情後,我們終於有了一個"老婆"其中的艱辛,當然只有我們心裏清楚,我們爲了以後能更方便的找到"外遇",作爲一個立志於建立"後宮"的程序員,我們要好好思考,我們是怎麼把"老婆"搞到手的.

作爲一門程序語言,我是這麼想的:

文件後綴 -> 關鍵字 -> 程序輸入輸出 -> 高級數據類型(即數據結構) -> api

說得挺抽象的,當年,我是這樣追現在的"老婆"

程序文件後綴

  1. java的文件需要以.java文件保存,然後通過對.java文件進行編譯,生成最終用來運行的.class文件

    例如有如下一段代碼
    public class Hello{
    public static void main(String[] args){ System.out.println("Hello world!"); } } 將這段代碼保存爲

    .java文件!

    接着我們編譯代碼
    javac Hello.java //編譯代碼
    Java Hello //運行代碼

從這裏我們可以知道,一個程序代碼一般而言是需要通過一次編譯(手動(編譯語言),或者自動(腳本語言))才能執行,簡單來說就是需要一個"玩意"(編譯器)把我們寫的類似於自然語言的東西,通過這麼一個"玩意"(編譯器)編譯成機器代碼以後,我們寫的程序才能真正運行起來!

 

接下來,我們面對"小三"的時候,還需要搞清楚這點嗎?我們直接開敲就好!

print("Hello world !")

這樣,我們就開始了我們的"外遇"之旅,額,應該是lua學習之旅,現在,我們還需要搞清楚lua的文件後綴是多少,怎麼編譯的嗎?"女人"不都一樣嗎!

關鍵字

當年,我們追我們"老婆"的時候,需要知道"老婆"的脾氣,愛好,等等東西,總結起來就是,找"小三"的時候,我們也需要這麼做,例如,lua

and break do else elseif end false for function if in local nil not or repeat return then true until while

從這個lua小三愛好表裏面看到,我們可以看出,有些"愛好"跟我們追"老婆"的時候不也一樣,if,else..那麼,我們只要針對一些我們"老婆"沒有的愛好進行調查,例如

function,nil,local 等

當然有些"愛好"是相同的,例如,我的"老婆"喜歡善良的男人,"小三"也喜歡善良的男人,但是這個善良的男人該善良到何種程度纔算得上是,"老婆"或者"小三"喜歡的類型,這個就需要我們自行琢磨了...就好比

java的else if跟lua elseif 是一樣的嗎(注意關鍵字!)?雖然,做的事情都是一樣的.當然,這些不應該成爲我們需要花時間的地方,我們應該把更多的時間放在"小三"跟老婆不一樣的地方.

所以,最後,我們只要學習一下,一些新增的關鍵字就足矣!

程序輸入輸出

我們把以上幾點搞清楚以後,我們就可以更"小三"進行一些papa(打鍵盤的聲音)的事情了,我們一個程序的運行其實,乾的就是這麼一件事情

接收我們輸入的參數 -> 處理我們的參數 -> 輸出我們期望的參數

那麼,根據,我們當年追"老婆"的時候,經過,一番通過的學習以後,我們可以搞清楚輸入無非有如下情況

輸入
1. 控制檯輸入
2. 文件輸入
3. 變量輸入

輸出
1. 控制檯輸出
2. 文件輸出
3. 變量輸出

這個過程,應該在我們當年搞"老婆"的時候已經爛熟與心,現在搞"小三"的時候,只不過是變了一點而已,例如,以前"老婆"的是B杯,現在的"小三"變成了F杯而已... 例如當年我們控制檯輸出的時候是這樣寫的

Scanner s = new Scanner(System.in);
String s2 = s.next();
System.out.println(s2);

現在Lua變成了這樣而已

a = io.read("*number")
print(a)

只是一些語法的改變的,"胸"(IO流)還是那樣的"胸"("IO流")所以,男人們改變一下手法即可!當然,要摸熟則需要一定的時間

高級數據類型(即數據結構)

對於,基本數據類型,其實,是門程序一樣都不會有太大的改變,不過,對於高級數據類型就可能有些變化,例如,java的數組,就肯定沒有php的數組強大,例如,java有專門的泛型,php則是萬物皆是泛型就好比一些女人是M屬性一些女人是S屬性,一些女人則是SM屬性...還是拿java說事,在C語言的年代,我們需要深刻理解什麼是list,stack,map才能寫出相應的代碼不過在java 已經打包好實現,我們自己使用就好!

無論語言如何變化,對於我們知道list,stack,map 是怎麼一回事有影響嗎?我們知道list,stack,map該怎麼用就好,語言本身實現了,我們直接就調用,沒有的google一下找實現,還沒有的自己寫一套..不過,一般google一下都有實現了吧...還沒有的話,莫非是你自己自創的語言?

List arraryList = new ArrayList();
arrayList.add("oh yeah"); 剩下的自己領會吧...

一切的基礎API

到最後,最激動人心的一部分了!當我們,基本把一個"小三"搞到手以後,就是開始細緻瞭解她的時候了,至於怎麼了解,當然就是在日常生活中慢慢深入,對於一門程序語言而已,API是必須學習的一部分,基本上,要算的上熟悉一門語言,API是必須爛熟於心,這樣纔不會把時間浪費在一些重複製作輪子上,也可以在這個基礎上,把輪子做得更好!例如,學習C語言的,你沒把C99標準庫裏面所有庫函數搞明白,都不好意思說自己是學C語言的(印象中C99標準庫沒幾個函數,當然這個是跟java的api比較)

API這種東西,我們不需要專門去學習!只不過是當我們遇到某件事的時候,第一時間是找API文檔,而不是GOOGLE一下!這樣,一門語言在不斷使用過程中就掌握了,至於以後可能很長一段時間不用,也可以從API文檔中迅速回到狀態,因爲API是一門語言的基本所在,掌握了API基本一門語言也就掌握了.
當然,你對API不屑一顧的話,那就證明你已經達到了一種更高的層次,看破紅塵,世事如煙...

貌似都說完了,還會有之二嗎?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章