作者 主題: 請問一下PHP Perl Python的差別  (閱讀 19286 次)

0 會員 與 1 訪客 正在閱讀本文。

藍天綠地

  • 懷疑的國中生
  • **
  • 文章數: 48
    • 檢視個人資料
請問一下PHP Perl Python的差別
« 於: 2009-11-15 17:23 »
最近在網上看到奇科的Perl課程廣告是有點心動, 因為感覺能做的事涉及很多方面
但是我去問我朋友
他說其實真要比較起來越"低階"的語言能做的事就越多, 像是Pascal, 甚至是組合語言- -...
然後上網查, 又看到有人用PHP或Python在跟Perl比較
所以搞的現在我好亂- -...
麻煩各位好心的大大指點一下- -||

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
回覆: 請問一下PHP Perl Python的差別
« 回覆 #1 於: 2009-11-15 18:03 »
最近在網上看到奇科的Perl課程廣告是有點心動, 因為感覺能做的事涉及很多方面
但是我去問我朋友
他說其實真要比較起來越"低階"的語言能做的事就越多, 像是Pascal, 甚至是組合語言- -...
然後上網查, 又看到有人用PHP或Python在跟Perl比較
所以搞的現在我好亂- -...
麻煩各位好心的大大指點一下- -||

越"低階"的語言能做的事就越多?
不一定吧, 除非你對這個程式語言有一定的程度
而且用對地方, 要不然只是自找麻煩而已 = =
沒人會用組合語言來寫網頁吧!!
或是用 perl, php, jsp 寫 driver 似乎也不太可能~

先確認自己學程式語言是要做什麼用的
如果開發driver, 或是一般應用程式可以學組合語言, c/c++, pascal(delphi), vb..
網頁程式或是系統管理相關的話則是 php, python, perl, jsp, asp, shell script...


藍天綠地

  • 懷疑的國中生
  • **
  • 文章數: 48
    • 檢視個人資料
回覆: 請問一下PHP Perl Python的差別
« 回覆 #2 於: 2009-11-15 18:27 »
哈...我就是白目問他說組合語言寫網頁
他說可以- -...叫他寫又不會- -

有人能告訴我Perl Python PHP  3者的優劣性嗎? 3者比較-.-

目前我這3種只有PHP有在寫~~
不知道去補Perl值不值得- -...

darkranger

  • 榮譽學長
  • 俺是博士!
  • *****
  • 文章數: 1370
    • 檢視個人資料
    • http://darkranger.no-ip.org
回覆: 請問一下PHP Perl Python的差別
« 回覆 #3 於: 2009-11-17 23:32 »
我講個故事:

話說大約兩年前,咱教會的某位牧者說他那邊有一堆電腦書籍,問我要不要,我想當然爾的就要了。等到他把那堆書丟給我時,這種類和數量讓我的下巴都快掉下來了(尤其對我幼小的心靈而言)。從作業系統到程式設計、入門到進階、中文到一狗票歐萊禮的原文書,無一不包。Windows server、Linux server、C/C++、SQL、Java、ASP、.NET、PHP、Python、Perl、shell script、系統安全、效能調整、鳥哥的私房菜(獨立出來以示尊敬)等……我總共用(小)機車載了三到四趟才全部載回家。震撼之餘,當然要搞清楚到底是怎麼回事。

牧者說這是某位弟兄不要的,說他現在不需要這些東西了。當下聽了大驚,彷彿有人已神功練畢、出神入化,重點是他媽的我怎麼不曉得咱教會裡竟有高手,既有如此高手怎麼還用得著我來打雜?總之那時心想,此人必定屬於神人階級……

那段時間我還是一直不知道他是哪位,但在某天聚會中聽了弟兄的見證分享後,我才知道並不是神功練畢,而是他不練了……

這位弟兄分享說:他的專業主修是英文,過去很長的一段時候因為教英文的緣故,有很好、且穩定的收入。但他總想做點別的事業(飽暖思淫慾?),就把過去所累積的積蓄投資在其它出路上。

