作者 | fcamel (飛啊!燃燒的小駱駝) | 看板 | P_fcamel |
標題 | [PL] 程式語言的使用選擇? |
時間 | Mon Aug 21 00:18:22 2006 |
針對上篇的推文提些個人看法, 舉些例子來討論一下,
內容也許有很多錯誤, 有錯提醒一下, 就別讓我再錯下去吧 :p
1. Perl / Python / Ruby
大家說這三個語言的作用其實差不多,
好處也差不多(script language, garbage collection),
Perl的RE強, Python其實也不算差, 我有寫過一點點的Perl和更少的Python,
沒寫過Ruby, 聽說它的設計結合Perl和Python的優點, 更勝兩者
我聽過不少人說Python比Perl適合共同開發, 因為它定死了syntax,
比Perl少很多麻煩 (從語言天生去限制總比人為規範來得有效),
但使用的結果是, Perl的族群最多, Perl的使用者像滾雪球一樣不曾減少
在Perl和Python並存許久後誕生的Ruby, 照理說功能應該更好,
不然作者不會想新創Ruby, 結果因作者是日本人的緣故,
在日本比較盛行, 其它國家則還好
這是一個語言好壞不是最主要選擇的例子
2. Java / C#
這兩家互相抄來抄去, 誰有最新改版誰的功能就帥一點,
以第一印象來說, 語法又長得頗像的
說穿了, 使用Java或C#的抉擇, 完全是看開發工具, lib和OS
去除OS的考量的話, 看那個陣營有更好的IDE, 更強的lib,
就用那邊, 反正語法大概就是那樣, 兩邊也會互相抄, 缺少的東西終會補入
這是一個商業上的例子, 更直接表現出語言好壞不是最主要選擇,
我覺得兩方陣營都有大廠撐, 即使語言初期不好也沒關係,
等大廠開發的lib多了, IDE強了, 還是很多人會用的,
當然, Java和C#的功能不會不好, 只是打個比方
3. PHP / Java Script
老實說我一開始不喜歡這兩個語言,
我覺得它們很髒, 又難除錯(Web based有很大關係啦),
我以為JSP和PHP的拉距應該會愈差愈大, PHP終將沒落,
但PHP的套件愈來愈多, 針對PHP各種問題的解法愈來愈多,
有用lib解決的, 有從intepreter(or compiler)解決的,
像是PHP最大的問題: code和layout糊成一團, 或是script language不夠快
我不會Java Script, 就不提想法了,
以前覺得它很髒一直不想學, 現在我改觀了
我不知道以PHP和Java Script的定位(web server side and web client side)來說,
怎麼設計出更好的語言, 我只覺得它們稱不上好的語言,
但經過數年累積出的lib, 它們紅起來了
這是一個反面對照的例子
以上的例子不是說語言好壞不重要,
爛語言不會有人想用, 但在百家爭鳴的時代裡,
那已不是最主要的考量了, 只要有一定程度好就行,
主要的考量還是使用族群和現有的lib的質量
4. linux distribution / FreeBSD
這是離題文 XD
去掉獨自玩OS的人, 大部份人看週圍的人用什麼OS,
就跟著學那個OS, 這樣才方便求救,
所以管它linux各家distribution誰強誰弱,
或拿linux和FreeBSD比誰強誰弱, 都不重要, 附近能問的人多, 才方便玩下去
於是交大資工普遍玩FreeBSD,
以我自己來說, 高中玩Red Hat, 大一玩了一下Debian, 因為我高中學長玩這兩個,
後來都在碰FreeBSD了, 這三者的哲學或功能我都覺得不錯,
但最後決定只玩FreeBSD是因為習慣, 方便討論
另一個相關的例子是bash和tcsh,
一般來說, 玩linux都用bash, 玩FreeBSD的都用tcsh,
預設就是如此, 習慣了就用下去了, 這兩家shell也是抄來抄去, 沒太大的不同
我在FreeBSD下用bash, 因為我先玩linux, 習慣bash的語法了,
小豬先玩FreeBSD也是用bash, 這樣才方便問我, 我離他最近, 最方便問,
小豬熟悉FreeBSD後也習慣了, 就繼續用bash了,
這和bash, tcsh誰強誰弱沒有關係
還有vim, emacs的選擇.....也是習慣和附近族群影響
|