LUA與python根本就不具有可比性


1、站在解決問題的角度上看。python依靠自身越來越強大的庫,讓編程者能實現越來越多,越來越復雜的問題。lua本身則必須與其它的編譯語言結合,才能解決問題。以C+++lua來舉例。單獨的C++,因為C++的復雜性,在其解決問題提供方便的同時,也給程序員帶來了很大的麻煩,這些麻煩主要有兩個方面:1,C++本身,特別是能用好C++,對程序員就來說就是一個很高的要求。2,在解決復雜問題時,C++程序結構的復雜性和邏輯實現的復雜性,給程序員對程序的改進和維護帶來了很大的麻煩。而C++與Lua的結合,讓C++可以只負責為lua提供各種基本的功能函數庫,而Lua調用這些庫來實現各種邏輯功能。這種分工可以讓程序員將程序中的基本代碼庫和邏輯實現代碼進行分離,使程序的效率和可維護有了很大的提高。所以,如果真的要站在解決問題的角度來對python和lua進行對比的話。實際上,是C++與python進行對比,而與lua無關。

    2、python與C++對比,我覺得python與C++對比的優勢就在於其所提供的基本庫,大大的降低了程序復雜度與可維護性對程序員本身的要求。比如,同樣的功能,如果是C++來做的話,可能其程序員必須具備三年的經驗,如果是python來做,而python又有解決問題所需要的庫的話,一個具有一年程序經驗的程序員可能就能完成了。但是,同樣的,如果是C++與Lua結合來解決問題的話,可能就只需要半個高級程序員和一個只有c語言一年經驗的程序員就可以了。半個高級程序員負責提供lua的函數庫,另一個程序員,只需要用這些代碼庫實現邏輯就行了。

    綜上所述,C+++lua的開發模式,和python源代碼庫開發+python腳本開發模式其實是一樣的。但是站在程序員的角度上來說,C+++lua就更為簡單一些,因為除去基本的lua解釋代碼外,C++可以為lua動態提供各種函數庫。而python程序員則必須受制於python所提供的各種功能庫。所以,如果解決一些具有普遍性和重復性的問題時,python是有優勢的,因為有很多的代碼可以不用重寫,而C+++lua則必須重構。如果是解決一些非普遍的問題,如果python本身沒有提供解決這些問題的庫的話,python程序員,就必須走回C++的老路了,哈哈。

 

Python的優點:
1、Python比其它語言有更多擴展模塊。
2、在網上可以找到很多Python教程。不僅如此,還有大量的英文書籍和資料。Python.org有很多為初學者准備的依主題組織的資料、教程和編程指南,此外還有很多鏈接和參考。
3、很多人都喜歡Python語言的語法,因為它清晰易讀。
4、Python在支持庫上大占優勢,因為它有很多庫,而且大部分都有完善的文檔支持。
5、很多工具可以用於Python,但難以找到適用於Lua和Ruby的。

 

Python

Python的不足:

1、現有的Python調試器詭異而且效率低下。在Macintosh(蘋果計算機)和控制台下進行調試是一個夢魘。
2、Python難以與其它語言集成,它有太多的二進制DLL,而且Python帶了巨大的標准發布包。
3、同樣的,也有很多人不喜歡Python對空白符敏感的語法。
4、因為棧上的任何東西都是對象,所以Python有時候會慢得難以忍受。

Lua

Lua的優點:
1、Lua運行時速度最快而且占內在最少的
2、集成Lua只會增加極少的內存占用率。
3、Lua的C API有着完備着文檔和很好的例子,可以容易地通過C集成在軟件里。

Lua的不足:
1、盡管Lua的文檔已經增進不少,但仍然有所不足。Lua可能是文檔最少的(API方面是個例外),因為代碼中極少注釋,這也增加了學習的難度。另外,對Lua的本質也沒有什么介紹。
2、 Lua內建的功能很少,並沒有對創建大型的復雜應用程序提供足夠支持。
3、 Lua應該使用更好的垃圾收集機制,Lua現在的GC仍然使用非常簡單而且傳統的“標記和清除”方式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM