OC Swift 是什么類型語言

先來看幾個定義:

編譯型語言:

需要編輯器將源代碼編譯成機(jī)器碼之后才能執(zhí)行的語言拓萌。一般分兩個步驟 編譯(compile)、鏈接(linker)編譯是把各個文件源代碼編譯成機(jī)器碼站粟,鏈接是把各個文件的機(jī)器碼和依賴庫串連起來生成可執(zhí)行文件

源代碼->匯編代碼->機(jī)器碼->CPU執(zhí)行

優(yōu)點:編譯器一般會有預(yù)編譯的過程對代碼進(jìn)行優(yōu)化浦妄。因為編譯只做一次呢灶,運(yùn)行時不需要編譯吴超,所以編譯型語言的程序執(zhí)行效率高⊙炷耍可以脫離語言環(huán)境獨立運(yùn)行(執(zhí)行效率高)
缺點:編譯之后如果需要修改就需要整個模塊重新編譯癌淮。編譯的時候根據(jù)對應(yīng)的運(yùn)行環(huán)境生成機(jī)器碼株扛,不同的操作系統(tǒng)之間移植就會有問題斜纪,需要根據(jù)運(yùn)行的操作系統(tǒng)環(huán)境編譯不同的可執(zhí)行文件(跨平臺性能差)
代表語言:C徘铝、C++、Pascal宏蛉、Object-C遣臼、swift

解釋型語言:

不需要編譯,比編譯型語言省了道工序拾并,運(yùn)行的時候逐行進(jìn)行解釋揍堰,生成機(jī)器代碼

源代碼->字節(jié)碼->解釋器->機(jī)器碼->CPU執(zhí)行

優(yōu)點:有良好的平臺兼容性鹏浅,在任何環(huán)境中都可以運(yùn)行,前提是安裝了解釋器(虛擬機(jī))屏歹。靈活隐砸,修改代碼的時候直接修改就可以,可以快速部署蝙眶,不用停機(jī)維護(hù)季希。(跨平臺性強(qiáng))
缺點:程序不需要編譯,程序在運(yùn)行時才翻譯成機(jī)器碼幽纷,每執(zhí)行一次就要翻譯一次式塌,不可脫離語言環(huán)境獨立運(yùn)行(需要虛擬機(jī))(執(zhí)行效率差)
代表語言:JavaScript、Python友浸、Erlang峰尝、PHP、Perl收恢、Ruby


流程

混合型語言:

既然編譯型和解釋型各有缺點就會有人想到把兩種類型整合起來武学,取其精華去其糟粕。就出現(xiàn)了半編譯型語言伦意。比如C#,C#在編譯的時候不是直接編譯成機(jī)器碼而是中間碼火窒,.NET平臺提供了中間語言運(yùn)行庫運(yùn)行中間碼,中間語言運(yùn)行庫類似于Java虛擬機(jī)驮肉。.net在編譯成IL代碼后熏矿,保存在dll中,首次運(yùn)行時由JIT在編譯成機(jī)器碼緩存在內(nèi)存中离钝,下次直接執(zhí)行

動態(tài)語言:

是一類在運(yùn)行時可以改變其結(jié)構(gòu)的語言:例如新的函數(shù)曲掰、對象、甚至代碼可以被引進(jìn)奈辰,已有的函數(shù)可以被刪除或是其他結(jié)構(gòu)上的變化。通俗點說就是在運(yùn)行時代碼可以根據(jù)某些條件改變自身結(jié)構(gòu)乱豆。
主要動態(tài)語言:Object-C奖恰、C#、JavaScript宛裕、PHP瑟啃、Python、Erlang揩尸。

靜態(tài)語言:

與動態(tài)語言相對應(yīng)的蛹屿,運(yùn)行時結(jié)構(gòu)不可變的語言就是靜態(tài)語言。如Java岩榆、C错负、C++

動態(tài)類型語言:

動態(tài)類型語言是指在運(yùn)行期間才去做數(shù)據(jù)類型檢查的語言
這里需要跟動態(tài)語言區(qū)別開坟瓢,動態(tài)類型語言說的是數(shù)據(jù)類型,動態(tài)語言說的是運(yùn)行時改變結(jié)構(gòu)犹撒,說的是代碼結(jié)構(gòu)折联。

