作者derekhsu (華麗的天下無雙)
看板Soft_Job
標題Re: [請益] 會多種程式語言...
時間Thu Jan 14 19:21:56 2010
(恕刪。)
學什麼程式語言不重要。更何況,什麼叫會?到什麼樣的程度叫會?
除非版上的朋友都是打算以後走計算機語言學這條路,否則我相信版上
絕大部分的朋友想要說得不是「會」某種程式語言,而是學會用程式語言
解決特定問題的方法。
我把程式語言跟解決問題的方法分成三個階層,套用到人體鍛鍊的理論上
,叫做「體」、「技」、「用」。
什麼叫做「體」?體就是身體,要從事運動,或專業的運動員,體力、敏
捷力、視力、反應力、忍耐力。這些都是基本的體能條件。而程式語言的
基礎就是「體」。
Java語言有著許多特定的結構,那就是Java語言的「體」。因為有「體」
才能衍生其他的「技」
「技」就是一種以身體為基礎的技術,比如籃球、棒球、足球、空手道裡面
包含許多的技巧,投籃、揮棒,這些依靠身體組成的技巧,就像是以「體」
為基礎衍生的「技」
像是Javascript,就是以Java語言的體,而衍生出的「技」、JSP也是「技」
、技與技之間也可以有更多的接合,像是以Javascript為基礎創造的Prototype
、JQuery。C++的體,組成了MFC和Qt的技。
當你有了體、也學會技以後,就可以「用」。
「用」就是使用體、技在特定的領域、解決特定的問題。
學會了投籃技術、防守技術,就可以去上場打籃球。
學會了揮棒技術、接球技術,就可以去上場打棒球。
當然,籃球也有581跟NBA之分。這就是「用」。
運用Java的體、JSP、Struts、Spring等等的「技」,就可以在Application Server
上處理企業應用。
運用C++的體、MFC的技,就可以開發Windows的應用程式。
運用Java的體、Javascript/JScript的技,可以應用在「網頁開發」
「Firefox extension開發」「Widget開發」...
「體」是基礎,是程式語言的基礎概念,沒有特定領域之分。
「技」是技巧,由程式語言的基礎變化、應用。
「用」則是使用任何的技,解決某個特定領域的問題。
以PHP來開發網站為例
1.先學會PHP的基礎,「弱型別」「函數」「運算子」「迴圈」..
2.接下來,利用基礎學得「技」,學會了樣板引擎、學會了MVC。
3.最後,應用所有來自PHP的「技」,以及其他的技「Javascript、DOM、CSS....」
「用」在網站開發上。
同樣的「用」,我能用不同的「技」來達到。同樣的,一樣的技,我也能用不同的
「體」來達到,以Hibernate為例,這是技,但是他的體可能是Java,也可能是
C#....
大家應該好好思考,是要不斷提高基礎的「體」、增加「技」、還是有更多的「用」。
哪一塊,才是企業所想要看到你展現的。
對著大家說「我會Java」。那請問你的Java會什麼呢?懂迴圈怎麼用嗎?
懂型別嗎?懂繼承嗎?這些都懂,那請問會不會JSP呢?會不會Socket程式撰寫技巧呢?
會不會Swing呢?會不會Multi-threading呢?都會,那會不會應用這些技巧撰寫
線上Java遊戲呢?會不會用這些技巧撰寫網路銀行應用呢?
「體」「技」「用」。一名程式設計師的生命有限,你想學什麼呢?
--
所有我的作品,請到.....
~四十八個德瑞克~
http://blog.derekhsu.homeip.net
馬皇本紀:
http://blog.derekhsu.homeip.net/2009/08/821
上官先生傳:
http://blog.derekhsu.homeip.net/2009/08/825
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.38.249
※ 編輯: derekhsu 來自: 112.104.38.249 (01/14 19:27)
※ 編輯: derekhsu 來自: 112.104.38.249 (01/14 19:31)
1F:→ jainnkae:像是Javascript,就是以Java語言的體,而衍生出的「技」? 01/14 20:40
2F:→ jainnkae:這樣的說法似乎有點怪怪的 ? 01/14 20:41
3F:→ wisehuang:javascript除了名字以外,跟java實在找不到有其他關連XD 01/14 20:47
4F:→ andymai:連長:"氣、刀、體一制,原地突刺、刺!" 小兵:"殺~~~~啊!" 01/14 21:29
5F:→ andymai:老闆:"體、技、用一制,加班寫程式" 員工:"啥~~~~啊!!!" 01/14 21:29
6F:推 EAFV:Javascript跟java差很多... 01/14 21:32
7F:→ FantasyRyu:JavaScript可能是為了要套關係吧,本來名字沒有Java的 01/14 21:36
8F:→ FantasyRyu:總之,它跟Java沒有關係,也不是Java的衍生物。 01/14 21:36
9F:推 wa120:javascript跟java一點關係也沒有... 01/14 22:11
10F:推 tyc5116:我想請問一下兩者語法間有什麼差異嗎,舉個一兩件來比較一 01/14 22:19
11F:→ tyc5116:下,因為常常聽到說兩者不一樣(我沒碰過,目前只碰過C++) 01/14 22:20
12F:→ derekhsu:很簡單,Java有繼承跟類別設計,而「原生」的Javascript 01/14 22:20
13F:→ derekhsu:沒有 01/14 22:21
14F:→ derekhsu:Java是強型別而Javascript是弱型別 01/14 22:21
15F:→ derekhsu:Javascript支援anonymous function而Java沒有 01/14 22:22
16F:→ derekhsu:Java支援package而javascript沒有 01/14 22:22
18F:→ derekhsu:維基上有javascript跟java之間的關係 01/14 22:23
19F:→ derekhsu:Java是編譯語言而「原生」的Javascript是直譯語言 01/14 22:25
20F:→ derekhsu:Javascript的確有很多跟java一樣的地方,而且目的也是 01/14 22:26
21F:→ derekhsu:看起來像java,跟vbscript目地是想看起來像vb一樣 01/14 22:26
22F:→ derekhsu:javascript跟java可不是一點關係也沒有啊...XD 01/14 22:27
23F:→ derekhsu:其實是Java皮但是Scheme谷 01/14 22:32
24F:推 yauhh:體技用,相當獨特的語言內涵的比喻 01/14 22:37
25F:推 Savate:除非我再去接觸什麼語言 不然"直譯器"對我來說只是名詞 01/14 22:39
26F:→ Savate:強型別弱型別又是啥啊 囧a 01/14 22:39
27F:推 Elly:就是不需要宣告明白型別(ex. int,string,object)的意思 01/14 23:13
28F:推 chchwy:js跟java除了都是C-like還有其他牽連嗎...= = 01/14 23:22
29F:→ kenzou:js哪來的c-like? =.,= 01/14 23:50
30F:推 megaman1206:看不懂 囧 01/14 23:52
31F:推 tyc5116:我曾碰過JSP(但不知道他算JAVA還是javascript) 01/15 00:35
32F:→ tyc5116:語法和維基寫的一樣,除此之外,您的比喻我都看不懂..@@ 01/15 00:36
33F:→ tyc5116:除了繼承&類別知道以外,而"原生"指的又是..? 01/15 00:36
34F:→ derekhsu:因為用prototype可以「模擬」出繼承的效果喔 01/15 00:44
35F:→ derekhsu:另外Javascript其實是「可以」Compile的 01/15 00:44
36F:→ derekhsu:JSP是技,用了Java程式碼+Servlet的物件 01/15 00:45
37F:推 ROCKandROLL:Language -> Design Pattern -> solution ? 01/15 09:28
38F:→ remmurds:這篇到底是...= =? 01/15 09:47
39F:推 alongalone:可能是慶祝獵人再開吧 01/15 10:14
40F:推 lovepc:java 和 javascript的關連性 == 狗 和 熱狗的關連性 01/15 11:01
41F:→ askeing:Java跟Javascript沒啥關聯吧? js應該算是另一種語言 01/15 11:20
42F:→ askeing:回到文中的體技用,總覺得容易讓人混淆。 01/15 11:27
43F:→ askeing:如果技指的是由那些所謂體而衍生,那麼Design Pattern、 01/15 11:28
44F:→ askeing:重購、還有其他不分語言的奇技淫巧要怎樣分類呢? 01/15 11:28
45F:→ askeing:體 Language, 技 Framework, 用 Do Something 01/15 11:29
46F:→ askeing:個人認為這樣是比較清楚的表達方式。以上小小意見 ^^ 01/15 11:30
47F:→ yauhh:我認為體是指本質,技是指外顯樣貌,至於奇技淫巧屬於用的部份 01/15 11:41
48F:→ yauhh:這些用詞是非常中式的,排除那些西方來的概念 01/15 11:41
49F:→ askeing:我是覺得文中的技(Framework)容易混淆,個人想法是Skill 01/15 11:50
50F:→ askeing:不過這是個人看法。或許Design Pattern看作查克拉也行 XD 01/15 11:51
51F:→ remmurds:查克拉比得上相信我之術嗎XD 01/15 13:09