首頁>Club>
10
回覆列表
  • 1 # Java猿

    指令碼語言為什麼垃圾,JavaScript,python,shell等都是指令碼語言,很多時候都用到,不能說哪種需要垃圾,都有使用的場景

  • 2 # 碼哥位元

    其實現在流行的語言並不存在好與差一說。或者更確切地說,這些語言都有其各自優劣。

    先來說說指令碼語言,指令碼語言比較常看到的比如,javascript、python、php等等,這些語言雖然同屬指令碼語言範疇,但是其各自適用場景有所不同,例如在web後端開發時,常見php,雖然也有python和nodejs,但請大家自行比對框架使用的易用程度和框架配套元件的豐富程度以及社群活躍度即可。但運維、演算法、數倉一類的更偏向於python,因為php的多執行緒多程序實現的實在是讓人無力吐槽。而web前端開發,js無疑是霸主地位無法撼動。

    指令碼語言的優勢也非常明顯,開發週期短,有兩個原因:

    1.指令碼語言很多功能都被封裝好了,直接呼叫即可。

    2.指令碼語言的除錯非常方便,直接輸出到螢幕或者控制檯就可以看到,而不需要重新編譯。

    但指令碼語言的劣勢也非常明顯,指令碼直譯器是一邊解釋(涉及編譯原理內容,不過多引入),一邊執行,因此效率會比編譯型語言慢很多,當然也有一些語言利用生成指令快取來儘量提升效率,但也確實不如C一類的快(前提是用C寫的程式碼別太慘不忍睹)。

    再來說說編譯型語言,編譯型語言包含C、C++、Java一類。之所以這裡把java算作編譯型是因為,java也是將程式碼編譯成位元組碼,雖然執行位元組碼的是java虛擬機器,但也確實存在編譯這一步驟。由於存在編譯步驟,因此除錯時即便有一些趁手的除錯工具也會經常需要不斷重新編譯程式碼,這個過程從幾秒到十幾分鍾甚至幾十分鐘不等,取決於程式碼量級和最佳化程度等。

    因此其實可以看出,即便同屬編譯型語言,語言之間的效率依舊存在差異,因為java虛擬機器也是一種指令直譯器,和直接使用CPU處理真實指令的C/C++依舊存在不小差距。但是java相對於C++來說也存在很多框架豐富性和語言特性上的優勢。

    但這並不意味著C++就不如java,C++也有很多已經封裝好的庫,專案可以根據需要引入使用即可。同等質量和功能的程式碼的執行效率會比Java要高。

    最後說說C,就筆者以前做過的C和C++專案而言,這兩者的差異在於:

    1.C生成的可執行檔案大小遠比C++小很多(若干數量級)。

    2.C非常簡單粗暴,有時候簡單粗暴要遠比好幾層繼承要清晰明瞭,當然,是有的時候,不是總是如此。

    總結一下,就是語言各有所長,根據不同規模公司、不同需求來進行選擇,而無法一概而論的。

  • 3 # 學長熱評

    不垃圾,因為還有人在用,還是很多人在用,而且還用在很多方面,由此可以推出:指令碼語言對很多人有用且用途廣泛,所以指令碼語言本身不是垃圾。從人類語言學詞語的詞義和內涵的角度來說:垃圾是沒有使用價值且無法使用的廢物,指令碼語言用途廣泛,所以肯定還有使用價值,還有很多人用,說明指令碼語言並不是無法使用的廢物,所以指令碼語言不是垃圾。

    說一句題外話:任何一門語言對某一部份人來說都可能是毫無價值的垃圾。

    最後一句:請不要輕易發動戰爭。

  • 4 # 愛吃土豆絲的鹹魚

    垃圾地並不是某種語言,只有寫不好程式碼的人,當然,不同的語言可能在不同領域有各自的優勢,之所以流行或者淘汰,只是因為市場的需求的變化,不說指令碼需要,excel也照樣可以寫軟體的,但是誰會有興趣折騰這個呢?指令碼需要可能在快速開發上有優勢,但是可能在執行速度,底層分析上存在一些不足吧,無論什麼程式語言,最重要的還是程式設計思想吧

  • 中秋節和大豐收的關聯?
  • 民國的紫砂彌勒佛值錢嗎?