PHP 板


LINE

看板 PHP  RSS
※ 引述《sunlights (sunlights)》之銘言: : 最近無聊在104上搜尋了一下.. : 發現.NET的工作很多.. : 可是我N年前就己經有看到aspx(.NET)的網站.. : 但那時.NET和JSP一樣比較少人用.. : 而且網路上看到一篇文章 : http://0rz.tw/zfFtS : 幾乎大部份受歡迎的網站後端都有用到PHP 和 JAVA : 只有三個網站在用.NET : 為什麼現在異軍突起在104上比PHP還要受歡迎呢?? : .net職缺(1569) php職缺(850) : 而且還在http://bbs.csdn.net/topics/390052491: 看見有人寫.net 比 php 快70倍.. : 真的嗎?? 看見這篇文想回一下.... 原始發表於: http://f23ko.com/728 因為自己用過幾種程式語言 所以把用過的感想整理一下 分析各種語言的優缺點 有些人可能會感到困惑:我到底該學哪種語言? 我的回答是..... 你應該看你的用途、去決定使用哪種語言 JAVA、JSP、J2EE 優點: 1.高效能: 主要是因為JVM會動態的把JAVA虛擬碼編譯成C的關係 以及會依照運行狀態去調整他運行的方式 甚至把人寫的爛CODE去改寫成比較好的寫法之類的 不會比C慢太多 2.有application 他有伺服器運行物件,當伺服器開始運行時,只會建立一個實體 然後用那個實體去處理不同Request的請求 舉例來說,如果要記錄,伺服器同時間有多少人上線 那用application就可以記錄了,這會把資料存在記憶體 如果是PHP就絕對要讀檔或是寫資料庫 3.執行緒 同上一點 JAVA允許開執行緒出來 缺點: 1.設定難搞、難學 基礎語言不難,很多人宣稱七天、兩週就學起來的 但是學完基礎的語言之後,如果想去寫個東西 例如Android或是J2EE 甚至在還沒開始寫網頁之前,設定Tomcat時 就會發現,要設定一堆的東西才能讓伺服器動起來 每加一個servlet就得在xml中加上他的對應網址、類別名稱 複雜的設定已經是是JAVA的傳統 寫其他的語言可能不用那麼「笨重」的IDE 但是寫JAVA不靠IDE去產生CODE跟設定檔,會寫的很想死 (看過andriod的設定檔嗎?那根本不是人能寫的) 以及,JAVA上的工具很多 對中、大團隊而言,這些工具很有用 也可以很出很龐大、而且效能很高的程式 像掏寶就是J2EE+MySQL去寫的 基於這一點,學JAVA要上手很花時間 必須要學一堆常用的工具才能成為比較專業的JAVA程式設計師 而且學成之後你會發現..... 你變成團隊中的一顆小齒輪 單打獨鬥對自己來說很不利 但台灣的軟體界傳統是獨立作業 兩三個人甚至一個人就幹掉整個專案 所以,那些工具就變的可有可無..... 2.system call的代價很大 主要還是因為JAVA的跨平台精神的關係 JAVA為了跨平台,跟系統隔著一層JVM 雖然也有Runtime.exec()之類的東西 但根據我之前看到過的書的建議 他是說在Runtime.exec()的時候會建立一個新的JVM 再用那個VM去執行system call,這樣速度很慢、負荷很大 所以建議SERVER上要用JAVA寫出同樣功能的程式 然後在內部去使用 簡單來講,JAVA就讓他關在JVM裡面,自己玩自己的就好 他跟其他語言的連結沒這麼好 3.程式語言繁瑣 我不知道該怎麼說這個東西 JAVA的用途很廣、可用的libary也很多 但是當你要使用一個功能的時候,就會發現.... 用起來很累.... (跟其他語言比起來) 語言近況: 最近的JAVA非常努力的想把自己變成functional語言 JAVA8準備放入 lambda (原本是說JAVA7要加這個,但是個芭樂) 適合的用途: 大型網站之類的 .NET 簡而言之:學JAVA的 運作起來很像,邏輯也很像,也能也不會差到哪裡去 在語言上,C#比JAVA寫起來還舒服一些 一些奇奇怪怪的功能都有 有點像是把C++加上JAVA,取優點做混合 而且還可以用VB等老一輩的語言去寫 上一輩的程式設計師可以不用學新的語言就可以直接上手 跟JAVA比起來的額外優點: 1.工具很好用 因為都是微軟的東西 只要都用微軟的工具就可以很方便的處理掉一堆很花力氣的事情 前提是都用微軟 2.全方位的整合 從嵌入式(windows xp embedded) 伺服器的asp.net 用來跟flash鬥的silverlight Microsoft Servers 系列(資料庫的MSSQL、伺服器網站的IIS、MAIL SERVER) 都他想辦法弄在一起了 跟JAVA比起來的額外缺點: 1.如果用.NET 那麼,系統、資料庫最好都用微軟的東西 這樣效能才會好,而且問題才會少 這會綁死在微軟上 接著就是錢錢錢的問題了 因為微軟的開發工具要錢、OS要錢、資料庫要錢,很多東西都要錢 我記得整套買下來要十幾二十萬跑不掉 這對公司來說不是太大的問題就是了 2.這缺點是針對程式設計師而言 對公司來說可能是優點 .NET很容容易上手 即使是資訊系剛畢業的人 也都能很快的上手.NET 所以.NET的程式設計師的取代性很高 語言近況: C#改版改的還蠻快的 我最後接觸C#是兩三年前的事情 現在版號都快超過JAVA了 也多出一堆東西出來 雖然跟網頁無關但來提一下 .NET 非常努力的想把觸手伸到平板、智慧手機上 但是因為ARM跟桌機不一樣,所以冒出個Windows RT出來 然後號稱可以用javascript、html5去開發windows作業系統程式 伺服器部分 之前參加過的發表會一直在講 windows Azure 我不知道微軟還會不會推SERVER 或是打算整個移到雲端... 適合的用途: 中型網站、公司的網站、政府機關(主要還是因為政府機關都用微軟) 如果網站變大的話,考慮到費用問題 大多數的公司都會往J2EE走 PHP PHP的定位跟上面兩個不一樣 拿PHP來跟J2EE跟.NET比根本是一件很奇怪的事情 比的居然還是效能,根本是自討苦吃..... 優點: 1.上手容易 PHP在學習上並不困難,而且沒太多設定檔要弄就可以跑 (我是指xampp之類的) 安裝完xampp就可以馬上打開htdoc資料夾,開始教別人寫php 2.資源多 我想不少人都可以唸出五款以上架站套件 PHP的資源真的很多 有不少狀況是可以不寫一行程式碼就寫出一個網站的 或是,抓個開放原始碼套件改一改就能交差 3.靜態平行處理強 PHP專門設計來處理這種東西 缺點: 1.慢 就是慢 如果打算讓PHP執行費時的東西 應該要把工作丟給C去做,然後讓PHP去呼叫C PHP本身並不適合做這種事情 這影含的意思是..... 如果你希望用PHP去寫一些很誇張的東西的話 你必須去學C這個大魔王 或是去做system call 2.髒 如果沒引入MVC之類的框架 PHP的CODE可以長的很可怕 PHP沒有先天的MVC 因為在PHP發展的年代根本沒MVC的概念 然後一些奇奇怪怪的寫法也可能會出現安全漏洞 雖然那些漏洞不是PHP的錯 但是PHP的特性是,同樣的東西可以用很多種寫法 沒有太嚴格的規定或規範 所以.... 新手在PHP上搞出洞來是很常見的事情 3.對即時平行處理的能力弱 我是指websocket之類的 PHP可以做到,但並不適合處理這種東西 如果打算做個即時互動的網頁遊戲 PHP拿來當作登入頁面、戰績顯示頁面就好 遊戲SERVER端部分請考慮使用別的語言 適合的用途: 小網站 廉價、快速開發的網站 語言近況: 最近的PHP非常努力的把自己變成物件導向的語言 其他像是 Nodejs、Roby on Rails 析望有用過的人也來分析一下 ^^" -- 寫做F23,讀做純潔。 二三往事 http://f23ko.com/?ptt --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.35.18.75
1F:推 PsMonkey:@_@ 這裡講的 Java...... 好詭異... 我果然還是太弱了... 12/17 14:18
2F:→ PsMonkey:不過,不提 servlet 而是拿比較對等的 JSP,那其實跟 PHP 12/17 14:19
3F:→ PsMonkey:一樣可以馬上開始寫。拿 J2EE 其他東西來說不太對等 12/17 14:20
4F:推 liaosankai:PHP要提高效能,的確要去寫C才行,不過近來有出現幫助 12/17 14:44
5F:→ liaosankai:寫C的Zephir可能比較不痛了,不過還是得有C的基礎才行 12/17 14:45
6F:→ liaosankai:php的freamwork,phalcon2.0打算字Zephir重刻(期待XD) 12/17 14:47
7F:→ gname:我也覺得要拿jsp才對,用java是輾過去吧...XD 12/17 15:37
8F:推 lairrol:我也覺得Java那一塊要用JSP去講比較好 12/17 15:50
9F:推 olctw:PHP 就等 HHVM 成熟了, JAVA 設定繁瑣+1 ... 12/17 16:25
10F:→ danny8376:說實話 你拿JSP比... 務實上有多少東西是單個JSP呢... 12/17 16:48
11F:→ danny8376:PHP整體來說 他就是CGI年代的產物 所以PHP大多時候就是 12/17 16:49
12F:→ danny8376:整個CGI的模式 12/17 16:49
13F:→ danny8376:不過JAVA確實可以單個JSP寫www 12/17 16:51
14F:→ MOONRAKER:現在還有很多legacy的JSP code不是嗎 沒有framework 12/17 16:57
15F:→ MOONRAKER:愛怎麼寫就怎麼寫 跟老的ASP code一樣恐怖 12/17 16:57
16F:→ MOONRAKER:又我有個問題 靜態或動態平行處理怎麼分別 @@ 12/17 16:58
17F:→ dlikeayu:沒講到Python,把Java C#想優化的部份都優化好了 12/17 17:12
18F:→ dlikeayu:Depolyment也比Java簡單,目前唯一問題就是lib還不夠多 12/17 17:12
19F:→ erotic:Java高效率? 有沒有搞錯,用過SAP ERP、IBM Tivoli產品,全都 12/17 18:19
20F:→ erotic:是用Java,遇到要查詢或reload的情況,就覺得好慢... 12/17 18:20
21F:→ F23ko:應該是DAO包太多層了吧?JAVA直接下JDBC也很快的 12/17 20:14
22F:→ erotic:而且點選畫面上任何一個功能,反應有點慢,特別是Tivoli監控 12/17 20:30
23F:→ erotic:軟體(Web介面),執行幾個小時後,整個電腦的效能都被拖慢... 12/17 20:30
24F:→ danny8376:那樓上要不要想想拿PHP來寫會變啥狀況? 12/17 21:28
25F:→ danny8376:效率這東西是相對的 不是絕對的 懂嗎? 12/17 21:30
26F:推 LaPass:Web介面會慢我總覺得是瀏覽器的memory leak 12/17 22:07
27F:推 PsMonkey:如果還是純 page base 的 web 那就 [遠目] 12/17 22:32
28F:→ KC73:Facebook: 嗚!人家沒有小又廉價啦~ 12/18 01:44
29F:→ rickysu:PHP的第三點缺點剛好是小弟在今年PHPConf上的講題。 12/18 09:21
30F:→ rickysu:用PHP也是可以寫WebSocket,效能也可以打趴一堆語言的。 12/18 09:21
31F:→ rickysu:http://goo.gl/24tTqW (這算是打臉文嗎 XD 12/18 09:22
32F:→ danny8376:樓上 那不是標準PHP的玩法啦www 12/18 13:18
33F:→ danny8376:目前把PHP寫成常駐的還不多XDD 大多都還只是拿來玩而已 12/18 13:19







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BuyTogether站內搜尋

TOP