Sublime text 是用什么語言開發(fā)的?

2020-09-16 15:52 更新

Sublime text,幾乎所有(估計有99%)的代碼,都是C++寫的;

  • 極少數(shù)的部分,用到了Object-C;
  • 關(guān)于插件部分,用到了Python;

Object-C 通常寫作 Objective-C 或者 Obj-C 或 OC,是根據(jù)C語言所衍生出來的語言,繼承了C語言的特性,是擴(kuò)充 C 語言的面向?qū)ο缶幊陶Z言。 Object-C 是一種面向?qū)ο蟮恼Z言。而 C 語言是面向過程的語言。 Object-C 是 MAC OSX 和 iOS 開發(fā)的基礎(chǔ)語言。

優(yōu)點(diǎn)及缺點(diǎn)

  • Object-C 是非?!皩嶋H”的語言。它使用一個用C寫成,很小的運(yùn)行庫,OC寫成的程序通常不會比其原始碼大很多。
  • Objective-C 的最初版本并不支持垃圾回收。
  • Objective-C 不包括命名空間機(jī)制(namespace mechanism)。
  • 雖然 Objective-C 是C的母集,但它也不視C的基本型別為第一級的對象。
  • 和C++不同,Objective-C 不支持運(yùn)算子重載(它不支持 ad-hoc 多型)。
  • Object-C 僅支持單一父類繼承,不支持多重繼承。


Python(英語發(fā)音:/?pa?θ?n/美國發(fā)音:/?pa?θɑ?n/)是一種面向?qū)ο蟮慕忉屝陀嬎銠C(jī)程序設(shè)計語言。也是一種功能強(qiáng)大而完善的通用型語言,已經(jīng)具有十多年的發(fā)展歷史,成熟且穩(wěn)定。Python是純粹的自由軟件, 源代碼和解釋器CPython遵循 GPL(GNU General Public License)協(xié)議 。Python語法簡潔清晰,特色之一是強(qiáng)制用空白符(white space)作為語句縮進(jìn)。Python具有豐富和強(qiáng)大的庫。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起。常見的一種應(yīng)用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然后對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調(diào)用的擴(kuò)展類庫。需要注意的是在您使用擴(kuò)展類庫時可能需要考慮平臺問題,某些可能不提供跨平臺的實現(xiàn)。

Python優(yōu)點(diǎn)

    1.簡單:Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身。

    2.易學(xué):Python極其容易上手,因為Python有極其簡單的說明文檔[5]  。

    3.速度快:Python 的底層是用 C 語言寫的,很多標(biāo)準(zhǔn)庫和第三方庫也都是用 C 寫的,運(yùn)行速度非常快。

    4.免費(fèi)、開源:Python是FLOSS(自由/開放源碼軟件)之一。使用者可以自由地發(fā)布這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟件中。FLOSS是基于一個團(tuán)體分享知識的概念。

    5.高層語言:用Python語言編寫程序的時候無需考慮諸如如何管理你的程序使用的內(nèi)存一類的底層細(xì)節(jié)。

    6.可移植性:由于它的開源本質(zhì),Python已經(jīng)被移植在許多平臺上(經(jīng)過改動使它能夠工作在不同平臺上)。這些平臺包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux開發(fā)的android平臺。

    7.解釋性:一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉(zhuǎn)換到一個你的計算機(jī)使用的語言(二進(jìn)制代碼,即0和1)。這個過程通過編譯器和不同的標(biāo)記、選項完成。運(yùn)行程序的時候,連接/轉(zhuǎn)載器軟件把你的程序從硬盤復(fù)制到內(nèi)存中并且運(yùn)行。而Python語言寫的程序不需要編譯成二進(jìn)制代碼。你可以直接從源代碼運(yùn)行 程序。在計算機(jī)內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式,然后再把它翻譯成計算機(jī)使用的機(jī)器語言并運(yùn)行。這使得使用Python更加簡單。也使得Python程序更加易于移植。

    8.面向?qū)ο螅篜ython既支持面向過程的編程也支持面向?qū)ο蟮木幊?。在“面向過程”的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。在“面向?qū)ο蟆钡恼Z言中,程序是由數(shù)據(jù)和功能組合而成的對象構(gòu)建起來的。

    9.可擴(kuò)展性:如果需要一段關(guān)鍵代碼運(yùn)行得更快或者希望某些算法不公開,可以部分程序用C或C++編寫,然后在Python程序中使用它們。

    10.可嵌入性:可以把Python嵌入C/C++程序,從而向程序用戶提供腳本功能。

    11.豐富的庫:Python標(biāo)準(zhǔn)庫確實很龐大。它可以幫助處理各種工作,包括正則表達(dá)式、文檔生成、單元測試、線程、數(shù)據(jù)庫、網(wǎng)頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統(tǒng)、GUI(圖形用戶界面)、Tk和其他與系統(tǒng)有關(guān)的操作。這被稱作Python的“功能齊全”理念。除了標(biāo)準(zhǔn)庫以外,還有許多其他高質(zhì)量的庫,如wxPython、Twisted和Python圖像庫等等。

    12.規(guī)范的代碼:Python采用強(qiáng)制縮進(jìn)的方式使得代碼具有較好可讀性。而Python語言寫的程序不需要編譯成二進(jìn)制代碼。

Python缺點(diǎn)

    1.單行語句和命令行輸出問題:很多時候不能將程序連寫成一行,如import sys;for i in sys.path:print i。而perl和awk就無此限制,可以較為方便的在shell下完成簡單程序,不需要如Python一樣,必須將程序?qū)懭胍粋€.py文件。

    2.獨(dú)特的語法:這也許不應(yīng)該被稱為局限,但是它用縮進(jìn)來區(qū)分語句關(guān)系的方式還是給很多初學(xué)者帶來了困惑。即便是很有經(jīng)驗的Python程序員,也可能陷入陷阱當(dāng)中。最常見的情況是tab和空格的混用會導(dǎo)致錯誤,而這是用肉眼無法分別的。

    3.運(yùn)行速度慢:這里是指與C和C++相比。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號