最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

編程第一課:什么是編程語(yǔ)言

2023-01-10 11:39 作者:阿西拜-江西  | 我要投稿

? ? ? ?到底什么是編程語(yǔ)言,你是否好像有一肚子話要說(shuō),卻又無(wú)從開(kāi)口,那就是還沒(méi)有搞清楚,概念有些模糊,讓我們一起來(lái)理一理。

?????????如果我們現(xiàn)在直接給出編程語(yǔ)言的定義,然后以幾種編程語(yǔ)言為例,簡(jiǎn)單介紹一下語(yǔ)言的發(fā)展歷程??峙潞茈y得到大家的共鳴,對(duì)初學(xué)者來(lái)說(shuō)只不過(guò)又多了一些需要記憶的知識(shí)點(diǎn)。因此我們換一個(gè)思路,像計(jì)算機(jī)一樣去思考這個(gè)問(wèn)題。我相信只要你不是從古代穿越來(lái)的,并且能夠看懂這段文字,你應(yīng)該知道“編程語(yǔ)言”與“計(jì)算機(jī)”之間一定存在某種聯(lián)系。讓我們思考一下下面這張圖:

用棧數(shù)據(jù)結(jié)構(gòu)組織我們的思路

你可能聽(tīng)說(shuō)過(guò)思維導(dǎo)圖,很多老師喜歡使用思維導(dǎo)圖整理思路。我和他們不一樣,我路子比較野,我喜歡用棧。棧的英文是stack,翻譯過(guò)來(lái)就是“堆?!钡囊馑肌>蜅0?,怎么還堆上了,對(duì)于有一定基礎(chǔ)的程序員來(lái)說(shuō),這個(gè)翻譯令人困惑,因?yàn)樵趦?nèi)存的概念中,“堆(heap)”和“棧(stack)”恰恰是需要嚴(yán)格區(qū)分的兩個(gè)概念。對(duì)于新手來(lái)說(shuō),只要知道我們這里談的是棧是一種數(shù)據(jù)的組織結(jié)構(gòu)就行了,和內(nèi)存概念里的棧是兩種不同的概念。(當(dāng)然會(huì)有在棧內(nèi)存中使用棧數(shù)據(jù)結(jié)構(gòu)組織數(shù)據(jù)的情況,而且很常見(jiàn)很有用。)等一下,我們好像跑題了,這可是編程第一課呀,對(duì)新手來(lái)說(shuō)這些并不需要掌握吧?是的,我們繼續(xù),我不但路子野,還很固執(zhí)。我自然有我的道理,棧這種數(shù)據(jù)結(jié)構(gòu)還是有必要介紹一下,畢竟它非常容易掌握,而且與我們現(xiàn)在談?wù)摰闹黝}密切相關(guān),別急有點(diǎn)耐心,說(shuō)不定會(huì)有驚喜。

??????????棧是一種先進(jìn)后出(FILO,F(xiàn)irst In Last Out)的數(shù)據(jù)結(jié)構(gòu),而數(shù)據(jù)結(jié)構(gòu)就是用來(lái)存放(或更準(zhǔn)確的說(shuō),組織)數(shù)據(jù)的結(jié)構(gòu)(或理解為框架、容器等)。那先進(jìn)后出(FILO)又是什么意思?回想一下stack的中文翻譯:堆棧?!岸选弊郑ㄅ銮桑浚┦譁?zhǔn)確的描述了棧這種數(shù)據(jù)結(jié)構(gòu)!比如,一堆書,一堆干草,一堆金條等等。最先放進(jìn)一堆東西的某個(gè)元素,一定是被壓在最下面,而拿的時(shí)候從最上面開(kāi)始,也就是從頂部(棧頂)開(kāi)始拿。

????????言歸正傳,棧在這里只是我們用來(lái)存放(組織)思路的容器(工具),我們首先把“什么是編程語(yǔ)言?”放進(jìn)去,壓在容器的最下面,這是我們目前需要解決的終極目標(biāo)?,F(xiàn)在我們需要一個(gè)策略,把大目標(biāo)化解成一些小目標(biāo),這樣更清晰更容易實(shí)現(xiàn),這種策略有一個(gè)名字,叫“分而治之”,這種策略在算法中很常見(jiàn)。我又提了一個(gè)概念:算法,現(xiàn)在讓我們把這些概念聯(lián)系起來(lái),體會(huì)一下這個(gè)說(shuō)法:編程==數(shù)據(jù)結(jié)構(gòu)+算法?,F(xiàn)在的問(wèn)題是,怎么個(gè)分而治之呢?首先把“什么是編程語(yǔ)言”分解為兩個(gè)問(wèn)題:

  • 什么是編程?

  • 什么是語(yǔ)言?

