Re: [問卦] C語言學到什麼程度才可以說自己會寫C已回收

看板Gossiping作者 (Henry)時間6年前 (2018/04/03 15:40), 編輯推噓-1(123)
留言6則, 6人參與, 6年前最新討論串3/3 (看更多)
借大神的文章發問: Go 的效能很好、GC 超越 Java、syntax 也簡潔, 容易寫出多核心 CPU 利用度高的程式。 但是它沒有 exception handling syntax、 null safety、 function/operator overloading、 inheritance, 加上 standard library 不夠廣泛, 套件管理不優, 也就算了, 居然沒有 generic types, 請問這樣要怎麼寫,為什麼還那麼紅,有掛嗎? ※ 引述《jserv (松鼠)》之銘言: : ※ 引述《orz77586 (成大harden)》之銘言: : : 需要強到像Jserv一樣可以邊演講邊用開外掛的速度打扣 : : 還是學到什麼程度就可以說算是會寫C了 : : 版上大大們有沒有什麼看法 : 板上先進比比皆是,但是大多忙碌,最近剛好在研究社交網路的我代替大大們回覆。 : 身為中學摸 C 語言、大學摸 C 罩杯的大叔,我只想說「均衡發展」遠比鑽牛角尖 : 重要。 : 解釋之前,前美國總統甘迺迪 (John F. Kennedy) 曾說: : > I believe that this nation should commit itself to achieving the goal, : > before this decade is out, of landing a man on the Moon and returning : > him safely to the Earth. : (我相信美國在 1960 年代結束前,將全力以赴地實現一個目標,那就是讓人類 : 登陸月球,並確保安全返回) [0] : 這句話非常明確:在美蘇冷戰時期,讓所有參與太空國防的上萬名人員,乃至於 : 當時的聯邦人民都知道,枝幹該把怎樣的養份送到主幹,更明確來說,機構的專家 : 會去研究夠耐用的船體、天文物理的專家會去研究重力對路線的影響、電子通訊的 : 工程人員構思一系列有效的傳輸方式,而投身教育者則是從國會議員到普羅大眾都 : 涵蓋,確保資金和人才供給不斷絕。最終,阿波羅 11 號 (Apollo 11) 作為 NASA : 阿波羅計畫中的第 5 次載人任務,實現人類第一次登月 (並且成功返回地球的) : 任務 (當然第一次人類登月任務始於神州大陸的嫦娥,中國人帶著逃離中國的基因 : 可見一班),繞行月球 30 周。 : 等等,上面的故事和 C 語言有何關係?「你 484 來混 P 幣呢?」且慢,讓我 : 繼續說下去。 : 阿波羅計畫的規模之大,即便是今天回顧,也難用簡單幾句帶過,遑論 1950 年代 : 末期總是被蘇聯太空技術 [1] 壓著打的美國政府,上面甘迺迪那席話就在 1961 年 : ,啟動阿波羅計畫之際。而 1960 年代中期啟動 Project MAC (與阿波羅登月計畫 : 平行,由 DARPA 贊助的大型計畫) 的 Multics 專案,定位開發多人分時多工作業 : 系統,並且運作於多核的硬體環境 (multi-processor!),更有意思的是,Project : MAC 這麼龐大的計畫卻由麻省理工學院 (MIT) 領軍開發關鍵技術,並由 GE (美國 : 通用電氣) 提供硬體及 AT&T 旗下的 Bell Laboratories 開發軟體和技術支持 (受 : 到反壟斷條款的處分,AT&T 不得涉及硬體銷售,但研發專利技術並授權他人不在 : 此限),今日我們熟知的 C 語言開創者 -- 已故的 Dennis M. Ritchie (縮寫 dmr) : [4] 和今年 75 歲卻供職於 Google Inc. 並帶領一群高手投入 Go 程式語言開發的 : Kenneth Thompson (縮寫 ken) -- 即服務於 Bell Labs。 : 以商業的角度來說,Multics 是個失敗的作業系統,但 ken 和 dmr 卻汲取其中的 : 養分,帶著戲謔的口吻,開發出名為 UNICS 的作業系統,"uni-" 和 "multi-" 是 : 對比的前綴,後來 UNICS 被正名為 UNIX,自此為世人熟知,並且影響你我生活的 : 個別面向。UNIX 第一版用組合語言開發,提供了檔案系統的服務,後來用 C 語言 : 重寫,其中 Research UNIX version 6 (UNIXv6) 是大量被學校和公司行號採用的 : 作業系統 (在 AT&T 的律師團收取天價授權費之前)。 : 但是,你若把 C 語言當作「只是另一個程式語言」來看待,那就大錯特錯了。 : 在資訊科技領域,部分工程師和甚至是企業家跟編譯器發展有關,比方說 Eric : Schmidt (Novell 前執行長、Google 前執行長) 在 Bell Labs 服務時,重寫了 : lex 工具程式 [2],dmr 在發展 Unix 作業系統和 C 語言之前,參與 Multics : 專案的編譯器開發工作,他們得以熟悉程式語言理論 (Programming Language : Theory, 縮寫 PLT) [3] 和電腦硬體的特性,進而到其上的作業系統和各式應用 : 程式。 : dmr 有次被人問及: : > 「一個人從新手到精通 C 語言的電腦程式開發者,並得以寫出卓越不凡的 : > 程式碼,根據你的經驗,需要多長時間呢?」 : 這位帶有幽默感的曠世奇才回覆道: : 「不知道,我不需要學 C」 : 回到最初的提問「學到什麼程度就可以說算是會寫 C?」,那終極回覆大概就如 : dmr 這樣簡單的答覆:實際解決複雜且影響深遠的問題,過程中萃取出 UNIX 哲學 : [5] 和 C 語言這樣的人類文化資產出來,塑造今日我們所見的一切。 : 引用中正大學吳昇教授日前的話: [6] : > 以武俠世界的武功來比喻,一些拳法、招數學好很重要,但是內功心法也很重要。 : > 在金庸射鵰英雄傳小說裡馬鈺道長到塞外教郭靖兩年內功心法,奠下了郭靖武學的 : > 雄厚根基後來成為大俠。 : 我相信學習 C 語言絕對不是把玩拳法、熟記招數,而是打通經脈,深植雄厚根基, : 著眼於開發高品質的軟體、關注清晰且一致的 coding style、時時關注高可讀性、 : 勤勞地調整出清晰漂亮的結構,更不忘在高效能、好維護、具延展性、強韌性、安全 : 性等議題持續精進。 : 做到這樣的話,已可算是「開始學習 C 語言」了。歡迎各位和我同事宅色夫一起 : 學習和交流 C 語言: : * 線上教材: http://hackfoldr.org/dykc : * (偽) 網紅頻道: https://www.youtube.com/c/guts4tech (請幫忙按讚) : 身為 C 語言初學者,我不以進展遲緩為恥,相反的,我樂見自己的創作能夠用在 : 我家人和身邊朋友每天用的 Android 手機、中文輸入法、嵌入式裝置,甚至包含 : 大眾交通設施 (先賣關子 :P)。人類的歷史中,還有什麼時期能夠憑藉雙手,對這 : 世界帶來持續廣泛的影響呢?我只是單純地追隨 dmr 和 ken 等前輩的步伐。 : 同場加映: : 2001 年,J. T. S. Moore 以自由軟體和開放原始碼軟體發展為主題,導演了相當 : 可貴的紀錄片《Revolution OS》,訪談了若干先鋒者,是理解駭客 (hacker)、 : GNU 計畫、自由軟體基金會 (FSF)、Linux 核心 (kernel)、開放原始碼 (open : source) 和自由軟體 (free software) 基於不同理念各自發展、Netscape 宣佈 : Mozilla 開放原始碼專案、基於 Apache 和一系列開放原始碼技術的公司、在 : NASDAQ 上市等等歷程的第一手資訊。隨後新竹交通大學資訊工程系「自由開源 : 軟體與專案協作」課程師生更新了紀錄片諸多細節和增添註釋。對理解 C 語言前世 : 今生乃至於當今的資訊工業發展,應有一定程度的助益: : https://hackmd.io/s/r1dUx8ltg : [0] 阿波羅計畫可參照 Discovery 拍攝的紀錄片〈登月機具:導航系統〉,我學生 : 幫忙翻譯了中文字幕: : https://amara.org/en/videos/oJHtDEuqZfVK/info/navigation-computer/ : [1] 蘇聯於 1957 年 10 月 4 日發射 Sputnik I,後者是第一顆進入行星軌道的 : 人造衛星,隨即震撼了整個西方,在美國境內引發了一連串事件,如史普尼克 : 危機、華爾街發生小股災。開始了美蘇兩國之間的太空競賽 : [2] lex 的中文解說可見: : https://mropengate.blogspot.tw/2015/05/parser-lex-yacc-1.html : [3] PLT 的極佳資料彙整可見: : https://github.com/steshaw/plt : [4] 追憶 Dennis M. Ritchie 的文章: : http://www.ituring.com.cn/article/14315 : [5] 由於 AT&T 和 University of California, Berkeley (UCB) 曠日費時的官司, : 今天我們說的 "UNIX" 或 UNIX-clone (如 Linux, FreeBSD, macOS 等等) 裡頭 : 的原始程式碼已經和最初 AT&T UNIX 的版本相差甚遠。但 UNIX 帶來的精神和 : 哲學思維至今長存,在資訊科技的許多地方可及。詳情可見: : https://en.wikipedia.org/wiki/Unix_philosophy : [6] 出處: https://www.facebook.com/sunwu2011/posts/1619624211457570 ----- Sent from JPTT on my iPhone -- 一本紅塵心中陳,夜夜頁頁念佳人。 - 珩 2018 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 173.239.198.128 ※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1522741237.A.FD3.html

04/03 15:41, 6年前 , 1F
不如摸C罩杯
04/03 15:41, 1F

04/03 15:41, 6年前 , 2F
糞語滾
04/03 15:41, 2F

04/03 15:42, 6年前 , 3F
ro支拿賤畜跟支拿賤畜都盜用source code再說是自己寫的
04/03 15:42, 3F

04/03 15:42, 6年前 , 4F
真假這樣還會有人用?
04/03 15:42, 4F

04/03 15:43, 6年前 , 5F
因為大部分的人沒在屌哪些的
04/03 15:43, 5F

04/03 15:57, 6年前 , 6F
因為很多東西還是只能用C寫
04/03 15:57, 6F
changyuheng:轉錄至看板 Soft_Job 04/03 16:33
文章代碼(AID): #1Qmo_r_J (Gossiping)
文章代碼(AID): #1Qmo_r_J (Gossiping)