Re: [請益] 網路創業大部分的網站規劃都是用PHP嗎?
看板toberich (創業)作者StubbornLin (Victor)時間16年前 (2010/01/14 20:49)推噓6(6推 0噓 105→)留言111則, 4人參與討論串12/23 (看更多)
※ 引述《gpmm (銀色)》之銘言:
: ※ 引述《StubbornLin (Victor)》之銘言:
: : 我有寫一篇文章在說明如何比較程式語言
: : http://blog.ez2learn.com/2010/01/08/how-to-compare-languages/
: : 不過這裡面只提到最核心的部份,還有很多像是可用資源、社群、商業資源
: : 等等更廣範的問題,有空我會再另外寫一篇文章來介紹
: 老實說,因為小弟對 Perl / Python 只略知皮毛,
: 所以沒辦法對您的文章通篇回應,
: 但是看到您的這篇「如何比較程式語言」,實在是忍不住笑了。
: 當我們在談程式語言的可讀性時,大多數指的並不是「語言」本身有多容易閱讀,
: 而是指程式人員的撰寫風格和程式邏輯。
你有沒有修過程式語言(Programming Language)?
你有仔細讀我的文章嗎?
我說過有
你說的大多數,是指什麼情況?
你所說的是風格,風格的差別就只限於單一語言的比較
像這樣
if(a==b) {
printf("a equals b\n");
}
if(a==b) {
printf("a equals b\n");
}
你自己都說你認為的可讀性(Readability)是風格(programming style)了
那你硬要來跟我說的可讀性搭在一起
不是張飛打岳飛嗎?
我的文章的可讀性是指跨語言的比較
語言的天性有些就使得他們難讀
我隨手找篇文章你可以讀讀看
"What Makes a Good Programming Language?"
http://0rz.tw/U0NKe
裡面提到Objective-C的可讀性
語言本身就有可讀性的差別
如果你有修過Programming Language這門課就會知道
裡面有一些章節是在討論語言的可讀性
你硬要拿錯誤的認知來嘲笑我的文章是你的自由
: 如果當我們將可讀性誤植在「語言」本身時,
: 會產生一個極其荒謬的情況 -
: 也就是語言的可讀性,變成了你對於這個語言的熟稔程度的指標。
: 如果依照這個邏輯,當我們在使用 windows 時,
: 用滑鼠點選切換視窗的人,也會覺得這是比起鍵盤按 Alt-Tab 更好的技巧,
: 只因為這個「組合鍵」的操作,你無法在鍵盤上直接看到。
這也是張飛打岳飛
組合鍵只是加速你達成那樣的功能
但是和可讀性完全搭不上關系
你大不了不用組合鍵,用滑鼠慢慢點
可是寫程式就不一樣了
你老闆要你維護的perl程式丟給你
程式碼一行一行地寫在裡面
請問你可以大不了不讀算了嗎?
$| = 1;
你可以在沒有看文件的情況下回答我這行的用意嗎?
如果當初寫的人沒加註解
沒有文件,那你只能查文件
好,那你可能會說這是看語言熟不熟來評斷可讀性
那我們設同樣的條件,兩個一樣不熟的人來看同樣的一份程式呢?
disableBuffering();
一個不熟你要查文件
一個不熟你光看名字就能猜到
你要不要跟我說這兩個差別在哪?
當然,你會說,Perl也可以這樣用函數來寫
問題是Perl本身提供那些$$ $% $^ $&就會有人去用它們
再說有些情況非用這些不可
通常都是大量被使用,別人在程式裡用到這些,你沒有選擇
你只能去讀他們....,而且要讀懂
這就是我所說的問題所在
###### 補充例子 #####
那個disableBuffering()的例子實在很糟
我另外找個例子
Perl版:
while (<$CHILD>) {
print $_;
last if ($_ =~ /^[\s\x00]*$/);
}
用Python的話
import re
for line in child.readlines():
print line
if re.match(line, '^[\s\x00]*$'):
break
Perl版你要知道的知識有:
1. <> 是讀一筆資料
2. $/ 會影響<>讀的東西是由什麼東西來分開的,預設是斷行
3. last 是break的意思,也就是跳離迴圈
4. last if 是當後面條件成立時跳離迴圈
5. $_ 是<>每次讀進來的資料所放的變數
6. =~ 是匹配用的語法
7. // 是用來表述regualr expression的語法
Python版你要知道的知識有:
1. import 是引入函式庫
2. re 是regular express的函式庫
3. for value in sequence: 是foreach的意思,一次從seq中取一個value
4. file.readlines() 是以行為單位回傳一個list
5. re.match 是匹配regular expression的功能
6. break 是跳離迴圈
7. Python的code block是由縮排來決定的
我想很清楚的是,perl你不懂語法,就是不懂
python版的可以猜,換成其它語言也一樣
因為沒有一個語言像perl做這麼多功能在語法上的...
--
Now.in 網路廣播平台 http://now.in
哇咧咧 創意投票系統 http://walele.com
易記學 程式設計教學 http://ez2learn.com/
VICTOR's 個人Blog http://blog.ez2learn.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.252.72.249
→
01/14 20:53, , 1F
01/14 20:53, 1F
→
01/14 20:53, , 2F
01/14 20:53, 2F
→
01/14 20:54, , 3F
01/14 20:54, 3F
→
01/14 20:54, , 4F
01/14 20:54, 4F
→
01/14 20:56, , 5F
01/14 20:56, 5F
你即然有修過,又要拿programming sytle和readibility混在一起
我也沒什麼好說的
推
01/14 20:57, , 6F
01/14 20:57, 6F
→
01/14 20:59, , 7F
01/14 20:59, 7F
→
01/14 20:59, , 8F
01/14 20:59, 8F
→
01/14 21:00, , 9F
01/14 21:00, 9F
→
01/14 21:00, , 10F
01/14 21:00, 10F
→
01/14 21:01, , 11F
01/14 21:01, 11F
→
01/14 21:01, , 12F
01/14 21:01, 12F
→
01/14 21:01, , 13F
01/14 21:01, 13F
→
01/14 21:02, , 14F
01/14 21:02, 14F
→
01/14 21:02, , 15F
01/14 21:02, 15F
→
01/14 21:02, , 16F
01/14 21:02, 16F
→
01/14 21:02, , 17F
01/14 21:02, 17F
推
01/14 21:03, , 18F
01/14 21:03, 18F
※ 編輯: StubbornLin 來自: 111.252.72.249 (01/14 21:03)
→
01/14 21:05, , 19F
01/14 21:05, 19F
→
01/14 21:05, , 20F
01/14 21:05, 20F
→
01/14 21:15, , 21F
01/14 21:15, 21F
→
01/14 21:15, , 22F
01/14 21:15, 22F
→
01/14 21:16, , 23F
01/14 21:16, 23F
→
01/14 21:16, , 24F
01/14 21:16, 24F
→
01/14 21:17, , 25F
01/14 21:17, 25F
→
01/14 21:18, , 26F
01/14 21:18, 26F
→
01/14 21:22, , 27F
01/14 21:22, 27F
→
01/14 21:23, , 28F
01/14 21:23, 28F
推
01/14 21:25, , 29F
01/14 21:25, 29F
→
01/14 21:26, , 30F
01/14 21:26, 30F
→
01/14 21:27, , 31F
01/14 21:27, 31F
→
01/14 21:29, , 32F
01/14 21:29, 32F
→
01/14 21:30, , 33F
01/14 21:30, 33F
→
01/14 21:30, , 34F
01/14 21:30, 34F
→
01/14 21:30, , 35F
01/14 21:30, 35F
→
01/14 21:30, , 36F
01/14 21:30, 36F
→
01/14 21:30, , 37F
01/14 21:30, 37F
還有 36 則推文
→
01/14 21:44, , 74F
01/14 21:44, 74F
→
01/14 21:45, , 75F
01/14 21:45, 75F
→
01/14 21:45, , 76F
01/14 21:45, 76F
→
01/14 21:45, , 77F
01/14 21:45, 77F
→
01/14 21:45, , 78F
01/14 21:45, 78F
→
01/14 21:46, , 79F
01/14 21:46, 79F
→
01/14 21:46, , 80F
01/14 21:46, 80F
→
01/14 21:46, , 81F
01/14 21:46, 81F
→
01/14 21:46, , 82F
01/14 21:46, 82F
→
01/14 21:46, , 83F
01/14 21:46, 83F
→
01/14 21:47, , 84F
01/14 21:47, 84F
→
01/14 21:47, , 85F
01/14 21:47, 85F
→
01/14 21:47, , 86F
01/14 21:47, 86F
→
01/14 21:47, , 87F
01/14 21:47, 87F
→
01/14 21:48, , 88F
01/14 21:48, 88F
→
01/14 21:48, , 89F
01/14 21:48, 89F
→
01/14 21:48, , 90F
01/14 21:48, 90F
→
01/14 21:49, , 91F
01/14 21:49, 91F
→
01/14 21:49, , 92F
01/14 21:49, 92F
→
01/14 21:49, , 93F
01/14 21:49, 93F
→
01/14 21:49, , 94F
01/14 21:49, 94F
推
01/14 21:50, , 95F
01/14 21:50, 95F
→
01/14 21:51, , 96F
01/14 21:51, 96F
→
01/14 21:51, , 97F
01/14 21:51, 97F
→
01/14 21:51, , 98F
01/14 21:51, 98F
→
01/14 21:51, , 99F
01/14 21:51, 99F
→
01/14 21:52, , 100F
01/14 21:52, 100F
→
01/14 21:52, , 101F
01/14 21:52, 101F
→
01/14 21:53, , 102F
01/14 21:53, 102F
→
01/14 21:54, , 103F
01/14 21:54, 103F
→
01/14 21:54, , 104F
01/14 21:54, 104F
→
01/14 21:54, , 105F
01/14 21:54, 105F
→
01/14 21:54, , 106F
01/14 21:54, 106F
→
01/14 21:55, , 107F
01/14 21:55, 107F
→
01/14 21:59, , 108F
01/14 21:59, 108F
→
01/14 22:01, , 109F
01/14 22:01, 109F
→
01/14 22:07, , 110F
01/14 22:07, 110F
※ 編輯: StubbornLin 來自: 111.252.72.249 (01/14 22:44)
→
01/14 22:46, , 111F
01/14 22:46, 111F
※ 編輯: StubbornLin 來自: 111.252.72.249 (01/14 22:47)
※ 編輯: StubbornLin 來自: 111.252.72.249 (01/14 22:52)
※ 編輯: StubbornLin 來自: 111.252.72.249 (01/14 22:56)
討論串 (同標題文章)
toberich 近期熱門文章
PTT職涯區 即時熱門文章
28
43
-11
19