跳轉到內容

D語言入門指南/程式設計簡要介紹

來自華夏公益教科書,開放的書籍,開放的世界

什麼是程式設計

[編輯 | 編輯原始碼]

計算機只是執行程式賦予它的指令的機器,而程式設計就是建立構成程式(或程式的一部分)的指令集的過程。計算機並不像我們一樣思考,它們不會思考給它們的指令,也不會決定無視或更改它們。計算機盲目地遵循你作為程式設計師賦予它的指令集。

這就是程式設計具有挑戰性的原因。建立一組精確的指令來完成一項特定任務並不容易。

如何煎薄餅

[編輯 | 編輯原始碼]

讓我們告訴一個非常、非常愚蠢,但有能力的人如何煎薄餅。

  1. 在一個碗裡,放入一杯麵粉、一個雞蛋,以及足夠的牛奶使其成為光滑的混合物。
  2. 用木勺攪拌至光滑。
  3. 用一小塊黃油加熱煎鍋直至融化。
  4. 將一杯混合物放入煎鍋中,煎一面至起泡。
  5. 小心地翻轉半熟的薄餅,繼續煎另一面直至變硬。
  6. 將煮好的薄餅放在盤子裡,重複這些步驟,直到所有混合物都用完。

簡單明瞭,不是嗎?

,其實不是。例如,我沒有說把麵粉從杯子裡倒進碗裡,所以計算機就會按我的意思做——“放入一杯麵粉”到碗裡。然後是雞蛋;我沒有說要敲碎雞蛋,只把裡面的東西(蛋黃和蛋白)放進碗裡,所以蛋殼也會進去。那麼到底什麼是“光滑”的混合物呢?

進一步按照這些指令的字面意思執行,計算機就會試圖攪拌碗而不是碗裡的東西。這還假設它知道什麼是“攪拌”!你有沒有試過用一小塊黃油來加熱煎鍋?什麼是一塊“黃油”?計算機會等到黃油融化還是煎鍋融化?還是用那個杯子;我們是煎它還是煎它的內容?我們要等多少個泡泡——兩個、三個……?如果一個泡泡都沒有出現——我們是不是要一直煎下去,直到它迅速變成黑炭?最後一條指令告訴我們重複,但實際上它包括所有步驟,在一個無休止的煎薄餅狂歡中。

我無意嚇唬你,但重要的是要意識到計算機會按字面意思理解你的程式,因此你有責任準確和精確。這就是程式設計的挑戰。

什麼是程式設計(重新審視)

[編輯 | 編輯原始碼]

它是編寫演算法和描述資料的過程,以便計算機能夠正確地執行要求它執行的任務。

華夏公益教科書