靜態(tài)類型語言:

靜態(tài)語言的數(shù)據(jù)類型是在編譯其間確定的或者說運(yùn)行之前確定的,編寫代碼的時候要明確確定變量的數(shù)據(jù)類型

強(qiáng)類型語言:

強(qiáng)類型語言也稱為強(qiáng)類型定義語言识颊。是一種總是強(qiáng)制類型定義的語言诚镰,要求變量的使用要嚴(yán)格符合定義,所有變量都必須先定義后使用祥款。
弱類型語言:
與上正好相反清笨,像vb、php刃跛、js(也就是說抠艾,一個變量,你可以直接給他賦值字符串奠伪,也可以直接給他賦值數(shù)值跌帐,你還可以直接讓字符串類型的變量和數(shù)值類型的變量相加,雖然得出的最終結(jié)果未必是你想象的那樣绊率,但一定不會報錯)

基于上面的例子谨敛,你可以說swift允許我們不聲明類型并且讓編譯器自己檢測類型

var a = 10

看上去像是弱類型語言,但是swift推出它是int類型的滤否,所以不能像其賦值其他類型的值



這說明了脸狸,Swift 是一門強(qiáng)類型的語言。Swift 的類型聲明藐俺,你可以看成是在定義變量的時候炊甲,隱式聲明的(由編譯器推斷出),當(dāng)然也可以顯式的聲明欲芹。如下:

var a :Int = 10

OC 是 動態(tài)類型語言&&強(qiáng)類型語言&&動態(tài)語言&&編譯型語言
swift 是 動態(tài)類型語言&&強(qiáng)類型語言&&靜態(tài)語言&&編譯型語言

Java是一種靜態(tài)類型語言卿啡,也是一種強(qiáng)類型語言。因為編譯器不能自動檢測類型菱父,所以它是靜態(tài)的颈娜,而且類型受到嚴(yán)格限制,所以它也是一種強(qiáng)類型語言浙宜。

javascript是一種動態(tài)類型語言和非強(qiáng)類型語言官辽。
因為編譯器能夠在運(yùn)行時檢測類型,并且類型也不受嚴(yán)格限制粟瞬。

參考:https://www.cnblogs.com/madmanlyy/p/12165305.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末同仆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子裙品,更是在濱河造成了極大的恐慌俗批,老刑警劉巖俗或,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異扶镀,居然都是意外死亡蕴侣,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門臭觉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來昆雀,“玉大人,你說我怎么就攤上這事蝠筑∧欤” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵什乙,是天一觀的道長挽封。 經(jīng)常有香客問我,道長臣镣,這世上最難降的妖魔是什么辅愿? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮忆某,結(jié)果婚禮上点待,老公的妹妹穿的比我還像新娘。我一直安慰自己弃舒,他們只是感情好癞埠,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著聋呢,像睡著了一般苗踪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上削锰,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天通铲,我揣著相機(jī)與錄音,去河邊找鬼器贩。 笑死测暗,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的磨澡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼质和,長吁一口氣:“原來是場噩夢啊……” “哼稳摄!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起饲宿,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤厦酬,失蹤者是張志新(化名)和其女友劉穎胆描,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仗阅,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡昌讲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了减噪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片短绸。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖筹裕,靈堂內(nèi)的尸體忽然破棺而出醋闭,到底是詐尸還是另有隱情,我是刑警寧澤朝卒,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布证逻,位于F島的核電站,受9級特大地震影響抗斤,放射性物質(zhì)發(fā)生泄漏囚企。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一瑞眼、第九天 我趴在偏房一處隱蔽的房頂上張望龙宏。 院中可真熱鬧,春花似錦负拟、人聲如沸烦衣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽花吟。三九已至,卻和暖如春厨姚,著一層夾襖步出監(jiān)牢的瞬間衅澈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工谬墙, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留今布,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓拭抬,卻偏偏與公主長得像部默,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子造虎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355