作者csfgsj (真理不滅)
看板Soft_Job
標題Re: [徵文] 軟體工程師入門
時間Sun Apr 3 23:47:35 2016
※ 引述《csfgsj (真理不滅)》之銘言:
: → Edison4ever: 願聞其詳... 04/02 21:47
實話很傷人
它會拆穿一些東西,傷害到一些人的利益
這麼說吧!
先來個小小的正名運動
請將你腦袋中的有關「程式」的詞彙,通通改成「程序」
再去回想一下,相關的知識
你會發現,方向被誤導的有多麼嚴重
程序才是本質,公式可有可無
程序就是程序,除了公式,他還可能包含許多不是公式的東西
「程式」會讓你以為它是一種類似科學計算的東西
觀念完全錯誤,這是一個錯誤的命名
程序就是程序
程式設計就是程序設計
當你專注在程序的規劃設計,你會發現,用什麼語言來記錄它已經不是重點
程式語言就是描述程序的語言,它只是一個記載的媒介、工具
許多人一天到晚都在鑽研語言,以為會了語言也就會了程序的規劃設計
這不是個大笑話嗎?
過去花最多時間鑽研的東西,其實最不重要
根本就是微不足道
程序設計規劃需要的知識
最重要的東西,反而都被忽視了
: 推 balaking: 不要在那邊誤人子弟,這邊有書單可以看每年軟體界的趨 04/03 21:25
: → balaking: 勢 04/03 21:25
: → balaking: https://zh.m.wikipedia.org/zh-tw/Jolt奖 04/03 21:25
學習一種程序語言,其實不是只有單純的程序語言選擇的問題
更重要的是,選擇了該程序語言背後所應用的產業
你選擇了C,那你的領域可能在底層
你選擇了JAVA,那現在最夯的就是Apps
你選擇了Swift,那註定是iOS
有的語言在上升,有的語言在下降
只是代表了該語言應用領域的興衰、趨勢
與語言本身的好壞優劣,關係倒沒那麼大了
是不是誤導,就看有沒有腦袋了
--
[新聞] 「多個願望一次滿足」混合包 喝了恐暴斃
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.176.116
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1459698464.A.ADF.html
1F:推 RunRun5566: 語言本身本來就是個很簡單的東西 04/04 00:10
2F:→ RunRun5566: 但是要用一種語言做不同應用 就要下很大的功夫了 04/04 00:10
3F:推 sing10407: 推推 04/04 00:40
4F:推 tvbic: 我覺得整篇都是廢話 04/04 01:20
5F:→ obrwan: 程'序',那招阿 04/04 01:37
6F:→ cryinglove: 語言只是語言,會說話不代表你會說故事,這是兩碼子 04/04 01:43
7F:→ cryinglove: 事 04/04 01:43
8F:→ O187: 在台灣沒聽過有人在用程序這詞 04/04 07:25
9F:→ redwing5566: 程序,這是大陸用語吧 04/04 07:56
10F:→ holydon: 那你要不要把軟體正名成軟件!? 04/04 08:13
11F:→ xdraculax: 同意語言應用領域重於本身優劣,但要叫程式程序關鍵只 04/04 08:53
12F:→ xdraculax: 在你客戶的國籍 04/04 08:53
我知道這邊有許多不喜歡「那一邊」的鄉民
但是就CS相關詞彙的翻譯、命名。我的看法
「那一邊」的用詞,其實之中有不少 是比我們這一邊的用詞還要精準的
不要老想著「好大一支槍」、「後天」等等的笑話
不同的行業,人員素質的差異是很大的
13F:推 balaking: 你可能比較適合念哲學系,那我也可以說CS都叫“計算機 04/04 09:16
14F:→ balaking: 科學”,這門科學的生態都是基於“計算機”,計算機不就 04/04 09:16
15F:→ balaking: 是0跟1,我不只看透語言還看透CS,戰這個沒意義。寫code 04/04 09:16
16F:→ balaking: 是用來服務人的,不是讓電腦吃資源的,寫好的code不只是 04/04 09:16
17F:→ balaking: 修煉,更是一種服務態度 04/04 09:16
18F:推 balaking: 如果你是學生,資料結構、離散數學、編譯原理、線性代 04/04 09:40
19F:→ balaking: 數和CCNA這些功課做好就好;如果你是上班族再來探討Desi 04/04 09:40
20F:→ balaking: gn Pattern、語言特性、各種Library、資料庫、軟工等實 04/04 09:40
21F:→ balaking: 際應用的議題 04/04 09:40
Library是一種資源,是一種可供調用資源的概念
一般人很容易將它歸類在程式語言的技術範疇
這是一個非常容易掉入的思維陷阱
小小的差別,卻是大大的錯誤
小小的出發點不同,後面衍生大大的發展障礙
資料庫已經是系統觀念的範疇
一種極端的看法
在探討系統議題時,根本不需要去考慮到語言的問題
先把人的邏輯搞定,再用適合的語言地來描述它
這才是所謂的程式開發設計流程
就算完全不懂程式語言,也可以把系統設計得很完善
不要太拘泥於程式語言
語言特性???
語言是個很中性的東西,功能就是紀錄、表達意志
它本身不應該有任何的立場、特性
理論上
你的意志透過語言表達,交給CPU。CPU 100% 遵守執行,達成所要的效果
但實際上,因為假指令的存在,讓這種關係變得複雜化
一些你所寫的所謂程式,到了執行階段
其實CPU是看不到的,也不會被執行
在傳統的C語言,由於真假指令的分野很清楚 (巨集:文書編輯假指令)
程式開發者對於將來CPU的行為,仍可很清楚的掌握
一些後來的程式語言,將假指令包在程式語言中
從此以後,這個界限就變得模糊不清楚了
對於CPU作為的掌握,變得捉摸不定
因為搞不清楚,目前寫的Code,到了執行階段,會不會被CPU執行
目前寫的Code與CPU行為的關係是什麼,也不知道了
(對我熟悉的人應該知道我在說繼承語法)
有些人認為這個做法很高明,我倒認為這只是把人變笨
把原本簡單的東西複雜化
Design Pattern???
我始終認為這只是一個理想
利用一個固定的方法程序,一個固定的架構,就可以解決世上所有問題的理想
實際上,這當然是不可能的
特定的方法程序,往往只能對付特定的需求,沒有所謂的萬靈丹
或者我可以沒出息的講,唯一的萬靈丹就是抄現成的,最省時省力
最佳的Design Pattern就是對於目前的需求,找看看有沒有現成的解決方案
找到就直接抄,Google是你的好朋友
營利事業單位,東西出來就好,沒有人會在乎是不是抄來的
Design Pattern一共有多少種?
學了一萬種,可能其中的9999種,你這一輩子都用不到
用得到是金,用不到就是屎
如果不是時間多,那投資報酬率可要好好地想一想
22F:→ superpai: 從來不覺得「程式」有什麼包含計算的概念 04/04 10:50
23F:→ superpai: 你自己聯想力太豐富吧 04/04 10:50
24F:推 Yshuan: 認同語言的定調,而翻譯我認為就只是慣例,實際意義隨時代 04/04 11:00
25F:→ Yshuan: 科技改變。Design pattern我認為是進階的coding style, 04/04 11:00
26F:→ Yshuan: 都是為了維護與團隊開發的整合容易。 04/04 11:00
27F:推 Yshuan: 記得候捷的書也常提到同個單字,他會看domain和context去 04/04 11:02
28F:→ Yshuan: 決定中譯。 04/04 11:02
29F:→ Masakiad: Design pattern這段理解根本是錯的 04/04 11:08
大大有高見,願聞其詳~~
30F:推 Yshuan: google直接抄絕對是不好的,除非這「項目」就你一人,不 04/04 11:10
31F:→ Yshuan: 需交接。 04/04 11:10
32F:→ testPtt: 只是考慮現實 不然也可以注重在高效率但高耦合的程式 04/04 11:36
33F:推 matchyou: 完全不懂程式語言然後能把系統規劃很好的我沒看過,這 04/04 11:41
34F:→ matchyou: 樣的人只出現在理論中 04/04 11:41
在電腦出現前,銀行、戶政等系統就已經存在了數百年之久
這些系統、規則是如何被設計出來的,如何作業的
是人~~根據人的邏輯制訂出來的,與機器無關
以前是人工作業,現在是電腦作業,邏輯還是人的邏輯
當然了,改由電腦來作業,當然需要一些電腦的知識
只是這個系統整體的知識,跟電腦有關的比例佔多少
至少在我認為,它佔的比例其實不是太高( <10%)就是了
在系統開發的流程上,也屬後面的階段
※ 編輯: csfgsj (111.243.176.116), 04/04/2016 12:15:23
35F:→ tsao1211: 你上面補充的只是系統設計概念與邏輯的部分,到真的把系 04/04 12:28
36F:→ tsao1211: 統完成上線,開發出易於維護,擴展與安全的系統還有一大 04/04 12:28
37F:→ tsao1211: 段路 04/04 12:28
38F:→ shadow0326: 大溼又來啟蒙汝等物件導向奴役下的文盲啦~~ 04/04 12:45
39F:→ lance8537: 我都用hao360做網頁測試 04/04 13:02
40F:→ y3k: 我想看看大師您寫PHP會寫成什麼樣子XD 04/04 14:12
41F:→ NodeWay: 知道一萬種DP果然是大師 在下才疏學淺只數得出二十來種 04/04 14:57
42F:推 RunRun5566: 我理解的Design Pattern大概只有十幾種 04/04 15:00
43F:→ Masakiad: DP並非用一種或數個架構要解決「所有」問題。DP是在特定 04/04 15:25
44F:→ Masakiad: context(姑且稱環境)下產生的force(姑且稱問題),可 04/04 15:25
45F:→ Masakiad: 以用同一種pattern去解決該force。但很多人忘記必須考慮 04/04 15:25
46F:→ Masakiad: 該pattern產生相對應的force可能影響整體架構。但其實DP 04/04 15:25
47F:→ Masakiad: 是有強調可能照成的相對force。另外pattern不指code或定 04/04 15:25
48F:→ Masakiad: 型的class diagram,因為他意義上是指解決該force的一 04/04 15:25
49F:→ Masakiad: 種固定手法,依我的能力這可能很難言語講明白。但patter 04/04 15:25
50F:→ Masakiad: n包含由原概念產生的變形也算。所以pattern一直很少。 04/04 15:25
51F:→ yolasiku: 無聊 你想跟大陸一樣講「程序」 你爽就好 04/04 15:35
52F:噓 kai5566: 勒工三小 04/04 16:03
53F:推 wesley234: 看來這個版,大師是有的,朽木也是有的,上面就有一根 04/04 17:02
54F:噓 wuliou: 什麼東西 04/04 18:05
55F:→ bbser: 就算你是對的,用上中國用語,就是錯的。 04/04 18:21
56F:→ lockercho: 啦啦啦啦啦啦啦 04/04 19:10
57F:→ sayya2311: 很少人一天到晚鑽研語言,除非是scala還是ruby的創造人 04/04 19:55
58F:→ sayya2311: 一般人頂多就是不斷去追語言的最新feature而己.. 04/04 19:56
59F:→ sayya2311: 另外..程式語言不重要嗎?在Turing award的得獎名單裡, 04/04 19:57
60F:→ sayya2311: 程式語言相關創新的得主,若不是最大宗,也是前三... 04/04 19:58
61F:→ tyc5116: 難以認同 04/04 20:53
62F:→ gamer880831: 設計模式,我覺得比較偏向程式的維護及可讀性,跟你 04/05 00:04
63F:→ gamer880831: 理解的好像有出入... 04/05 00:04
64F:噓 ken90242: 大放厥詞 04/05 14:11