程式不是寫給電腦看的

更新於 2024/12/01閱讀時間約 2 分鐘

有人說程式語言是為了與電腦進行溝通,但這在現代並不適用。軟體工程注重合作,而且現代電腦的高效能,使得我們更應該關注程式的可讀性。程式應該是寫給你的同事看而不是你的電腦。然而我對這個觀點的看法不太一樣。


我學習程式語言的動機並不是想要做什麼遊戲,而是單純覺得很有趣。除去國小自己寫過網頁的經歷,我接觸程式語言的契機是高中的電腦課,上過之後我就藉由課餘時間自己讀課本內容,但因為我是住宿生,平常沒辦法接觸電腦,我只好在紙上寫程式,並在腦裡執行程式。或許就是從這裡我與其他人對程式語言的想法就有點不一樣了。


跟自然語言一樣,我認為語言不是只拿來溝通,同時也是思考的媒介,我們的思考總是被語言所影響,對於程式語言更是如此。每個程式語言都有一個核心理念,使用不同的程式語言往往會傾向某種思考方法。例如:Python簡潔的語法讓我們更容易掌握更重要的程式邏輯。物件導向的程式語言把函式綁定到資料上,使我們更容易以物件的角度構造模型。泛型與介面讓我們能在不知道參數型別的情況下操作,提供了另一種抽象化資料行為的方法。


程式語言對我來說就像可以執行的數學,它可以幫助我為想法與理論建模,並實際地執行與運算。跟數學不同的是,數學常常是宣告式的(例如:向量空間是符合某8條規則的空間),程式往往是建構式的(例如:向量空間是將某個域的n-tuple加上一些加法乘法規則的擴展)。相對的,程式語言比起數學語言更「摸得著」,使用起來更有實感,因此我更喜歡使用程式描述想法。


事實上,程式語言的基底是範疇論,它是更為抽象的數學結構。寫程式本質上就是在證明命題,因此寫程式與算數學其實是一樣的。然而程式建構式的特性並不適合描述一些特性,只用數學也沒辦法將一些抽象概念與想法描述清楚,因此自然語言仍然是描述與定義一些抽象概念所必須的。自然語言的模糊性更能讓我們掌握一些難以捉摸的感覺與想法,而這種概括的語意反而更符合大腦的運作模式。這也是為什麼自然語言無法被取代的原因。總結來說,不論是程式語言、數學語言還是自然語言,都不只是用來溝通而已,而是能輔助我們思考的工具。

