Re: [請益] 網路創業大部分的網站規劃都是用PHP嗎?
看板toberich (創業)作者StubbornLin (Victor)時間16年前 (2010/01/15 15:26)推噓2(2推 0噓 236→)留言238則, 6人參與討論串19/23 (看更多)
※ 引述《gpmm (銀色)》之銘言:
: http://blog.ez2learn.com/2010/01/08/how-to-compare-languages/
: 讓我們從頭開始:
: 0. 但是大多數人不知道程式語言該比較些什麼,而我今天所要說的,
: 就是程式語言該拿什麼來比較
: 1.1 一個程式的可讀性,關係到維護的人能否輕易的瞭解程式語言所表達程式的意圖,
: 如果維護的人難以理解某段程式所要表達的事情,那麼這些程式就難以被維護
: 可讀性的開頭說明了,你的可讀性評比目的在此,難以被維護。
: 如果你站在語言規範這樣抽象的角度看,同意。
: 如果你站在一個實用的角度看,降低可讀性是為了其他目的,
: 例如多元開發,那麼這裡所講的能當成「評定優劣」的方式嗎?
我不知道你有沒有從一個很重要的角度來看一款語言,
那就是從商業的角度來看,我所提到的都是在實務上的經驗
也就是包含了商業的考量
你知道當我看到
$$ $% $^ $&
你知道我看到了什麼嗎?
我看到都是錢錢錢錢錢錢錢阿!!!
如果我主導的專案都用Perl來開發
這麼一來我的code浪費在很多時間在我上面文章提到的問題上
包括一直查手冊,google搜尋不到語法等問題上
$/那類骯髒的寫法讓程式一直在debug的迴圈中
我專案的成本一直在增加...
生產力因此而下降
因為語言的天性
做為一個好的工程師不只是看見自己喜歡看見的東西
你有看過Discovery之類的工程奇觀之類的節目嗎?
你有看見工程師在設計選用建材等等
是靠喜好決定的嗎?
成本影響設計也是很重要的
要在設計、成本等等方面要能達到平衡的狀態
才是好的決擇
當然,反對我的人說,那是寫程式的人爛
他寫不出好的Perl,好的Perl一樣可以維護
但我會說...
"喔.. Perl的語法這麼自由,你要去哪裡找來這一堆寫出良好Perl的程式設計師?"
"還有你找這些高手Perl設計師來作什麼? 我們專案的經費付擔得起嗎?"
"我們需要的是一般的程式設計師"
嗯哼,那你又會說
"嘿,我們可以定語法的風格,嚴格規定每個程式設計師都這樣寫"
好吧,這樣是可以規定,但是能落實多少? 規定討論怎樣才是好的Perl程式是不是成本?
落實檢查好的Perl寫法是不是成本?
再者,請問規定風格語法是在做什麼? 答案很清楚
"限制"
歐,那Perl不是一款
"There's more than one way to do it"
的語言? 有人這樣說,我們在現實生活中,可以有很多手段完成同一件事
所以Perl自然這樣做也有道理,如果只是隨意個人撰寫,我認同這樣的說法
但是像我們在實務上看到的,都是
"限制"
對,語法風格有限制,檔案命名有限制,文件怎麼寫有限制,這一切都是在限制
你有沒有看過一家大型企業沒有SOP的?
他們在做什麼? 做的就是限制
為什麼要限制? 為什麼不自由?
為的是能讓企業的運作一致
為了讓運作有案可循
那,既然我們在實務開發,為什麼需要一款那麼自由的語言
花費額外的成本來增加限制在其上面?
我之所以選擇和喜愛Python
就是因為它是一款限制性強的語言,所以使用Python
他本身限制性就強,寫出爛程式的機會也是有
但是比較少,而且還有其它很多理由
都讓我選擇Python
因為我看到的不只是語言
而是成本
為什麼拿Python跟Perl比?
我的文章裡寫的很清楚
因為他們的哲學剛好相反
: 1.2 可讀性很明顯地 Python 優於 Perl,我在這裡說明為什麼,
: 原因其實很簡單,因為Perl加太多語法和用太多特殊符號在他的語言中
: Perl對於這些瑣碎的功能加了太多的語法,
: 使得用Perl寫出來的程式難以被簡單的理解
: 很好,Perl 相較於其他語言的確是較難閱讀,因為他有特殊的設計,
: 從語言規範的抽象角度看,語言要盡可能容易被人理解,
: 但是從實用的角度看,有目的的降低可讀性,是可以在別處獲得回報。
: 當你不闡明,你的論點就會落在更大的立場上
兩害相衡取其輕,只為了一點點好寫就犧牲可讀性
這沒什麼好談的
"程式被讀比被寫還多次"
一個成本可能是80%,一個是20%,你是老闆,你要節省哪個成本?
: - 也就是你的可讀性既涵蓋了語言本身的概念,也包括了動機和目的
: 1.3 因為用語法來實現太多功能,某種程度上算是不良的設計,
: 因為他們都能夠用函式或函式庫來取代,而函式庫的取代雖然要寫多一點字,
: 但是可讀性大大提升…
: 我不明白既然你現在告訴大家你的標準在於語言規範,
: 此處提出的以「函式」取代語法是指什麼?
: Perl 也可以用函式來取代語法,
: 你並不能說大家會被符號寵壞所以就扔掉這一點。
請問這兩個哪個好記?
好從字意上猜到答案?
www.sex.com
123.111.222.1
你會把你的公司網址就只用ip當名字嗎?
沒有扔掉它阿,只是基於成本和各方面的考量
可讀性差使他不在我選擇的名單之內
: 1.4 可讀性的差別就是這些語言的天性,也是判斷程式語言優劣的關鍵之一
: 又一個很好,請問你從可讀性連結到「判斷程式語言優劣的關鍵之一」
: 之間到底是透過什麼?
: 你如果寫「是從語言規範來判斷程式語言優劣的關鍵之一」,
: ok,我接受。
: 這就是我們對於可讀性基準的不同,
: 你的基準只在於語言規範,我則涵蓋了背後「降低可讀性」的原因和動機。
: 如果硬是要拿現在的設備進步,來無視當年(或現在仍是)語言本身追求的東西,
: 那會不會也太沒 sense 了?
世界上沒落的語言何奇多
我指的缺點就是他們沒落的原因
一款語言本身很多特性使得他不受喜愛
那他就沒落了,就是這麼簡單
Python也是15年前或更早之前開始的
Ruby其實也差不多是在那附近開始發展的
也沒多晚,而Perl一直聽說在改版
但是都只聞樓梯聲,當一款語言不改版
太多問題讓人嫌棄,那語言就會沒落
你有看見現在多少人還在用Perl寫CGI?
我那個年代一堆網頁程式不是Perl就是C寫的
有更好的選擇,自然他們就沒落了
基於成本和工程上的各種考量
為什麼要用舊的東西?
你會不會跟你老闆說
"嘿,用現在的技術比十年前的技術太不公平了啦
在那個年代之下用C寫CGI也很情合理阿
我們用C寫CGI吧"
歐喔... 那我只能說你會被開除
商業市場、實務應用是殘酷的
哪邊好用就倒向哪邊
不知改進者就將被淘汰
在以前被淘汰的你沒聽過的語言多不可數
沒什麼好大驚小怪的
: 所以我說,請好好想想,你探討這個程式語言優劣的基準和標的是什麼,
: 如果你只是純就「語言規範」上檢討,不考慮其前後,
: 那就好好標明這是從「語言規範」下的「可讀性」來評斷程式語言,
: 當你沒有闡明你站在「語言規範」的基準,卻又以一種宏觀的立場告訴大家,
: 可讀性的差別就是這些語言的天性,也是判斷程式語言優劣的關鍵之一。
: 這樣恰當嗎?
我說過是從各方面,當然也包含實務
請你想像一下你自己是老闆
你要決定用哪一款工具
或是你要說服你老闆用哪一款工具
你會怎樣解釋
我想這樣你就能更瞭解我所說的那些觀點
--
Now.in 網路廣播平台 http://now.in
哇咧咧 創意投票系統 http://walele.com
易記學 程式設計教學 http://ez2learn.com/
VICTOR's 個人Blog http://blog.ez2learn.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.252.68.181
推
01/15 17:28, , 1F
01/15 17:28, 1F
→
01/15 18:09, , 2F
01/15 18:09, 2F
推
01/15 19:45, , 3F
01/15 19:45, 3F
→
01/15 19:45, , 4F
01/15 19:45, 4F
→
01/15 19:47, , 5F
01/15 19:47, 5F
→
01/15 19:49, , 6F
01/15 19:49, 6F
→
01/15 19:49, , 7F
01/15 19:49, 7F
→
01/15 19:51, , 8F
01/15 19:51, 8F
→
01/15 19:51, , 9F
01/15 19:51, 9F
→
01/15 19:57, , 10F
01/15 19:57, 10F
→
01/15 19:58, , 11F
01/15 19:58, 11F
→
01/15 19:59, , 12F
01/15 19:59, 12F
→
01/15 19:59, , 13F
01/15 19:59, 13F
→
01/15 20:02, , 14F
01/15 20:02, 14F
→
01/15 20:04, , 15F
01/15 20:04, 15F
→
01/15 20:05, , 16F
01/15 20:05, 16F
→
01/15 20:07, , 17F
01/15 20:07, 17F
→
01/15 22:24, , 18F
01/15 22:24, 18F
→
01/15 22:24, , 19F
01/15 22:24, 19F
→
01/15 22:25, , 20F
01/15 22:25, 20F
→
01/15 22:25, , 21F
01/15 22:25, 21F
→
01/15 22:26, , 22F
01/15 22:26, 22F
→
01/15 22:27, , 23F
01/15 22:27, 23F
→
01/15 22:27, , 24F
01/15 22:27, 24F
→
01/15 22:28, , 25F
01/15 22:28, 25F
→
01/15 22:28, , 26F
01/15 22:28, 26F
→
01/15 22:29, , 27F
01/15 22:29, 27F
→
01/15 22:30, , 28F
01/15 22:30, 28F
→
01/15 23:10, , 29F
01/15 23:10, 29F
→
01/15 23:11, , 30F
01/15 23:11, 30F
→
01/15 23:12, , 31F
01/15 23:12, 31F
→
01/15 23:12, , 32F
01/15 23:12, 32F
→
01/15 23:14, , 33F
01/15 23:14, 33F
→
01/15 23:18, , 34F
01/15 23:18, 34F
→
01/15 23:19, , 35F
01/15 23:19, 35F
→
01/15 23:19, , 36F
01/15 23:19, 36F
→
01/15 23:20, , 37F
01/15 23:20, 37F
→
01/15 23:22, , 38F
01/15 23:22, 38F
→
01/15 23:23, , 39F
01/15 23:23, 39F
還有 159 則推文
→
01/16 00:13, , 199F
01/16 00:13, 199F
→
01/16 00:14, , 200F
01/16 00:14, 200F
→
01/16 00:14, , 201F
01/16 00:14, 201F
→
01/16 00:14, , 202F
01/16 00:14, 202F
→
01/16 00:15, , 203F
01/16 00:15, 203F
→
01/16 00:15, , 204F
01/16 00:15, 204F
→
01/16 00:15, , 205F
01/16 00:15, 205F
→
01/16 00:16, , 206F
01/16 00:16, 206F
→
01/16 00:16, , 207F
01/16 00:16, 207F
→
01/16 00:17, , 208F
01/16 00:17, 208F
→
01/16 00:17, , 209F
01/16 00:17, 209F
→
01/16 00:17, , 210F
01/16 00:17, 210F
→
01/16 00:17, , 211F
01/16 00:17, 211F
→
01/16 00:18, , 212F
01/16 00:18, 212F
→
01/16 00:18, , 213F
01/16 00:18, 213F
→
01/16 00:19, , 214F
01/16 00:19, 214F
→
01/16 00:19, , 215F
01/16 00:19, 215F
→
01/16 00:20, , 216F
01/16 00:20, 216F
→
01/16 00:20, , 217F
01/16 00:20, 217F
→
01/16 00:20, , 218F
01/16 00:20, 218F
→
01/16 00:21, , 219F
01/16 00:21, 219F
→
01/16 00:21, , 220F
01/16 00:21, 220F
→
01/16 00:21, , 221F
01/16 00:21, 221F
→
01/16 00:22, , 222F
01/16 00:22, 222F
→
01/16 00:22, , 223F
01/16 00:22, 223F
→
01/16 00:22, , 224F
01/16 00:22, 224F
→
01/16 00:22, , 225F
01/16 00:22, 225F
→
01/16 00:23, , 226F
01/16 00:23, 226F
→
01/16 00:23, , 227F
01/16 00:23, 227F
→
01/16 00:23, , 228F
01/16 00:23, 228F
→
01/16 00:24, , 229F
01/16 00:24, 229F
→
01/16 00:24, , 230F
01/16 00:24, 230F
→
01/16 00:25, , 231F
01/16 00:25, 231F
→
01/16 00:25, , 232F
01/16 00:25, 232F
→
01/16 00:26, , 233F
01/16 00:26, 233F
→
01/16 00:26, , 234F
01/16 00:26, 234F
→
01/16 00:26, , 235F
01/16 00:26, 235F
→
01/16 00:27, , 236F
01/16 00:27, 236F
→
01/16 00:27, , 237F
01/16 00:27, 237F
→
01/16 00:29, , 238F
01/16 00:29, 238F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 19 之 23 篇):
toberich 近期熱門文章
PTT職涯區 即時熱門文章
19
30