而過程總是這樣:先毅然決然收掉之前的工作→花費所有資本與時間在新的事業上→失敗、欠債、老婆嚷著要離開他→悔改、求神幫助→奇蹟似的回本打平→故態復萌、重跑前面的流程。

就這樣跑了幾次迴圈後,他老婆終於下定決心要跟他斷,他也覺得他這次真的完蛋了,又是一串痛徹心扉的禱告,只見他老婆從房間走出來說:「上帝跟我說,現在拋棄你太可憐了」

OK,總而言之,這批書籍就來自於他某次的事業投資上,他又聽別人的建議決定朝資訊產業發展,又把工作辭了,補習班能報就報、書能買就買、人家說學什麼有哪些好處就學什麼,覺得只要努力就有一片天。我對他所表達的話印象非常深刻:「我非常拼命、從早念到晚,又上課又自修,我看英文絕沒有問題,可是那些東西我不懂就是不懂,也沒辦法考」

雖然這當中可能有些關於方法論的議題可供探討,但我想切入的點是心態,看了樓主的問題
我想問樓主的是:您確定自己選對路了嗎?

題外後續:
之後每次有人來我家,我都得解釋那些書不是我買的,並且絕大部分我都沒細看過,然後請他們把目光轉移到DVD區或者遊戲包裝盒、小說區等等……

hoyo

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 4047
  • 性別: 男
  • 有需要的時候,學習就不會分階段。
    • 檢視個人資料
    • 樂咖黑電腦學習網
回覆: 請問一下PHP Perl Python的差別
« 回覆 #4 於: 2009-11-18 08:34 »
哈...我就是白目問他說組合語言寫網頁

我用 php 寫 web server
拿來寫顯示卡、網路卡這類 driver 是不可能,不過寫 protocol 還行

php 一百多個函式庫,等全部學完,你覺得真的不好在換不晚。

=============

話說,之前在實作 UPnP 時,也偷用 perl 處理一段 multicast 功能
後來發現 php 應該也能處理,只是那時候對於 socket function 還不是很熟
受人與魚,不如授人與漁
上海自來水來自海上;倫敦好奇人奇好敦倫

TyroneYeh

  • 俺是博士!
  • *****
  • 文章數: 2396
  • 性別: 男
    • 檢視個人資料
回覆: 請問一下PHP Perl Python的差別
« 回覆 #5 於: 2009-11-18 08:46 »
可能先找些資料自己寫寫看,看看那種語言對自己最能接受,最喜歡

那就是你要的了?

首先看看環境,那一個免費空間支援 PHP、Perl、Python!
還是要自己架設?那是不是先要學會 Server 的設定安裝?那又是另外一個課題了!!

據我所知的附檔名,PHP 是 .php,Perl 是 .cgi,Python 是 .py
問題很多,是個吃力不討好的事!

再想想吧!!
--
TyroneYeh

mrhsugtd

  • 可愛的小學生
  • *
  • 文章數: 1
    • 檢視個人資料
回覆: 請問一下PHP Perl Python的差別
« 回覆 #6 於: 2009-11-18 15:19 »
雖然有點鄉愿,但說實在的,這三個語言都不錯,
一堂課的費用不算很貴,而且Perl絕對是個值得你去學習的語言,
去報名上個課,比較深入的去了解Perl的寫作風格與思考模式,會比道聽塗說要實際得多。

gwstudy

  • 活潑的大學生
  • ***
  • 文章數: 205
    • 檢視個人資料
回覆: 請問一下PHP Perl Python的差別
« 回覆 #7 於: 2009-11-18 22:19 »
我講個故事:

話說大約兩年前,咱教會的某位牧者說他那邊有一堆電腦書籍,問我要不要
...

我欣賞這個故事 :)
我雖念資訊這科系的,但我都覺得無力所有的東西都了解。請樓主要從自己有興趣的東西玩起,不要在門外三心兩意。

洋蔥叔叔

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 830
    • 檢視個人資料
    • 洋蔥叔叔的隨意漫談電腦、網路、.NET、軟體本地化、雜七雜八