廢話不多說(shuō),接著細(xì)化:

  • 什么是編程?

    • 編程就是編寫程序,那么什么是程序?

      • 計(jì)算機(jī)程序是一組計(jì)算機(jī)能識(shí)別和執(zhí)行的機(jī)器指令。

      • 從業(yè)務(wù)實(shí)現(xiàn)的角度來(lái)說(shuō):程序 ==? 數(shù)據(jù)結(jié)構(gòu) + 算法

  • 什么是語(yǔ)言?

    • 語(yǔ)言是溝通交流的工具,例如人與人之間通過(guò)中文,英文等進(jìn)行交流。與計(jì)算機(jī)溝通需要使用機(jī)器語(yǔ)言。機(jī)器有語(yǔ)言?什么是機(jī)器語(yǔ)言?

      • 機(jī)器語(yǔ)言是用二進(jìn)制代碼表示的計(jì)算機(jī)能直接識(shí)別和執(zhí)行的機(jī)器指令集。

        • 機(jī)器指令通常由操作碼和操作數(shù)兩部分組成,操作碼指出該指令所要完成的操作,即指令的功能,操作數(shù)指出參與運(yùn)算的對(duì)象,以及運(yùn)算結(jié)果所存放的位置等。

        • 二進(jìn)制的機(jī)器指令太繁瑣,于是有了匯編語(yǔ)言,匯編語(yǔ)言是歷史的必然,可以簡(jiǎn)單理解為對(duì)二進(jìn)制指令的直接翻譯。

        • 人類還是更習(xí)慣使用人類語(yǔ)言的語(yǔ)法、邏輯來(lái)描述解決方案,于是就有了高級(jí)語(yǔ)言,從此我們可以從更抽象的層次進(jìn)行編程。

問(wèn)題分解完,把每個(gè)小問(wèn)題的答案返回給提出它的大問(wèn)題,大問(wèn)題再把自己的答案返回給更大的問(wèn)題,這樣我們最初的問(wèn)題也就有了答案:

編程語(yǔ)言的發(fā)展過(guò)程
  • 編程語(yǔ)言是編寫計(jì)算機(jī)程序的語(yǔ)言:

    • 直接使用機(jī)器語(yǔ)言,即二進(jìn)制機(jī)器指令。

    • 使用匯編語(yǔ)言,然后翻譯成機(jī)器語(yǔ)言。

    • 使用高級(jí)編程語(yǔ)言,然后翻譯成匯編語(yǔ)言,再翻譯成機(jī)器語(yǔ)言。

思考題:編程語(yǔ)言真的僅僅是用于人類寫給機(jī)器看的嗎?

提示:負(fù)責(zé)軟件維護(hù)的倒霉蛋可不是這么想的,評(píng)價(jià)一個(gè)源碼的標(biāo)準(zhǔn):準(zhǔn)確、簡(jiǎn)潔、高效。簡(jiǎn)潔甚至排在高效前面。語(yǔ)言本身的簡(jiǎn)潔也重要,需要對(duì)初學(xué)者足夠友好才能得到推廣。

文字部分就到這里了,我將會(huì)把這部分錄制為視頻,記得觀看點(diǎn)贊哦!


編程第一課:什么是編程語(yǔ)言的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
彰化县| 昆山市| 曲阳县| 铁岭市| 巴彦县| 铅山县| 哈巴河县| 本溪市| 嵩明县| 留坝县| 崇阳县| 桃源县| 民权县| 黔南| 蒙山县| 万安县| 宿州市| 磐石市| 麻城市| 黄骅市| 澎湖县| 贵阳市| 彰武县| 科技| 基隆市| 永城市| 华安县| 错那县| 罗平县| 年辖:市辖区| 贡觉县| 博白县| 温州市| 南涧| 千阳县| 合川市| 昌宁县| 儋州市| 湘阴县| 扶沟县| 神木县|