php是否會被代替?
這不是壹個值得擔憂的問題。
在大數據和人工智能對性能要求極高的時代,php在web程序的低位不會受到什麽影響。
其實,任何程序語言,都有它適合的領域,壹個程序語言是否會被取代,主要在於取代者是否有足夠低的學習與使用成本,以及更高的執行效率。
這種擔憂,在對於所有高級語言來說都會出現。
我們需要了解壹下,高級語言、低級語言、語言編譯之間是壹種什麽樣的關系?
高級語言和低級語言的關系
高級語言,簡單來說,就是用越少的代碼,就能完成最多功能。
例如,php的fopen('a est.txt');打開文件,它的執行,調動了文件系統的路徑搜索,文件存在判斷,文件數據定位等多個操作。從硬件層面看,還調動了磁盤驅動、磁盤讀寫。
C、VC、VB、
C.NET
、java、php這些語言都是高級語言,它們都能夠讓人容易理解和記憶。越高級的語言,越容易有漏洞和被入侵,這往往是語言開發者,人,無法考慮到所有可能性帶來的安全疏漏。
低級語言,簡單來說,就是用代碼輔助記憶和理解機器指令功能的語言。
例如,匯編語言,它是機器指令的直接表達形式。
匯編語言、機器碼語言都是低級語言,它們不容易讓人理解,但能準確體現CPU執行的具體操作內容。
越低級的語言,越沒有漏洞,因為越低級越貼近CPU的機器指令,然而壹個CPU能執行的機器指令是有限的。
高級語言的壹條指令,是由無數條低級語言的指令組合構成;高級語言是低級語言的封裝,而低級語言是高級語言的解釋。
語言編譯——高級語言的靈魂
編譯,是高級語言和低級語言以及機器指令的連接器。
高級語言的語法,往往都是由編譯器決定的。
無論那種高級語言,最終的目標,都是匯總到機器指令那個層面。
如果沒有編譯,那麽高級語言將不存在。
最早的編程,就是使用機器指令直接編程,後來發現,有壹些特定的操作總是使用相同的機器指令組合完成,於就把這個操作用壹詞語來表示,便有了最早的高級語言“C語言”。
對於大數據和人工智能對性能要求極高的時代,越高級的語言,並非是性能最高的。
只有越貼近數據元素或人工智能信息元素,進行處理的語言才是性能最高的。
因為越高級的語言,封裝層次越多,無效執行的代碼就會越多。
所以,不必擔憂某個程序語言會被取代。
在選擇程序語言上,重點是看,它是否能最直接的操作信息元素。
比如,語言識別程序,要用C語言寫就會力不從心,因為C語言,沒有封裝音頻采集和波形分析,更別說語意分析。但是用C語言寫壹個硬件控制,則會比其他更高級的語言來說,有更高的執行效率,也就是更高的性能,因為C語言的下壹層就是匯編語言,更貼近硬件這個操作元素。
就分享這麽多,有點離題,歡迎留言探討。