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