回覆: 請問一下PHP Perl Python的差別
« 回覆 #8 於: 2009-11-20 12:30 »
建議學 PHP,目前網頁後端語言主流還是 PHP,鮮少人在用 Perl 跟 Python。但不是說 Perl 跟 Python 不好,他們各有優缺點。當你學好程式語言的概念之後,基本上只剩下學語法跟 Library。
寫程式最難是把程式湊成你要的結果,語法都是簡單,多寫就熟了。


TyroneYeh

  • 俺是博士!
  • *****
  • 文章數: 2396
  • 性別: 男
    • 檢視個人資料
回覆: 請問一下PHP Perl Python的差別
« 回覆 #9 於: 2009-11-20 14:42 »
個人也覺得 PHP 比較優~~
因為 PHP JavaScript ------- C# C++
的基礎用法都很接近,差異不大!

例如 AJAX 是是用 JavaScript 語法跟 PHP 搭配!
他們的 if for while array 用法都很類似
--
TyroneYeh

anderson1127

  • 訪客
回覆: 請問一下PHP Perl Python的差別
« 回覆 #10 於: 2009-11-20 17:57 »
我也認為無所謂好與不好...

用得到就算是OK了...

Perl有人說不要學,我反倒認為不是這樣子...
光是拿駱駝書的第二章,主講Pattern matching & Regular Expression
那本說就非常的好!! 但問題是,當初我看原文時,真的是K到崩掉兩棵門牙...
要很有耐心的慢慢看,不懂的字慢慢翻憶譯(當初只知道唸就對了,沒想到能幹嘛...)
那一章節幾乎是有看沒懂,但還是硬把一些regular expression的matching rule
給記起來,然後再寫script 慢慢體會其作用!! 就這樣,好不容易學完那一章節....

PS: 我後來也看過中譯本的第二章,說老實話,仍然不知所云...好在當初我已經參透原文的第二章節了 !!

但regular expression要幹嘛? 我當初是拿來分析雜亂的UNIX LOG file 輔助我統計工作
後來越寫越能夠體會當初第二章裡所講的功能,也就越寫越順手,到今天,轉換成PHP也還是一樣
寫pattern matching & Regular expression for PHP,幾乎就是看手冊的function如何用
一下子就寫出我所要的regular expression ...

但我在其它的Java or PHP的書中,很少有提及Regular expression的原理部份,大都只是
隨便就帶過去, 只有當初學Perl的那本書有完整提到,連PHP也大都沒提到多少!!

我是很想知道,有多少人對regular expression有深入的了解 ?

與其說差別,不如說一個programming tool的精粹有沒有掌握到了!!

abbychau

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
回覆: 請問一下PHP Perl Python的差別
« 回覆 #11 於: 2010-03-03 15:07 »
扯到regex 這邊去了
大家都可以用unix 標準去寫, 三個語言都無分別啊

我也很認真的讀過regex 寫法, 那個時候也真的會寫, 不看manual 也能寫
但因為不常用的關係, 現在看著manual 也有困難

victorlin

  • 可愛的小學生
  • *
  • 文章數: 3
    • 檢視個人資料
回覆: 請問一下PHP Perl Python的差別
« 回覆 #12 於: 2010-03-03 17:12 »
Perl不管從各方面看來都可以發現它在走下坡

http://www.tiobe.com/index.php/paperinfo/tpci/Perl.html
http://www.ohloh.net/languages/compare?measure=projects&percent=&l0=php&l1=php&l2=python&l3=perl&l4=-1&commit=Update

老兵不死,只是凋零,Perl是不會消失的,只是會沒落,還是會有人在用,一個語言社群沒落代表什麼意思? 代表新的函式庫越來越少,舊的函式庫也沒什麼人維護,很可能一個bug存活很久都沒人去修,你可能很難找到人回答你問題,當然如果你學熟任何一款語言,要轉其它的都很快,只是像函式庫、框架等東西都得重新熟悉,那些都是在浪費時間

