看板 Tech_Job 關於我們 聯絡資訊
說真的懂一門編程語言 就是能逆練該語言 直白言 就是能作出該語言之編譯器 既然說 能對該語言之定義 語法 規則 結構 組語映對 虛擬機模型..等 完全掌握 沒有 比做出該編譯器更好之證明了 不要覺得如登天一樣 代碼是編 不是寫 網上很多學習用編譯器 好比TCC YUCC 拿下來參考就是 自己重謄 用自己方法重新實現 修繕 就能說是自己的編譯器 有了自己的編譯器 才能說是真正懂該語言 不然 只是說是知曉爾 ※ 引述《starburs (星爆氣流斬)》之銘言: : 大家安安 : 小弟今年23有個疑惑想請教大家 : “懂”一種程式語言的定義在哪 : 或者說 敢在履歷表的技能欄填上去的那個語言 : 會想這樣問是因為 : 小弟在大學修過幾堂C和JAVA的課 : 算是有點基礎 : 但是課本習題頂多能做基本題 : 進階題就完全不行了 : 所以履歷表沒敢說我有這些技能 : 怕到時候去面試被洗臉 : 蛤?你這樣也敢說你會???? : 所以想知道大家都是學到哪個階段才敢自稱會的? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.97.31 ※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1521082467.A.635.html
jses4408: 小弟受教了 感謝解答03/15 10:56
visa9527: 意思是有能力做出 node.js 才能自稱懂 Javascript03/15 10:56
acgotaku: compiler跟programming 根本是不一樣的東西....03/15 10:57
不然還有更好的證明? 真的懂就是完全逃不出手掌心 那不就是能逆練之?
yytseng: 我同學博班做compiler的,寫程式普通而已03/15 10:59
是全土砲還是只優化一小角?
bemyself: 推這篇原文和回應03/15 11:03
bemyself: 噓的人再多想一下吧。03/15 11:04
bezlin: 改寫別人程式片斷勝過全部自己寫 原PO是奇材03/15 11:04
沒自己扎實重騰次編譯器代碼 沒徹地了解其整個定義結構規擇 規格書沒徹底翻到熟爛 玩味其中字句 http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf 還好意思說自己"懂"該語言?
ARPG: 為了展現學會高階語言,結果學低階語言來證明,真棒棒03/15 11:09
誰規定不能用高階語言寫低階語言的編譯器了 各種語言之規格書中 可沒講編譯器要用甚語言來寫 (現在gcc中的C部份 用c++來寫的) 夠牛 要用python或java來寫C++編譯器 當然也可以 ※ 編輯: KILLE (223.140.97.31), 03/15/2018 11:18:32
jameszhan: 神經病 每個人都這麼閒嗎03/15 11:30
sam7159: 我要把履歷表的程式技能拿下來惹 03/15 11:41
w180112: 代碼03/15 11:49
workat60474: 贊同推文的說法,我修過jserv的課,他對於真正熟練某03/15 11:52
workat60474: 種語言的定義確實跟你一樣,起初我也不相信這樣的說03/15 11:52
workat60474: 法,不過把課修完之後確實感同身受。03/15 11:52
PUTOUCHANG: 一般雇主問的"懂"是應用層面在那邊扯透析原理03/15 11:55
PUTOUCHANG: 廚師不懂料理因為沒修過分子生物學? 無聊03/15 11:56
※ 編輯: KILLE (223.140.97.31), 03/15/2018 12:20:16
iincho: 照這標準會寫C的沒幾個了....XD03/15 12:34
boss0405: 嚴格上來說是這樣沒錯,C的許多語法都是以compiler為基03/15 12:37
s0914714: 每個人對"懂"的定義不一樣 很難有共識03/15 12:38
boss0405: 礎,不過只是工作,不用這麼嚴格啦XD03/15 12:38
s0914714: 而且照原PO的說法 應該還要刻個OS才算懂XD03/15 12:41
s0914714: 以C來講啦 畢竟C就是開發來寫UNIX的03/15 12:42
ken1325: 所以你寫完幾種編譯器了03/15 13:03
furio: 原PO認為要能用C寫C編譯器才叫懂C?這有點搞笑03/15 13:30
不要腦補 沒說只能用C寫C的編譯器 用fortran C++ python java...你想得到的任一編程語言 可以寫出C的編譯器 就算懂C了 ※ 編輯: KILLE (223.140.97.31), 03/15/2018 13:35:22
furio: 這就更蠢了,到底是懂C,懂fortran C++...03/15 13:37
CaptainH: 推. 一般人只會強調語法,殊不知這是compiler中最簡單03/15 13:39
CaptainH: 的部份03/15 13:39
furio: 報歉!寫的太過份了,不過相信原原PO問的是運用端的懂不懂03/15 13:54
iiiii: 撰寫大型程式碼跟撰寫編譯器是不同的知識模型,前者可以賣03/15 14:40
iiiii: 錢,後者是開源,你選擇?03/15 14:40
iiiii: 法拉利會自己研究煉鋼打鐵技術嗎,要懂得分工合作才是蓋大03/15 14:47
iiiii: 房子的關鍵03/15 14:47
這是裡討論怎樣算懂一門編程語言 不是討論懂了後之效益 不是懂了沒用 是離題了 ※ 編輯: KILLE (223.140.97.31), 03/15/2018 14:51:45
iiiii: 懂了,不能創造效應,聽說這就是象牙塔耶,是嗎?寫程式也03/15 14:56
iiiii: 只是按照操作機器的手冊指南操作機器呀,手冊寫的,負責寫03/15 14:56
iiiii: 手冊的人,的確很厲害,不過編譯器已經很多比我們都聰明的03/15 14:56
iiiii: 人都開創的很成熟,這個時代是需要懂應用的人,加油喔!03/15 14:56
你是要討論實用性還是"懂"? ※ 編輯: KILLE (223.140.97.31), 03/15/2018 15:01:28
iiiii: 您沒看過的大型程式,您不懂,我沒看過的編譯器手法,我不03/15 15:03
iiiii: 懂,這就是軟體的實境,我們都不懂,但是要一起努力做出更03/15 15:03
iiiii: 好的應用03/15 15:03
抱歉本人不是本科系 完全沒上過課 不知道甚叫大型程式 是windows源碼那種有五千萬行的 叫大型嗎 還是只要10W就算了? ※ 編輯: KILLE (223.140.97.31), 03/15/2018 15:06:14
iiiii: 大型程式不是用行數看,而是要看模組的數目和整合度,通常03/15 15:09
iiiii: 不會只用單種語言完成03/15 15:09
這裡重點是怎算懂一門編程語言 不是代碼多寡 也不是懂不懂大型項目 ※ 編輯: KILLE (223.140.97.31), 03/15/2018 15:14:31
iiiii: 唉唉,我想我又跟學生認真,對不起大家03/15 15:46
本滷工作十年了 算法開發 編程優化 嵌入式應用 串流編程 單片機 誇平台編程 摸一圈 後 得出真懂一語言 不是這樣容易
ggBird: 不是本科?那還討論沙小03/15 15:55
這是重點了 資工本科系 沒真懂編譯器 操作系統 那比起半路出家的 有甚區別? ? ※ 編輯: KILLE (223.140.97.31), 03/15/2018 15:59:56 ※ 編輯: KILLE (223.140.97.31), 03/15/2018 16:01:54 ※ 編輯: KILLE (223.140.97.31), 03/15/2018 16:05:56
iiiii: People who boaster his projects are losers 03/15 16:24
boss0405: 你是學理論科學的吧?我認同你的看法,不過不用太尊牛 03/15 17:40
boss0405: 角尖啦,或許把'懂'換成'精通'就比較沒爭議了 03/15 17:40
iiiii: 他如果真的工作十年,不會講這種話出來,又是學生來分享上 03/15 18:26
iiiii: 班經驗了,唉唉 03/15 18:26
fan1234x: 討論懂不懂為什麼會有人來吵會不會用... 03/16 08:30
EGsux: 原來是造輪子專家 03/16 08:31
fan1234x: 懂不一定用得好 用的好不一定懂不是嗎.. 03/16 08:31
acgotaku: 這個題目討論起來真的很好笑 10個SDE真正懂compiler 03/16 09:17
acgotaku: 可能還不到一個,市場上20個SDE缺可能才一個要你會寫 03/16 09:19
filla: 路過push 07/09 11:25