最開始的計(jì)算機(jī)只是一堆 CPU 與內(nèi)存等硬件,要讓這群大爺工作需要直接匯編編寫機(jī)器指令。這也太麻煩了吧,因此那些大牛鼓搗出一個(gè)叫做高級(jí)語言的東西,現(xiàn)在方便多了,但程序不能只運(yùn)行在一種架構(gòu)上吧,為了讓程序可以不加改動(dòng)的到處運(yùn)行標(biāo)準(zhǔn)庫出現(xiàn)了,標(biāo)準(zhǔn)庫對(duì)上層屏蔽了底層差異。現(xiàn)在問題解決了吧,但是別著急,還沒完呢!程序使用的數(shù)據(jù)結(jié)構(gòu)和算法太復(fù)雜了,每次都要重頭開始寫一個(gè)二叉樹可不是一件有意思的事,怎么辦呢?大牛們都已經(jīng)替你想好啦,直接把這些數(shù)據(jù)結(jié)構(gòu)和算法以庫的形式集成到語言中,就像 C++ 的 STL,Java的容器,想使用數(shù)據(jù)結(jié)構(gòu)嗎?簡(jiǎn)單的很,你只需要知道數(shù)據(jù)結(jié)構(gòu)和算法的名字就足夠了,剩下的查查接口文檔,夠方便吧。這些都是小意思,還有更牛的,像搭建一個(gè)網(wǎng)站、編寫一個(gè)App,其實(shí)這些寫的代碼大同小異,為什么要一遍遍重復(fù)造輪子呢?程序員的時(shí)間可是很寶貴的,怎么辦?大牛們依然很貼心的為你想好了,于是框架應(yīng)運(yùn)而生。想搭建一個(gè)網(wǎng)站簡(jiǎn)直不要太容易,簡(jiǎn)單幾行代碼,一個(gè)功能完備的web server就跑起來了,現(xiàn)在還有誰說編程難嗎?什么都給你想好了。