D語言入門指南/程式設計簡要介紹
外觀
< D語言入門指南
計算機只是執行程式賦予它的指令的機器,而程式設計就是建立構成程式(或程式的一部分)的指令集的過程。計算機並不像我們一樣思考,它們不會思考給它們的指令,也不會決定無視或更改它們。計算機盲目地遵循你作為程式設計師賦予它的指令集。
這就是程式設計具有挑戰性的原因。建立一組精確的指令來完成一項特定任務並不容易。
讓我們告訴一個非常、非常愚蠢,但有能力的人如何煎薄餅。
- 在一個碗裡,放入一杯麵粉、一個雞蛋,以及足夠的牛奶使其成為光滑的混合物。
- 用木勺攪拌至光滑。
- 用一小塊黃油加熱煎鍋直至融化。
- 將一杯混合物放入煎鍋中,煎一面至起泡。
- 小心地翻轉半熟的薄餅,繼續煎另一面直至變硬。
- 將煮好的薄餅放在盤子裡,重複這些步驟,直到所有混合物都用完。
簡單明瞭,不是嗎?
不,其實不是。例如,我沒有說把麵粉從杯子裡倒進碗裡,所以計算機就會按我的意思做——“放入一杯麵粉”到碗裡。然後是雞蛋;我沒有說要敲碎雞蛋,只把裡面的東西(蛋黃和蛋白)放進碗裡,所以蛋殼也會進去。那麼到底什麼是“光滑”的混合物呢?
進一步按照這些指令的字面意思執行,計算機就會試圖攪拌碗而不是碗裡的東西。這還假設它知道什麼是“攪拌”!你有沒有試過用一小塊黃油來加熱煎鍋?什麼是一塊“黃油”?計算機會等到黃油融化還是煎鍋融化?還是用那個杯子;我們是煎它還是煎它的內容?我們要等多少個泡泡——兩個、三個……?如果一個泡泡都沒有出現——我們是不是要一直煎下去,直到它迅速變成黑炭?最後一條指令告訴我們重複,但實際上它包括所有步驟,在一個無休止的煎薄餅狂歡中。
我無意嚇唬你,但重要的是要意識到計算機會按字面意思理解你的程式,因此你有責任準確和精確。這就是程式設計的挑戰。
它是編寫演算法和描述資料的過程,以便計算機能夠正確地執行要求它執行的任務。