作者csfgsj (流水貫通)
看板Soft_Job
標題Re: [請益] 如何增進自己程式的實力?
時間Mon Oct 12 15:51:41 2020
※ 引述《camry2009 (camry)》之銘言:
: 然後我該怎麼增進自己實力比較好? 一直刷題嗎?如果要,題目該刷哪一種的?
: 有點迷惘的感覺...希望前輩們可以給我一點方向 感謝!
來講一些你現在可能聽不懂的,但是10年後可能會懂的觀念
1:電腦就是個器物,要以器物學的觀點來看待並了解電腦這個東西
包含器物的概念,器物的實現方式,器物的使用方式
1.1:去找個MCU,寫個最簡單的燈號控制的小程式(用C寫),
對於硬體基本概念的建立非常有幫助
2:當你摸清電腦這個器物的概念(基本架構)、實現方式(數位邏輯概念)、
使用方式(程式開發)之後 下一步就是對於心靈世界的探討,
包含我們如何看待事物 看待事物的觀點、條理、以及抽象的方式
2.1:程式設計表面上看是一種技術,實際上是一種思維方式
尤其是對於事物的整理及抽象方式,是重點中的重點
2.1.1:有一本書「計算機科學的哲學」,也是市面上唯一的一本,
在講這種觀念的書 可以去圖書館借來看看
2.2:事物要如何整理、如何抽象,其實並沒有一個通則,它會隨著事物的本性、場合
以及你的需要,而有所不同。在這邊要腳踏實地,
不要去相信會有什麼萬用的萬靈丹(ex.~~)
一旦被拐,你的想法就會陷入作繭自縛的窠臼中。
2.3:不同的事物都會有各自不同模式模型,
該Domain的型態才是決定該Domain最適模式的因子。
要開發什麼領域的程式,不要偷懶,
就要去知道該程式領域的知識(Domain Knowledge)
Ex. Protocol, spec, 演算法, lib 的功能及用法,
作業系統, 資料庫, SQL…etc.
3:當你摸清以上兩點的時候,你就出師了,技術將不受限於任何的平台或語言的牽絆
3.1:「形而上之謂道,形而下之謂器」。工具不重要,思維方式才是重點
3.2: 工具一直在變,C\P 值低。體系觀念永遠不變,C\P 值高。要知道投資報酬
選對池塘才能釣到大魚
4:IT 是一個技術的領域,也是一個商業的領域。
既然是商業,就會有商業的利益與商業的宣傳,
對於這些宣傳,要有懷疑的態度,不要照單全收,
如果有能力的話,最好能明辨是非,看看反面的說法
5: 程式開發,怎樣做最快? copy + paste 最快
不要看不起 copy + paste
那些標榜功能強大,又酷又炫,可以快速開發程式的工具
追溯到最後,也只不過都是基於 copy + paste 作法的變形物質而已
(問問自己,有沒有用框架,有沒有用繼承,它們就是啦!)
copy + paste 不完全是壞事,尤其是對於不問過程,只看結果的業界來說
copy + paste 可能是你增加程式開發效率,釋放沉重負擔的最重要手段
Code 是要自己寫,還是用 Google 去找範例比較快?
刷 Leetcode,那是應付考試用的
業界與學校是不同的
到了業界,對於已經有答案的東西,誰還會讓你去花美國時間,重新發明輪子
有效率與沒有效率,這是一個很實際的問題
但新手與老手的差異在於
對於所 copy + paste 內容,瞭不瞭解,有沒有完全掌控的能力
工具再怎麼好用,終究是會碰到限制與瓶頸
這個時候,還是那句老話
程式設計的基本功,總是要腳踏實地,下功夫去搞清楚的
程式開發的技術債,不管早晚,終究是要還的
以上,供您參考
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.32.249.24 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1602489105.A.FF5.html
1F:推 angerD: 推 選對池塘才能釣到大魚 10/12 16:02
2F:→ camry2009: 謝謝cs 大 現在看的確不是很懂 待日後再慢慢體會 10/12 17:51
3F:推 jerohands: 推,確實如此 10/12 20:41
4F:推 CaptPlanet: 推內功心法 10/12 22:45
5F:推 Csongs: 收藏一下 10/12 23:12
6F:推 dream1124: 推 10/12 23:24
7F:推 LERICAL: 推 說得真好 10/13 01:20
8F:推 triplee: 大推第四點 10/13 09:45
9F:→ zhuzii: 讚 10/13 10:21
10F:推 balaking: 認真的回文,推! 10/13 11:39
11F:→ balaking: 前陣子在吵OO與FP就很好笑 10/13 11:40
12F:噓 balaking: 不推作者,噓回來 10/13 12:18
好笑還噓文,是很不爽吧!
13F:推 x246libra: 被樓上笑死,覺得樓主2.2, 2.3說的不錯啊,oop不也是這 10/13 19:43
14F:→ x246libra: 樣嗎?不懂為什麼樓主反oop,可能我程度不到無法理解 10/13 19:43
15F:→ x246libra: 樓主想表達的東西 10/13 19:43
請看本人在本版上面的另一篇PO文(
#1VVimF6O),若有不懂請在那邊問
16F:推 shibin: 好奇樓主說的2.2的萬靈丹是指什麼? 10/13 21:22
沒講出來就這麼嗆了,講出來不是更慘。大大有種想讓人被修理之企圖
17F:→ strlen: 反OOP不過就老屁股憤世嫉俗發神經病 講兩句大家就會開始一 10/13 23:22
月薪23K買不起房子的人,才會憤世嫉俗
我的月薪是23K的數倍,房子好幾間又沒貸款,不會憤世嫉俗
18F:→ strlen: 起反OO喔?哪根蔥啊?XD 10/13 23:23
Linus Torvalds 這根蔥夠大根吧! 他也反OO呀!
19F:→ strlen: 我來反面試考algo因為95%工作根本用不到 有公司會屌我嗎? 10/13 23:23
我知道這樣說很傷人,面試時會跟你考白板題的都是初階的工程師
等你履歷上的內容分量夠了,就不會浪費這種時間
20F:→ lovebridget: 一下說沒萬靈丹 做什麼都要去重看domain 10/14 02:18
21F:→ lovebridget: 一下又說什麼思維不變一通全通 10/14 02:19
要懂真理,先搞好中文,中文不好,神也救不了你
22F:→ balaking: OO:咖啡比較好喝! FP:茶比較好喝!! AS:吵什麼?喝水就好 10/14 08:57
咖啡不難喝啦,只是要注意有些咖啡裡面會摻貓屎
23F:→ strlen: 阿就Linus一個?所以其它蔥都是棒槌膩?至於傷不傷人 你要 10/14 17:49
24F:→ strlen: 看不起初階工程師也是你家的事啊 自以為高端就是像這樣 10/14 17:49
不想談業界的等級以及鄙視鍊的問題,地圖砲更大
這邊有人在談這個議題
https://www.youtube.com/watch?v=c2aAol0wZTk
如內容所述,接案公司屬於軟體工程師中的甘苦人等級
我的原則是不跟甘苦人計較
25F:→ strlen: 還幾棟房子都拿出來講 天阿 可以再low一點 XD 10/14 17:50
這不是 Low,是有人很敏感,就像你不能跟太監談陰莖是一樣的道理
26F:→ strlen: 下一篇乾脆回 難到我坐飛機上下班也要給你知道? 10/14 17:52
坐飛機上下班很臭屁呀! 為什麼不能說出來給別人羨慕一下
27F:推 djpcsixth: 我要把這篇文章印出來貼在廁所上 10/14 19:01
是要避邪嗎?
28F:推 iloveapple: 這篇在講讀書的方法 思考的真諦 可以用在任何科 10/15 01:59
29F:→ iloveapple: 肯定是有付出一定努力 大推 10/15 02:01
You Got it. 難得碰到一個有慧根的
探討程式設計的過程,到了最後就是開發者的智能與認知操作的科學
包含人腦對事物的探索、定性、整理抽象、抽象操作、學習創造等議題
某個OOXX的問題,其實是要拉到這個層次才說的明白的
現在的AI為何還遠不如人腦,最大瓶頸就是在抽象這件事的操作上
現在有傅立葉級數能算出圖形的抽象
卻還沒有一種數學,能算出人腦對事物訊息的抽象
(AI現在一切都要靠大數據,與人腦比起來,這是很笨的方式,所以遠不如人)
這裡面又是一大堆東西,以後有機會再談
30F:推 kingofsdtw: 滿實際的,現在的確都是拿現有框架改 10/15 02:49
31F:→ kingofsdtw: 自己造車不見得會造的比較好 10/15 02:50
32F:→ kingofsdtw: 除非效能問題關閉功能,基本上也沒啥大問題 10/15 02:51
※ 編輯: csfgsj (218.32.249.24 臺灣), 10/15/2020 11:27:51
33F:推 angus810714: 真的推,說得太對 10/15 18:57
34F:推 eetie: 把人類想法,在機器上實踐的過程。像唐鳳,自己就是compil 10/15 20:42
35F:→ eetie: er , 解決社會問題! 10/15 20:42
36F:推 ILYY: 推推 只是想說有貓屎的咖啡好像比較貴XD 10/16 02:37
37F:推 jimmylin1024: 推 10/16 07:31