1.強類型語言和弱類型
????????弱類型語言允許將一塊內(nèi)存看做多種類型。比如直接將整型變量與字符變量相加富雅。C and C++ 是靜態(tài)語言收捣,也是弱類型語言;Perl and PHP 是動態(tài)語言臭埋,但也是弱類型語言。
? ??????強類型語言在沒有強制類型轉(zhuǎn)化前臀玄,不允許兩種不同類型的變量相互操作瓢阴。Java、C# 和 Python 健无,go等都是強類型語言荣恐。編寫簡單小應(yīng)用,使用弱類型語言可節(jié)省很多代碼量,有更高的開發(fā)效率叠穆。而對于構(gòu)建大型項目少漆,使用強類型語言可能會比使用弱類型更加規(guī)范可靠。
? ??????強/弱類型是指類型檢查的嚴格程度的痹束。語言有無類型,弱類型和強類型三種讶请。無類型的不檢查祷嘶,甚至不區(qū)分指令和數(shù)據(jù)。弱類型的檢查很弱夺溢,僅能嚴格的區(qū)分指令和數(shù)據(jù)论巍。強類型的則嚴格的在編譯期進行檢查。
2.動態(tài)語言和靜態(tài)語言
? ??????動態(tài)類型語言:動態(tài)類型語言是指在運行期間才去做數(shù)據(jù)類型檢查的語言风响,永遠也不用給任何變量指定數(shù)據(jù)類型嘉汰,該語言會在你第一次賦值給變量時,在內(nèi)部將數(shù)據(jù)類型記錄下來状勤。Python和Ruby就是一種典型的動態(tài)類型語言鞋怀,其他的各種腳本語言t也多少屬于動態(tài)類型語言。
? ??????靜態(tài)類型語言:靜態(tài)類型語言與動態(tài)類型語言剛好相反持搜,它的數(shù)據(jù)類型是在編譯其間檢查的密似,也就是說在寫程序時要聲明所有變量的數(shù)據(jù)類型,C/C++是靜態(tài)類型語言的典型代表