Re: [閒聊] 對寫程式的一些看法

看板Soft_Job作者 (華麗的天下無雙)時間16年前 (2008/12/08 21:08), 編輯推噓12(12023)
留言35則, 11人參與, 最新討論串3/7 (看更多)
※ 引述《roger70349 (roger70349)》之銘言: : 小弟進資訊業己經快滿三個月了,這一陣子接了幾個小案子,有用php跟asp寫的,在寫程 : 式的過程中,老板給我一個觀念就是,在寫一隻程式時,要先了解它的運作流程,然後再 : 動手寫,程式語言大同小異,只要流程懂的話就不難,想請問各位大大,大家在學程式時 : ,會不會只局限於一種語言,因為我有一位學長說,寫asp跟php沒什麼市場,要我趕快學 : C#,他說C#的市場比較大,應該學C#錢比較多,但我覺得,不管在學那種程式語言,第一 : 個就是要弄清楚整個開發流程,用什麼言語去寫反而是次要,不知道大家的意見如何,謝 : 謝。 你老闆的說法是對的。 你的學長就某部份來說,也是對的。 我的經驗告訴我,一些很愛用MS IDE的Programmer,實際上對於ASP.NET背後運作的 東西完全搞不清楚,問他知不知道什麼叫做MVC,他可以回答,啊,這個ASP.NET的頁面 不就是MVC了嗎?有資料庫的M,前面的ASPX是V,C就是Codebehind.... 就某種程度上來說,也許你可以這樣說,但是跟真正我們所謂MVC2的東西比較起來, 這真的差別大得不得了,而事實上,.NET從2002-2005一直都是這樣走過來的。就算是 後來MS有補一個Enterprise Library出來,相當的有威力,但相較於真正的Pattern來說 ,還是有很多缺憾的地方。 於是其實有一些來自於不同語言的Pattern被引入到ASP.NET裡面,像是SqlMap, Hibernate這些在Java上面行之有年的Pattern,甚至也有人實做了Active Record等 ORM的Framework,當然也有人用ASP.NET真正的做出來了MVC,甚至還可以長得很像ROR 。 而PHP也是一個相當有疑問的程式語言,跟其他程式語言最大的不同,就是他可以 Script也可以OO,而且PHP5開始他OO的方式越來越奇怪,可以用一些弱型別的特性 做出一些弱型別很快就可以搞出來的Pattern但是別的語言搞不出來。當然維護上 就會有問題,因為你根本不知道那麼變數在那個時候應該會是什麼東西,更重要的 是他寫起來沒有什麼規範,可以Script也可以OO,於是會搞出一些很難Maintain的Code 。 不過,有鑑於他的彈性,PHP想要怎麼搞Framework就可以怎麼搞Framework,中國人 作出了一個叫做PRADO的怪物,可以在PHP上面實做Event-Driven跟Code Behind跟.Net 一樣的Pattern,也有人把Struts移植到PHP上面,PHP後來也自己發展出了類似ROR的 Pattern,甚至連ORM也有自己獨特的東西。 如果你有注意到我說得,你會發現,其實,很多的Pattern根本不限制程式語言的,就 算是弱型別跟強型別有所不同,從C++開始發展的Design Pattern到後來2003年提出來 的更龐大的Enterprise Design Pattern,不管在哪個語言上面都有辦法Implement 每個語言有每個語言的特性,IDE,限制等等,在實做某些Pattern或是應用領域的時候 會產生差異,但他們的Pattern是共用的,可以互通的,在ASP.NET上吾人能搞出一些 Java-Like的Framework,在Java上面搞出Event-Driven也不是不可能,PHP上都被弄出 不只一套,只是因為缺乏好的IDE並不是很實用而已。 當然我談的只是Web Ap的領域的部份,寫過PHP,ASP.NET,ROR,Java應用過一堆的 Framework,事實上很多概念語言都是相通的,只是作法不同。 至於OS AP的部份我比較不熟,但是一些Pattern的部份依然適用,只是隨著OS不同, 會跟OS需要有更深的結合。PHP能夠拿來寫XWindows的東西,但我寧願選擇tcl/Tk或 是Java這些更方便的語言。 C#的優勢在於,他是一個可以應用在不同應用領域的語言,像是Java一樣,可以在 Mobile Device上面、OS上面,Web上面更方面的被使用,但是開發的Pattern卻是 可以一直跟著你帶著走的。 但是,這麼說吧,Yahoo靠得是PHP。台灣最大(無名)、第二大部落格平台都是PHP 做的,Google用Python、Java、PHP、C,就是沒用.Net,IBM有很多Java Solution, ,差別只是事在人為而已。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.108.245 ※ 編輯: derekhsu 來自: 118.168.108.245 (12/08 21:09)

