看板 Gossiping作者 jserv (松鼠)標題 Re: [問卦] 客家人都怎麼寫程式?時間 Sun Sep 1 22:47:54 2019
※ 引述《oasis10702 (希洛)》之銘言:
: 如題,最具有硬頸精神的客家人會怎麼寫程式呢?
: 例如:
: 變數名稱越短越好,雖然看不懂但要省下寫註解的力氣。
: 不喜歡做error handling ,因為捨不得把error throw出去。
: 物件導向的概念很強,因為能夠隨時繼承與重複使用。
: 能夠用package的時候就盡量用,畢竟是免費的,但寫好的程式碼絕對不開源給其他人。
: 除此之外還有哪些習慣?
你沒看過客家人寫程式嗎?我同事宅色夫寫給你看:
https://youtu.be/5aaHm9VImVE
硬頸精神指客家人不屈不撓的精神。語言是會變化的,「硬頸」在特定地區也被理解為
「脖子硬硬、不會轉彎」等負面字眼。我想,就算研討會議程僅有 30 分鐘 [1],也要
執著於用實際的程式碼來解說作業系統運作機制並自幹一套出來。選擇程式語言時,自
然以短小精悍的 C 語言為首選,畢竟 C 語言和硬體間的關聯,可說是 What You See
Is What You Get (WYSIWYG) [2]。
C 語言在本體規格不處理檔案或周邊 I/O,甚至也沒有例外處理機制,而是將這些機制
留到執行階段,由特定的程式庫實作 (CRT) [3],由認同 C 語言精神的開發者協同由
底層一路打造出完整系統,一如客家人歷千百年的奮鬥,五次大遷徙,擴展到江西、
福建、廣東、廣西、四川、湖南、台灣等地,在 18 世紀末,客家族群又遠渡南洋、
美洲勞工,全球繁衍一億多客家人及其後裔,用客語來說,就是「扎條褲帶出遠門」。
當然,程式碼註解也少不了,就算 live demo 也要在程式碼中加上註解。物件導向
是種風格,關鍵是善用而非濫用,在 C 語言中可落實,並在 Linux 核心一類的場景,
還能兼顧效能和彈性,優雅地運用 [4]
上述「寫好的程式碼絕對不開源給其他人」看來是原始發文者漏打字,應為
「寫好的程式碼絕對不隨便開源給其他人」
因為「一旦決定要開放原始碼,就該接受社群規範,從 commit message [5], coding
style, unit test, Code of Conduct [6] 到虛心和各界開發者交流,這樣貢獻出來的
程式碼才能實際被賦予生命。
我本來是要回覆看板上另外一篇文章,不過恰好瞥見,順手回覆。客家人很 nice 的,
一定有什麼誤會。
[1] COSCUP 2012 議程第二日「第一次自幹作業系統核心就上手」
https://coscup.org/2012/zh-tw/program/
[2]
https://en.wikipedia.org/wiki/WYSIWYG
[3] 參見「你所不知道的 C 語言」系列講座的「執行階段程式庫 (CRT)」
https://hackmd.io/@sysprog/Hkcr5cn97
[4] 參見「你所不知道的 C 語言」系列講座的「物件導向程式設計篇」
https://hackmd.io/@sysprog/HJLyQaQMl
[5] 我學生 Louie 翻譯自 Chris Beams 的 "How to Write a Git Commit Message":
https://blog.louie.lu/2017/03/21/
[6]
https://github.com/torvalds/linux/blob/master/Documentation/process/ \
code-of-conduct.rst
https://www.linuxfoundation.org/code-of-conduct/
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.82.61 (臺灣)
※ 文章代碼(AID): #1TQzeXCo (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1567349281.A.332.html
推 kkes0001: 誰2F 115.82.226.197 台灣 09/01 22:48
推 kutkin: 硬頸是負面的,是馬英九不動亂講4F 223.141.14.201 台灣 09/01 22:48
→ s860134: 大家比想要知道你對大學入學的看法~~~5F 123.192.22.254 台灣 09/01 22:49
→ wwf0322: XD6F 27.242.30.71 台灣 09/01 22:49
→ chao0210: 你想多久7F 1.169.146.38 台灣 09/01 22:49
推 ab4daa: 菜央文是垃圾法律系不寫程式的8F 125.231.165.54 台灣 09/01 22:50
→ larrysu: 客家人會照顧客家人 外人就放養9F 114.136.42.201 台灣 09/01 22:50
推 r34796a: 推12F 114.37.178.20 台灣 09/01 22:51
推 Mesa5566: 先推 不然會被笑看不懂客家人13F 39.10.190.90 台灣 09/01 22:51
→ buwa56: if else 一定要寫成一行14F 150.116.47.226 台灣 09/01 22:53
推 cattgirl: 專業15F 27.247.135.40 台灣 09/01 22:55
推 yuxds: 推16F 36.228.201.131 台灣 09/01 22:55
推 mvpdirk712: 看了id,肅然起敬17F 49.217.163.193 台灣 09/01 22:56
推 morichi: 先推18F 49.217.3.254 台灣 09/01 22:56
推 t81511270: 老師安安 竟然回文惹==19F 114.41.109.74 台灣 09/01 22:56
→ jserv: @t81511270, 即將開學,我上來八卦板招生20F 140.116.82.61 台灣 09/01 22:57
推 LierX: 推21F 36.238.82.26 台灣 09/01 22:57
推 cattgirl: 文章已經分不出文組還是理組22F 27.247.135.40 台灣 09/01 22:58
推 Daichiuri: 先推再看24F 223.139.142.81 台灣 09/01 22:59
→ jserv: @cattgirl, 我剛寫完論文,「文組」無誤25F 140.116.82.61 台灣 09/01 23:00
推 Crazy7oker: 推一下Jserv,看會不會比較順利畢業26F 101.12.225.135 台灣 09/01 23:00
推 sourbait: 這很客家27F 101.12.102.110 台灣 09/01 23:02
推 oasis10702: 推 c語言博大精深 但工作走產品開發後就沒寫了XD28F 39.8.231.128 台灣 09/01 23:05
推 xddd333: 推XD30F 111.242.170.125 台灣 09/01 23:13
推 g5637128: 跪著推文31F 61.227.135.205 台灣 09/01 23:22
推 Kreen: XD33F 123.240.195.238 台灣 09/01 23:33
→ neoa01: 推推 客家人居然會程式34F 223.137.169.150 台灣 09/01 23:39
推 LMGG: 我媽問我為什麼跪著看螢幕35F 219.68.117.99 台灣 09/01 23:45
推 je789520: 依然不能接受“硬頸”被當作客家精神36F 36.227.184.121 台灣 09/01 23:45
推 panda04056: ==37F 180.218.150.148 台灣 09/02 00:11
推 wszasdf: 朝聖38F 180.218.25.20 台灣 09/02 00:25
推 fl299: 推39F 101.8.198.51 台灣 09/02 00:36
推 Matz: 先推40F 122.116.159.149 台灣 09/02 00:38
推 chuegou: 大神出沒中41F 36.230.104.115 台灣 09/02 01:43
推 imba8591: 推 大神出沒42F 39.10.34.141 台灣 09/02 01:53
推 nullife: 推推44F 114.39.32.110 台灣 09/02 03:09
推 angerD: 靠靠 只能推了46F 117.19.140.195 台灣 09/02 03:28
推 woifeiwen: 推推推47F 1.173.82.118 台灣 09/02 03:31
推 VrGnKiler: 哈哈哈哈,老師真幽默48F 42.75.79.128 台灣 09/02 03:36
推 mocca000: XD50F 101.12.0.196 台灣 09/02 08:09
推 soto2080: 推52F 49.216.22.124 台灣 09/02 09:54
推 theedge: 推啊53F 180.217.174.84 台灣 09/02 09:59
推 terryshu: 推推54F 49.216.20.60 台灣 09/02 11:32
推 thatsauce: 推55F 101.13.213.64 台灣 09/02 12:48
推 potter903p: 推超用心教學的老師QQ56F 223.138.17.123 台灣 09/02 13:06
推 williamtsai: 先承認你同事就是你自己wwwww58F 36.226.144.240 台灣 09/02 18:18
→ yuiweq1999: 有神先拜59F 114.136.172.61 台灣 09/02 18:31
--