全民寫程式 | 程式語法好多喔,我記不起來怎麼辦?

說一個真實發生的笑話:『有一次公司對外的網路斷線,全體工程師同事們齊聲歡呼,可以直接下班囉!!!』,這是一個沒有網路無法寫程式的概念😂。

想起以前在大學初學程式,看到厚厚的原文書,跟枕頭差不多厚,讀到懷疑人生。image
不禁一想: 『這真的是給人讀的嗎? 讀得完嗎?』。
後來老師上了兩學期,原文書也翻不到一半。
 
進了職場之後,才發現真的不用擔心太多,網路就是我們最好的知識庫,程式怎麼用、語法有哪些,網路上其實都找得到。且人類的記憶力其實非常不可靠,那種能夠把所有語法倒背如流的可以算是天賦異稟了。很多人 (同事) 程式寫一寫,幾個月後再來看自己的作品,也忘得差不多了。
 
學程式需要甚麼能力?
  • 查詢文件的耐心。
  • 基礎概念熟悉就好,不用到完全背起來:
    • 資料型態 (Data type)及數值範圍
    • 運算子 (±*%) 代表的意思
    • 函式 (Function)
    • 函式的參數 (Function parameter)
    • 物件 (Class)
    • 判斷式 (If else)
    • 迴圈 (Loop)
  • 比較進階的概念稍微知道就好:
    • 指標及記憶體位置 (Pointer)
    • 例外式 (Exception)
    • 資料結構與演算法 (Data strcture and algorithm)
  • 清楚所學的語言有哪些語法,不用背起來,需要的時候能夠找得到地方『抄』即可。
  • 能夠將複雜的工作拆成很多簡單的小工作。
在基礎都打得差不多之後,還是回到這項能力: 『自己查詢資料、分析資料、做實驗測試的能力』是最實在的,而且這項能力在各種領域都很適用喔!!!
 

然而,寫程式會有 Bug

Bug 的意思就是程式沒有照預期行動 ,是程式設計師一輩子 揮之不去、亦敵亦友 的朋友,可以說,寫程式沒有 bug 是不可能的事情。過去很多專案中,如果寫程式花一分時間,那處理 bug 通常也會是大於一分時間。
 
寫程式又遇到 bug 也令人體會了一把無常,更何況是人生呢?
 
故除了語法之外,程式設計師在處理 Bug上 還需要有些味道(軟實力):
  • 清晰的邏輯,了解程式的脈絡。
  • 程式要寫得簡單易懂。
  • 能夠調控變異的參數,就像做實驗要分『實驗組』跟『對照組』。
  • 找到適合的工具協助自己。
  • 有解決問題的耐心。
最後敬祝想學程式的各位能夠順順利利,跟程式語言好好相處。
 

題外話~ 為什麼叫做 Bug?

他真的是隻Bug

Bug 是一種蛾的英文,沒錯!這就是 Bug 的起源!

其實早在1870年代電腦還沒出現時,「BUG」這個詞就被用來形容工程上的錯誤,但直到西元1940年左右,美國一位名叫 Grace Hopper的女子將其發揚光大厚,才成為了電腦發生問題的代稱。

據了解,這名女子不但是海軍准將還是一位天才電腦科學家,算是世界上最早的那批程式設計師之一,不僅創造出世上第一個編譯器 A-0系統,還是第一個進階商用電腦程式語言COBOL。但她到底跟電腦中的「BUG」有什麼淵源呢?

當時她加入美軍在哈佛大學展開的馬克一型計畫,成為該台電腦第一位專職設計師,有天馬克二型卻突然當機了,正當大家完全不知所措時,她一步步地尋找問題的源頭。沒想到最後才發現竟是一隻飛蛾不小心闖入繼電器,因此造成電腦的短路。最後為了紀錄該事件,她便把飛蛾的屍體用膠帶黏在紀錄本上,並表示這是第一例真實的bug造成電腦停止運作。

從那之後,該部門若有電腦停止運作就會被稱之為 BUG ,而除錯完成後就會被稱為DEBUG,成為了日後電腦遇到程式有著缺陷或者問題的代稱。然而特別的是,目前 Hopper那份飛蛾稿子的紀錄還被保存在美國國家歷史博物館之中,讓後世的人們得以知道這個字詞的起源到底為何。

出處: https://cnews.com.tw/134190621a01/

arrow
arrow
    創作者介紹
    創作者 首陽 的頭像
    首陽

    首陽問路

    採 藥 發表在 痞客邦 留言(6) 人氣()