丰满少妇人妻久久久久久,性XXXXBBBB农村小树林,欧美激情性A片在线观看中文

        1. 
          
          1. <object id="yseaz"><legend id="yseaz"></legend></object>
            1. 使用幫助 | 聯系電話:400-880-0256 0769-23037585 21686281

              接下來的兩年你可能需要這五種語言

              作者:admin 發表于:2014-08-06 點擊:1043  保護視力色:

              時至今日,動態語言不再享有特別的青睞,現在的程序員使用新語言和舊語言的搭配來開發項目。我不禁要問,為了保持自身的競爭力,哪些編程語言是程序員們最需要永久掌握的?

              對于處在編程世界的我們來說,現在已經走到了一個轉折點。十年前,程序員們對動態語言趨之若鶩。對我們中的大部分人來說,動態語言不僅使編程變得更 加簡單,同時也意味著一種時尚。時至今日,動態語言不再享有特別的青睞,現在的程序員使用新語言和舊語言的搭配來開發項目。我不禁要問,為了保持自身的競 爭力,哪些編程語言是程序員們最需要永久掌握的?

              在我們討論哪些編程語言在未來會吃香這個問題之前,先來看看不同編程語言之間的的異同。

              靜態語言 vs. 動態語言

              當我們說到動態語言時,這個“動態”實際上說的是變量類型。使用動態語言編寫程序的時候,可以聲明一個變量,在程序運行的過程中又可以改變這個變量的類型。 與動態語言相對的是靜態語言,或者叫強類型語言。比如C++和Java就是強類型的語言,而JavaScript,PHP和Perl是動態類型的語言。

              在C++中,聲明變量的時候必須同時指定變量的類型。在程序運行的過程中,如果試圖去改變這個變量的類型,編譯器就會報錯。這在Java中也是一樣。

              但是JavaScript不一樣,在JavaScript程序運行過程中可以改變變量的類型。事實上,在聲明變量的時候就不需要指定這個變量的類型,在使用變量的時候,可以先把一個整數賦值給這個變量,然后又用一個字符串覆蓋這個整數,這在動態類型的語言中都是允許的。

              盡管動態語言在最近才大行其道,可實際上這個概念在50年前就已經提出來了。

              函數式語言

              隨著動態語言的發展,人們對函數式語言的興趣也越來越大。在函數式語言中,函數本身可以被存儲在變量中,存儲在變量中的函數又可以作為參數傳遞給另外的函 數?,F在的大多數語言都在一定程度上支持函數式編程。比如說C++,C++允許程序員將指針傳遞給函數。JavaScript等一些語言使函數的傳遞變得 更加容易。所以,一般認為C++不是一個真正意義上的函數式語言,而認為JavaScript是函數式語言,而Haskell一般被認為是函數式語言的絕 佳示例。

              垃圾回收機制

              理論上來說,只要你正確書寫代碼,你就不會有任何bugs。這聽起來很美好??蓪嶋H上,當你和許多其他程序員合作完成一個大項目時,有一個bug會經常出現,這就 是內存泄露。你定義了一個變量,使用完這個變量之后卻沒有及時回收這部分內存,這時我們就說發生了內存泄露。如果發生了內存泄露又沒有及時發現,隨著程序 運行時間的增加,程序越來越大,直到消耗完系統的所有內存,然后系統崩潰。sounds terrible!

              你可能會說,每次使用變量之后及時釋放內存,內存泄露不就不會發生了?想法是好的,可實際情況可能比這要復雜的多。比如說,你申請了一個鏈表來存儲數據,這 個鏈表被傳遞到另外一個函數,這個函數是別人編寫的,在別人編寫的這個函數中,將這個鏈表復制了一份,但是你并不知道,你說是應該刪除這個鏈表還是繼續保 留?基于這種情況,程序員們想到了一個變通的辦法:將內存回收的工作交給系統來做。當你不再使用某個變量,系統通過掃描內存找到這個不再使用的內存,然后 主動回收,這就叫做垃圾回收機制。對新開發出來的語言來說,這是一個非常重要的特征。垃圾回收背后的思想是使編程更加容易,從而讓程序員將精力放在創造偉 大的軟件之上。

              需要說明的是,確實存在幾種不同的垃圾回收機制:一種是系統定期掃描內存,發現那些不再使用的內存;另外一種是系統為每一個變量保留一個tab,一旦發現變量不再使用,馬上刪除之。從技術上來說,后者并不是一種垃圾回收機制,而是“引用計數”,但是達到的效果是一致的。

              虛擬機


              當Java在20世紀90年代中期橫空出世的時候,人們對它不是直接將代碼編譯成匯編語言這一點十分在意。和C++相反,Java在編譯的時候先把程序編譯 成一個叫字節碼的中間代碼。在運行的時候,系統調用虛擬機執行字節碼,有時候甚至只是將字節碼編譯成匯編代碼。這種編譯方式剛剛出來的時候,程序員們抱怨 其速度慢,當然現在已經不成問題。許多語言采用虛擬機的方式運行,比如說前面提到的Java、C#等?,F在這種類型的語言在速度上得到了長足的發展。

              丰满少妇人妻久久久久久,性XXXXBBBB农村小树林,欧美激情性A片在线观看中文