Re: [問卦] 程式語言的卦

作者: HuangJC (吹笛牧童)   2020-11-07 23:03:42
※ 引述《kittor ()》之銘言:
: 到目前為止,還是大眾可見到的是java,python,C,C++,C#,R等等的
C 被推崇,是因為其他都算 C like
學會 C,你學其他都容易
就算你工作環境不是 C,你也會一直看到 C 的影子
現在 python 也不錯,因為它像 basic, 一行指令就可以執行了
你不必學 compile/link 這些觀念或門檻
每種語言都會推出 hello world,因為我們看一個人的第一印象在六秒內建立
而學電腦,任何語言,如果在一天之內還不能執行
我看誰都會心浮氣燥
熟悉的東西,懂的人會覺得我說廢話
不然我們說個不熟的領域
看到喜歡的妹子,保證一天內要到電話嗎?難吧..
可是善於此道的人,就不會跟你說語言不通或沒有人脈是藉口
只要看得到人,他都可以一天內搭訕..
hello,girl~
: 不過隨著時間過去,似乎會退去吧?
: 總是會有新的語言會被開發的吧?
: 到2020為止,還有各位認為值得學的程語嗎??
: 我學程式,主要是一個未來不失為是個有收入的憑藉,也不想說多人會的東西,
: 自己卻沒去碰過
你的問句錯了
首先問你,你要創業嗎?
如果你從零開始,你才有決定權
舉例來說,我早就認為 VC 優於 BCB
會這麼說不是要開戰,而是"我認為";我一定要強調這點
這只是我個人認為
但當我進入一家公司,主管對我說:
我們已經寫好了很多程式,全都是用 BCB 寫的,而且它有XXXX優點
(開始說服你 BCB 哪些特色是優於 VC 的)
你必需接手維護;當然我們不介意你用 VC 從頭改寫
好,這時你還要堅持什麼?
1。你環境中的同事已經心有定見
2。你跟著前輩,他們會教你;而如果要堅持己見,抱歉,那就單打獨鬥
3。有時間壓力,用舊的是小改,用新的是重新打造
也不是說 VC 比較好,但在這種環境就一無是處
在用 BCB 工作一年之後,主管找我:
我們覺得 VC 還是不錯,決定從頭打造新模組,就用 VC
這叫什麼?這就叫 人浮於事
你是被環境推著走的
想要決定些什麼,那你得夠強,完全獨當一面
不然都是由別人決定,你只能跟
我甚至都還沒和你聊到 domain knowledge 重要性優於程式語言這些咧
也許另一家公司,敵對對手,是用別的語言並且取得極大成就
但只要你不能獨當一面,又或者不能跳槽去那家公司
那麼那些都不關你的事
你只能跟著環境走而已
看多了不同程式語言優劣的爭辯
但只要我一進入工作環境
我都無法決定什麼
因為我沒有決定權
當你有決定權後,你也會因為學了很多東西,有你的包袱
程式的世界裡有很多東西可以轉換平台,我們說 porting
最近 Mac 打算從 x86 架構轉到 ARM 架構,這要 porting
前主管曾經 trace 整個 unix 架構,當公司要他在 win 下寫一支程式
unix 有副程式而 VC 沒有,他就把程式從 unix 搬到 win 下
不同的執行環境,不同的硬體,不同的 os,不同的語言
有很多不同角度的 porting
一法通萬法通,poring 有方法做,但也有陷阱
不會一籌莫展,但也不是不用花時間
所以那些是資產,也是包袱
有那些包袱,就無法隨口說"我全部搬到目前我認為最優的環境下"
有時還會想些介接的方法
c call python, python call c, c call 組語...
當初 win 進入 32位元時,一堆現成的 16位元程式
於是就有 32bit os call 32bit API, 及 32bit os call 16bit API
後者就是沒有完全 32位元;可執行但較慢
那為什麼不全面改寫?誰都知道應該改寫啊,但還沒改寫啊 XD
又是一次資產就是包袱的證明
這些包袱早點規劃就不必現在才甩不開
但為什麼不早點規劃?
其實計概的模型早就規劃到 64 位元去了
但位元愈高硬體成本愈高啊,當 CPU 還在 16位元時,你規劃 64位元是要多貴? XD
我現在都還看得到四位元模組呢!
所以,人浮於事,你其實沒有決定權啊...
作者: johnhmj (耗呆肥羊)   2020-11-07 23:09:00
感覺BCB不好用,VC用起來比較有人性化。
作者: agario (Agar.io)   2020-11-07 23:13:00
不用創業,下班自己寫 open source 就沒人管你啦
作者: alinmoai (阿定)   2020-11-07 23:20:00
人浮於事好豁達,給推
作者: neo5277 (I am an agent of chaos)   2020-11-07 23:53:00
你回答的好認真啊

Links booklink

Contact Us: admin [ a t ] ucptt.com