avatar-img
4會員
28內容數
這不是教你如何從物件導向到函數式編程的入門教程。我會深入探討物件導向與函數式編程的差異,並討論為什麼你應該使用函數式編程並徹底放棄物件導向。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
have bear的沙龍 的其他內容
What Color is Your Function? 一文中 Async function 被比喻成「紅色函式」 紅色函式不能在普通的函式裡(即「藍色函式」)使用 因此紅色具有感染性 定義函式之前必須先決定是否要染成紅色 作者不喜歡這種麻煩的規則 但我認為這種麻煩是有道理的
'方格子在 linux/firefox 上的 bug 超煩 '若在每行第一句打中文會被吃掉 'Ctrl+V還會複製貼上之後的文字貼上之後的文字
What Color is Your Function? 一文中 Async function 被比喻成「紅色函式」 紅色函式不能在普通的函式裡(即「藍色函式」)使用 因此紅色具有感染性 定義函式之前必須先決定是否要染成紅色 作者不喜歡這種麻煩的規則 但我認為這種麻煩是有道理的
'方格子在 linux/firefox 上的 bug 超煩 '若在每行第一句打中文會被吃掉 'Ctrl+V還會複製貼上之後的文字貼上之後的文字
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
大學記憶中的程式課,我過得很痛苦。以為懂了,作業卻永遠寫不出來。有鑑於過往痛苦的經歷,學程式語言類似學習外語,應該從需求出發,並且以生活中可理解的事物當作範例學習。所以去年大膽的進行了一個實驗:我們來上中小學生的 Python 課程,透過寫程式解數學題目培養直覺。男孩們選了一個非常瓊瑤的題目!
Thumbnail
2024 熱門程式語言排行榜,你熟悉的程式語言有在榜上嗎? ​ 附上2024熱門程式語言排行榜前20名以及趨勢圖 作為軟體開發者,在職場上你確實需要對工作上的程式語言熟悉。熱門不意味著絕對高薪,但熱門的程式語言仍然值得去嘗試學習。
Thumbnail
Python擁有便攜性和通用性,適用於多種場景,同時具有全球通用性。Python在科技製造業、資料分析、人工智慧等領域有廣泛應用,對於理工科背景者而言有獨特的優勢。透過在線課程、自學書籍、實作專案,以及參與社群和開源專案,理工背景者可以達成從轉職進入Python程式領域的目標。
Thumbnail
親愛的讀者 感謝你提出這個富有挑戰性且極具時代感的問題。程式設計,這門技術宛如一把打開數位世界的鑰匙,讓人得以探索無限的可能性。在這個科技日新月異的時代,程式設計的魅力不僅僅在於其實用性,還在於它能夠改變我們看待問題和解決問題的方式。 然而,你提問的核心不僅是程式設計本身,而是它是否能成為你
Thumbnail
親愛的讀者 感謝你提出這個問題。這是一個現代社會中很常見且重要的疑惑。隨著科技的迅猛發展,程式設計似乎成了人人必備的技能,讓許多人產生了焦慮和壓力。讓我們從多個角度深入探討這個問題,希望能為你解答心中的疑惑,並提供實用的建議。
在不需要認識01010就可以創造出網頁、網際網路、遊戲、應用程式的時代裡 下個時代可以不需要學程式碼就可以創造出「新文明」之建設條件,會是什麼? 本喵覺得,就是像01010轉變成程式碼那樣的"包裝技術" 以本喵的認知,只知道是模組化、容器化這類的內容有機會達到 每樣事物都是一個個的模
Thumbnail
文學創作和寫程式之間,似乎是兩件充滿衝突的事情,有時候我會有點難以解釋發生在自己身上的這種二元特性。以前國高中學習的時候,學科被分割成國英數社自五個項目,其實我最喜歡的科目是國文和數學,在高中要分類組的時候,因為感覺自己除了國文數學之外,還喜歡歷史,所以選了一類組。但是,如今回首從高中選組之後到現在
Thumbnail
學數學是為了當數學家嗎? 相信99%的家長會認為學習數學不是為了成為數學家。 那麼,學程式是為了當程式設計師嗎?
記得小學四年級,第一次在學校上了電腦課,當年還是256k。 家裡雖然有電腦,但媽媽是不給我和弟弟使用的,電視也僅有三台節目。 所以,成長的過程我都是看商業週看、哈佛雜誌、遠見😂 倒也不是要說我很有文學素養,畢竟當年的我也沒有選擇的權利, 無聊之虞總得找點事情來做! 也就因此養成了自己閱讀的習慣!
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
大學記憶中的程式課,我過得很痛苦。以為懂了,作業卻永遠寫不出來。有鑑於過往痛苦的經歷,學程式語言類似學習外語,應該從需求出發,並且以生活中可理解的事物當作範例學習。所以去年大膽的進行了一個實驗:我們來上中小學生的 Python 課程,透過寫程式解數學題目培養直覺。男孩們選了一個非常瓊瑤的題目!
Thumbnail
2024 熱門程式語言排行榜,你熟悉的程式語言有在榜上嗎? ​ 附上2024熱門程式語言排行榜前20名以及趨勢圖 作為軟體開發者,在職場上你確實需要對工作上的程式語言熟悉。熱門不意味著絕對高薪,但熱門的程式語言仍然值得去嘗試學習。
Thumbnail
Python擁有便攜性和通用性,適用於多種場景,同時具有全球通用性。Python在科技製造業、資料分析、人工智慧等領域有廣泛應用,對於理工科背景者而言有獨特的優勢。透過在線課程、自學書籍、實作專案,以及參與社群和開源專案,理工背景者可以達成從轉職進入Python程式領域的目標。
Thumbnail
親愛的讀者 感謝你提出這個富有挑戰性且極具時代感的問題。程式設計,這門技術宛如一把打開數位世界的鑰匙,讓人得以探索無限的可能性。在這個科技日新月異的時代,程式設計的魅力不僅僅在於其實用性,還在於它能夠改變我們看待問題和解決問題的方式。 然而,你提問的核心不僅是程式設計本身,而是它是否能成為你
Thumbnail
親愛的讀者 感謝你提出這個問題。這是一個現代社會中很常見且重要的疑惑。隨著科技的迅猛發展,程式設計似乎成了人人必備的技能,讓許多人產生了焦慮和壓力。讓我們從多個角度深入探討這個問題,希望能為你解答心中的疑惑,並提供實用的建議。
在不需要認識01010就可以創造出網頁、網際網路、遊戲、應用程式的時代裡 下個時代可以不需要學程式碼就可以創造出「新文明」之建設條件,會是什麼? 本喵覺得,就是像01010轉變成程式碼那樣的"包裝技術" 以本喵的認知,只知道是模組化、容器化這類的內容有機會達到 每樣事物都是一個個的模
Thumbnail
文學創作和寫程式之間,似乎是兩件充滿衝突的事情,有時候我會有點難以解釋發生在自己身上的這種二元特性。以前國高中學習的時候,學科被分割成國英數社自五個項目,其實我最喜歡的科目是國文和數學,在高中要分類組的時候,因為感覺自己除了國文數學之外,還喜歡歷史,所以選了一類組。但是,如今回首從高中選組之後到現在
Thumbnail
學數學是為了當數學家嗎? 相信99%的家長會認為學習數學不是為了成為數學家。 那麼,學程式是為了當程式設計師嗎?
記得小學四年級,第一次在學校上了電腦課,當年還是256k。 家裡雖然有電腦,但媽媽是不給我和弟弟使用的,電視也僅有三台節目。 所以,成長的過程我都是看商業週看、哈佛雜誌、遠見😂 倒也不是要說我很有文學素養,畢竟當年的我也沒有選擇的權利, 無聊之虞總得找點事情來做! 也就因此養成了自己閱讀的習慣!