12/08 21:23, , 1F
Python讚~ 值得學 XD
12/08 21:23, 1F

12/08 21:23, , 2F
我賭python未來會越來越紅
12/08 21:23, 2F

12/08 21:25, , 3F
我也喜歡Python,而且也有很多漂亮的Framework
12/08 21:25, 3F

12/08 21:26, , 4F
無奈,在公司上班不能想用就用
12/08 21:26, 4F

12/08 21:32, , 5F
嗯. 目前用.NET比較多的大公司就只有HP吧
12/08 21:32, 5F

12/08 21:33, , 6F
我個人是覺得yahoo跟無名 google用不用.net這點如果
12/08 21:33, 6F

12/08 21:34, , 7F
是說明.net就不好或是要被淘汰之的好像不太恰當
12/08 21:34, 7F

12/08 21:34, , 8F
因為目標不太相同
12/08 21:34, 8F

12/08 21:35, , 9F
這...我有說.net會被淘汰嗎?我也沒說.net不好.....
12/08 21:35, 9F

12/08 21:39, , 10F
不...友達用的是.net
12/08 21:39, 10F

12/08 22:33, , 11F
會被淘汰的,只有人而已............
12/08 22:33, 11F

12/09 00:05, , 12F
5F~還有另一家外商喔~事實上有許多企業(電信業、銀行等)都
12/09 00:05, 12F

12/09 00:06, , 13F
有用.net~只是好像都是公司內部使用而已...
12/09 00:06, 13F

12/09 00:29, , 14F
原po的意思應該是,.NET很流行沒錯,但是其他語言一樣普遍
12/09 00:29, 14F

12/09 00:45, , 15F
學程式是否要跟著市場走,又是一個問題了
12/09 00:45, 15F

12/09 00:48, , 16F
樓上~學程式要跟著老闆和客戶走就不會錯了(誤)
12/09 00:48, 16F

12/09 00:50, , 17F
還有,中華電信也用.net,另外群創、力晶也都用.net
12/09 00:50, 17F

12/09 00:51, , 18F
至於Web方面,其實比數量.net遠遠不是PHP的對手...
12/09 00:51, 18F

12/09 00:52, , 19F
主因是.net的顯性成本非常高,PHP的顯性成本幾乎是0
12/09 00:52, 19F

12/09 00:53, , 20F
我的意思是,語言不是問題,其實概念都相通(ASM另外講)
12/09 00:53, 20F

12/09 00:53, , 21F
重要的是「方法」,而不是只會用工具或是只是寫Code
12/09 00:53, 21F

12/09 00:54, , 22F
換句話說,就是從Coding走向Design
12/09 00:54, 22F

12/09 09:07, , 23F
概念最重要這點很同意,我的意思是每種工具有他的
12/09 09:07, 23F

12/09 09:08, , 24F
擅長之處,如果今天要開發的是網站網頁應用程式
12/09 09:08, 24F

12/09 09:09, , 25F
那麼我就會選擇php,甚至是一些現有的論壇套件之類的
12/09 09:09, 25F

12/09 09:11, , 26F
但如果是要做商用軟體, javaEE跟.net才會進入我的考量
12/09 09:11, 26F

12/09 09:12, , 27F
如果我要開發簡單的win AP 我就會用delphi之類的IDE
12/09 09:12, 27F

12/09 09:14, , 28F
Xwindow沒有s ~ (逃
12/09 09:14, 28F

12/09 09:15, , 29F
所以我才會覺得用yahoo沒用.net這句話怪怪的
12/09 09:15, 29F

12/09 09:16, , 30F
但是如果你的意思是世界上除了.net以外還有好多東西
12/09 09:16, 30F

12/09 09:17, , 31F
那我很同意,對資深工程師來說只要能方便
12/09 09:17, 31F

12/09 09:19, , 32F
節省時間增加效率,工具間的切換應該是不算甚麼
12/09 09:19, 32F

12/09 09:21, , 33F
重要的是最基礎的觀念
12/09 09:21, 33F

12/10 01:14, , 34F
.NET..就MS用最多啊 XD 全都是.NET 噗
12/10 01:14, 34F

12/11 23:35, , 35F
有一次MS的活動網頁外包 用的竟然是.jsp不是.asp....
12/11 23:35, 35F
文章代碼(AID): #19FHnWV- (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #19FHnWV- (Soft_Job)