最近我們在給初學者教授MATLAB。盡管不幸落在公共假期的第一天,25人參與的研討會算得上成功。這一個星期的課程涵蓋了很多內(nèi)容,包括命令行、腳本、for循環(huán)、條件語句和函數(shù)使用。在最后一天,我們簡單回顧了所有的討論過的內(nèi)容,還討論了如何保持好的編程習慣,如何處理報錯以及在線資源。
幸運的是,我有機會坐下來觀看很有才華的Isabell將條件語句比喻為我們每天的日常生活中所做的選擇。這些選擇可能是任何東西:是否要帶把傘(這取決于你是否正在外面,以及是否下雨);是否應該吃(如果你是無聊,或如果你餓了)。
這些比喻引起了我的思考:如何把編程應用于日常生活中?當然,如今可以在任何地方看到邏輯設計的例子,即使是最無用的目的。
There is no more worthy purpose of programming than confusing cats.”
- Bill Gates
然而我有點時候會想要更多。任何一個曾經(jīng)犯了錯誤、希望得到取消按鈕,或者可以跳回原來保存點的人,都會明白我下面的話:一些編程的特點是非常有用的。所以我想出了一個列表,我希望生活更像是MATLAB的地方,歡迎你告訴我那些你認為應該加到列表里的地方!
標注
我們告訴那些參加研討會的人標注代碼的重要性。當你回頭查看數(shù)月前編寫的代碼時,你就會明白標注的重要性。Isabell解釋說:“如果查看5個月前寫的代碼,我很想知道自己到底在干什么,所以我給代碼標注。”我已經(jīng)不記得我之前詛咒了Kerry多少次,就為了她自作聰明地不標注代碼。有的時候,我希望能對我的生活進行標注。當回顧我?guī)讉€月前做的事時,我不會認為我一定是瘋了,因為貌似是推理瘋了。然而,我承認很多的評論會相當無用(例如:“我這么做就是為了搞個笑”),這讓我望我能有個時光機回到過去并修復它們,便說到了我愿望清單上的下一項…
調(diào)試
雖然良好的編程習慣,例如提前在代碼中計劃避免bug,或者在執(zhí)行之前修復錯誤,我們并不總是保證正確。所以MATLAB善良地提供了很多不同的調(diào)試幫助。我希望生活也有這個特征。如果生活也在我們即將犯下的錯誤下面放一條小紅線并建議如何避免它,豈不是很好?比如:“你可能不想吃另一個高熱量的巧克力棒了”;”或許你不應該熬夜”;“你應該開始干活了,而不是繼續(xù)看搞笑的動物視頻”。
斷點
想象生活有一個暫停按鈕。繼續(xù)做下去。
如果你和我一樣,可能今天至少有一次希望時間停下來,讓你可以來思考再去做事。對我來說,這發(fā)生在第三杯咖啡之前。昨天,則是凌晨2點在Netflix按下“游戲繼續(xù)”前。MATLAB確實有這個能力,因為當編程時會出錯,但原因并不總是顯而易見。所以能夠在事情變糟之前停止你的程序并逐步逐行排查變量的值是非常有用的。
并行計算
MATLAB可以執(zhí)行并行循環(huán)迭代,所有的循環(huán)語句同時運行。在生活中這顯然很有用。一言以蔽之:多任務。就如同這樣:
邏輯
如果每個人生活中所有的決定都是完全基于邏輯做出的,那么大家的行動動機就變得不言而喻。我們便永遠不會有困難的決定,因為真值表和邏輯門會瞬間給出正確答案。
實例說明:5個小時前我在一家咖啡館,我應該點含咖啡因還是不含咖啡因的咖啡呢?
有邏輯的我:已經(jīng)下午六點多了,直到兩點我都不會睡著。最好不要咖啡因。
沒有邏輯的我:管那么多干嘛~來個雙份!
當我開始寫這篇文章時,這個邏輯驅(qū)動、有標注又沒有bug的生活如同田園詩般美好。但是如果沒有我的非理性決策和糟糕的生活選擇,我睡眠不足又充斥著咖啡因的大腦絕對不會構想出這篇文章。我不知道這是支持還是反對生活應該像MATLAB的論點,也許最終,最好的方式是我們作為人類繼續(xù)做我們擅長的,讓程序去做那個理智有條理的。你覺得呢?生活應該更像MATLAB程序嗎?有什么比MATLAB軟件包更好的生活特征嗎?
-
邏輯
+關注
關注
2文章
833瀏覽量
29464 -
并行計算
+關注
關注
0文章
27瀏覽量
9430
發(fā)布評論請先 登錄
相關推薦
評論