如果你把學程式語言當做投資的話,我會建議學Python,缺點是現在中文資源比較少一些,但是從趨勢看來Python只會越來越流行,資源越來越多,國內因為中文資訊太落後,不懂英文等別人翻譯好可能都已經落伍了,所以如果你英文能力夠的話,直接學Python,但如果只看得懂中文,可能就得先學PHP或其它中文資源較多的語言

就單看成功的網站而言,有越來越多就是用Python寫的,或是捨棄PHP改用Python重寫,例如
http://youtube.com
http://plurk.com
http://reddit.com
http://sourceforge.com (正在逐步以Python的TurboGears框架取代PHP)
http://justin.tv (它背後的影音串流伺服器就是用Python的一個有名的網路函式庫Twisted寫的,網頁就不清楚,但應該也是Python)

一些相關的文章可以參考看看
http://python.org/about/success/rackspace/ 主機商RackSpace經驗
http://compoundthinking.com/blog/index.php/2009/07/16/turbogears-on-sourceforge/ 介紹sourceforge的新架構

Python做為網頁開發只是一小部份,從寫視窗程式到網路伺服器、網頁、網頁爬蟲、科學計算等等,都是非常棒的選擇,而且有都有成功的例子,更多的success story可以參考
http://python.org/about/success/

甚至有遊戲伺服器是用Python寫的,目前最高同時在線人數的伺服器記錄應該是由EVE所有
http://play.eveonline.com/en/home.aspx
可以看這個介紹它背後用的Stackless-Python
http://www.slideshare.net/Arbow/stackless-python-in-eve

我自己也用Python開發過各種方的程式

視窗:
繪圖軟體 http://blog.ez2learn.com/2009/08/26/pysketch/

伺服器/網頁:
http://now.in
背後有一個音訊串流伺服器是用Twisted寫的

http://walele.com

還有很多很瑣碎的東西我就不列出來了,接著整理介紹一下一小部份常見的Python可用資源

--------視窗--------
wxPython 是wxWidget的Python介面
http://www.wxpython.org/

QT的Python介面
http://www.pyside.org/

GTK的Python介面
http://www.pygtk.org/

--------網路程式框架--------
Twisted Python的知名非同步網路框架
http://twistedmatrix.com

Tornado 由http://friendfeed.com/公開的非同步網路框架
http://www.tornadoweb.org/

還有更多框架的比較可以參考這篇文章,多到列不完= =... 那文章裡列出的也只是部份而已
http://nichol.as/asynchronous-servers-in-python

--------圖表繪圖----------
Matplotlib 強大的圖表繪圖函式庫
http://matplotlib.sourceforge.net/

--------網頁框架--------
TurboGears 整合現有的函式庫的網頁框架
http://turbogears.org/

Django Python最知名的網頁框架
http://www.djangoproject.com/

Web2py 網頁框架
http://www.web2py.com/

Web.py 又是另一個網路框架
http://webpy.org/

BFG 最近新興的框架
http://bfg.repoze.org/

它們都是架構在WSGI協定下,所以都可以互通有無,可以參考我寫的這篇
http://blog.ez2learn.com/2010/01/27/introduction-to-wsgi/

這些都只是冰山一角,要找更多Python寫網頁的資源請看
http://www.wsgi.org/wsgi/


上面都只是我個人比較常用的一小部份資源,由於我沒有太多時間全部列出來,所以就只列這些,有空之後繼續補上,個人Perl、PHP、Python都有寫過,就Python最得我心

elleryq

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 908
  • 性別: 男
    • 檢視個人資料
    • Thinking more...
回覆: 請問一下PHP Perl Python的差別
« 回覆 #13 於: 2003-01-01 01:23 »
我是建議你可以繼續用熟悉的 PHP
想試試 perl ,沒問題
先去找本入門書來翻翻,再來決定。

PHP 當初也借鏡了不少 perl/c/java 的東西,所以其實語法有部份非常相近。
引用
PHP is an HTML-embedded scripting language. Much of its syntax is borrowed from C, Java and Perl with a couple of unique PHP-specific features thrown in. The goal of the language is to allow web developers to write dynamically generated pages quickly.

Plan your work, then work your plan.
我的首頁:http://blog.elleryq.idv.tw
351899by http://counter.li.org