看板 Soft_Job 關於我們 聯絡資訊
(恕刪。) 學什麼程式語言不重要。更何況,什麼叫會?到什麼樣的程度叫會? 除非版上的朋友都是打算以後走計算機語言學這條路,否則我相信版上 絕大部分的朋友想要說得不是「會」某種程式語言,而是學會用程式語言 解決特定問題的方法。 我把程式語言跟解決問題的方法分成三個階層,套用到人體鍛鍊的理論上 ,叫做「體」、「技」、「用」。 什麼叫做「體」?體就是身體,要從事運動,或專業的運動員,體力、敏 捷力、視力、反應力、忍耐力。這些都是基本的體能條件。而程式語言的 基礎就是「體」。 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)
jainnkae:像是Javascript,就是以Java語言的體,而衍生出的「技」? 01/14 20:40
jainnkae:這樣的說法似乎有點怪怪的 ? 01/14 20:41
wisehuang:javascript除了名字以外,跟java實在找不到有其他關連XD 01/14 20:47
andymai:連長:"氣、刀、體一制,原地突刺、刺!" 小兵:"殺~~~~啊!" 01/14 21:29
andymai:老闆:"體、技、用一制,加班寫程式" 員工:"啥~~~~啊!!!" 01/14 21:29
EAFV:Javascript跟java差很多... 01/14 21:32
FantasyRyu:JavaScript可能是為了要套關係吧,本來名字沒有Java的 01/14 21:36
FantasyRyu:總之,它跟Java沒有關係,也不是Java的衍生物。 01/14 21:36
wa120:javascript跟java一點關係也沒有... 01/14 22:11
tyc5116:我想請問一下兩者語法間有什麼差異嗎,舉個一兩件來比較一 01/14 22:19
tyc5116:下,因為常常聽到說兩者不一樣(我沒碰過,目前只碰過C++) 01/14 22:20
derekhsu:很簡單,Java有繼承跟類別設計,而「原生」的Javascript 01/14 22:20
derekhsu:沒有 01/14 22:21
derekhsu:Java是強型別而Javascript是弱型別 01/14 22:21
derekhsu:Javascript支援anonymous function而Java沒有 01/14 22:22
derekhsu:Java支援package而javascript沒有 01/14 22:22
derekhsu:維基上有javascript跟java之間的關係 01/14 22:23
derekhsu:Java是編譯語言而「原生」的Javascript是直譯語言 01/14 22:25
derekhsu:Javascript的確有很多跟java一樣的地方,而且目的也是 01/14 22:26
derekhsu:看起來像java,跟vbscript目地是想看起來像vb一樣 01/14 22:26
derekhsu:javascript跟java可不是一點關係也沒有啊...XD 01/14 22:27
derekhsu:其實是Java皮但是Scheme谷 01/14 22:32
yauhh:體技用,相當獨特的語言內涵的比喻 01/14 22:37
Savate:除非我再去接觸什麼語言 不然"直譯器"對我來說只是名詞 01/14 22:39
Savate:強型別弱型別又是啥啊 囧a 01/14 22:39
Elly:就是不需要宣告明白型別(ex. int,string,object)的意思 01/14 23:13
chchwy:js跟java除了都是C-like還有其他牽連嗎...= = 01/14 23:22
kenzou:js哪來的c-like? =.,= 01/14 23:50
megaman1206:看不懂 囧 01/14 23:52
tyc5116:我曾碰過JSP(但不知道他算JAVA還是javascript) 01/15 00:35
tyc5116:語法和維基寫的一樣,除此之外,您的比喻我都看不懂..@@ 01/15 00:36
tyc5116:除了繼承&類別知道以外,而"原生"指的又是..? 01/15 00:36
derekhsu:因為用prototype可以「模擬」出繼承的效果喔 01/15 00:44
derekhsu:另外Javascript其實是「可以」Compile的 01/15 00:44
derekhsu:JSP是技,用了Java程式碼+Servlet的物件 01/15 00:45
ROCKandROLL:Language -> Design Pattern -> solution ? 01/15 09:28
remmurds:這篇到底是...= =? 01/15 09:47
alongalone:可能是慶祝獵人再開吧 01/15 10:14
lovepc:java 和 javascript的關連性 == 狗 和 熱狗的關連性 01/15 11:01
askeing:Java跟Javascript沒啥關聯吧? js應該算是另一種語言 01/15 11:20
askeing:回到文中的體技用,總覺得容易讓人混淆。 01/15 11:27
askeing:如果技指的是由那些所謂體而衍生,那麼Design Pattern、 01/15 11:28
askeing:重購、還有其他不分語言的奇技淫巧要怎樣分類呢? 01/15 11:28
askeing:體 Language, 技 Framework, 用 Do Something 01/15 11:29
askeing:個人認為這樣是比較清楚的表達方式。以上小小意見 ^^ 01/15 11:30
yauhh:我認為體是指本質,技是指外顯樣貌,至於奇技淫巧屬於用的部份 01/15 11:41
yauhh:這些用詞是非常中式的,排除那些西方來的概念 01/15 11:41
askeing:我是覺得文中的技(Framework)容易混淆,個人想法是Skill 01/15 11:50
askeing:不過這是個人看法。或許Design Pattern看作查克拉也行 XD 01/15 11:51
remmurds:查克拉比得上相信我之術嗎XD 01/15 13:09