作者qrtt1 (有些事,有時候。。。)
看板Soft_Job
標題Re: [請益] JAVA,PHP,C# 比較
時間Thu Dec 13 21:49:13 2012
※ 引述《sunlights (sunlights)》之銘言:
: 這三種語言都是寫網頁常用的語言..
現實世界是少有單一語言來完成所有工作的情況
http://en.wikipedia.org/wiki/
Programming_languages_used_in_most_popular_websites
: 除了PHP不能寫系統軟體外,
『系統軟體』的說法並不多見,
多稱為 desktop application 或 standalone application
PHP 當然可以寫這類的程式,只是相對來說是少見的:
http://blog.roodo.com/rocksaying/archives/3400303.html
: 其他都可以..而且也只有PHP是直譯語言.
http://www.phpclasses.org/blog/post/
155-Top-10-Wrong-Ideas-About-PHP-That-You-Should-Get-Right.html
單純論語言是否直譯式,要看它最終是如何執行的
我們無法單純稱特定語言是不是直譯式或編譯式語言
Facebook 也用 PHP 但它就不是直譯式的
http://en.wikipedia.org/wiki/HipHop_for_PHP
https://developers.facebook.com/blog/post/
2010/02/02/hiphop-for-php--move-fast/
: 有人說JAVA安全性比高,應用方面比較廣..
除了語言實作品本身帶來的不安全因素
http://krebsonsecurity.com/2012/08/
security-fix-for-critical-java-flaw-released/
一般的開發者設計上的問題,反而比指責特定語言優劣更重要
簡而言之,是『人品』的問題。
至少得養成一些良好習慣才是,宣稱再安全的產品也防不了危險的 user
http://www.dotblogs.com.tw/hatelove/archive/2012/06/15/
memo-about-defensive-programming-techniques-for-robust-
code-from-code-craft.aspx
難道你相信開了世界上最安全的車上路,就不會因為危險駕駛而害人害己!?
: 有人說C#能快速做出一個網站,應用方面當然和JAVA不相上下
不相上下是個空乏的說法,
最終輸出的都是 html, css, javascript 或其它資料型式
該如何不相上下呢!?
要比快速產生出網站,那麼 C#, Java, PHP 應該不會是首選
以下就不列舉了,各有各的粉絲 ..... (默
: 有人說PHP很好學,而且免費資源多..
資源再多吸收的都是學習者個人。
網路便利,資訊傳遞容易,但沒有人把關內容的正確性。
最佳的資源仍然只有官方網站,
或是有自我修復意識的社群組織。
容易學會的寫法,並不等於適合用在現況的寫法。
例如基本的 coding style 多數的教學只是單一的範例
沒有一個實作的『前提』或『情境』要取出有意義的變數名稱就難了
姑且就 foo, bar, a, b, c 亂寫一通。
或是想在短短的內容塞進所有的東西,一個 main 從頭到底。
或是配合教學的進度,還沒講到的語法或類別就不用了
讓使用者看到很『土法煉鋼』的方法
像是沒教到陣列前就一個一個設變數,
或是沒教到容器前就用陣列硬寫,
單純的材料,沒有人引導的效果是有很大的差距的。
易學讓入門的人有多一點信心,但千萬不要天真的以為已經夠格上戰場了
: 有人做速度比較JAVA速度>?C#>?PHP
這東西的比較是否有意義呢?
在我心中沒有答案,即使獲得了最強之矛與盾,我也不會想要讓他們互撞。
身為開發人員最省力的方法是發揮手上手具的最大效益
同理,千萬不要用工具的弱點去解決問題
像在 python 2 時,我們都用 process 取代 thread。
如果要在 windows 下寫 media app
那麼用 c# 叫 directshow 當然是較好的選擇
用其它語言還要硬在多一層轉介或外皮,怎麼弄都不會比較直覺且有效率
: 上面是從語言的各方面來比較,下面比較一下工程師
: 學JAVA的..薪水好像很高...到那裡都有人搶著用
: 學C#的....不太清楚行情..這幾年也是蓬勃發展..
: 好像大企業和政府單位很愛用(用JAVA不行嗎??)
: 學PHP的..好像再怎麼努力..還是突不破JAVA的薪準
: (因為價錢低所以市占率很高嗎??)
這是個人的本事與選擇的產業的問題
有些事情我們並不關心普遍的說法,
問自己能在工作上得到多少回報真的跟語言有關嗎!?
真的有關的是你的產出公司願不願意持續僱用你
http://www.ptt.cc/bbs/Soft_Job/M.1345897882.A.9C2.html
: 有人知道這三個語言繼續競爭,誰會勝出??
: 為什麼C#.net不能跨平台呢?
C# 有不同平台的實作,如同其他版友的推文
語言本身沒有競爭的意向,只是有沒有人願意選用的問題
即使 C# 能在不同平台跑,但在原生平台的『生態系』沒有跟著過來
對開發者是辛苦的事
: 為什麼PHP沒辦法和其他語言一樣是編譯的而且可以做出軟體呢??
: 為什麼JAVA不能好學一點呢??(它最後會完全被C#給併掉嗎?)
單純說語法的話 Java 不算難了,
因為他的 feature 比起 C# 並不算富豐。
比起其他魔幻語言更是簡單多了。
真的要說有難學的情境,大概是古早的 javascript 吧
每家的 engine 完成度都不太一樣,
你可能要自己在腦中想先好在什麼 engine 下有不同的行為,
或怎麼寫才能儘可能避開 side effect
最後,『有人』說的陳述方式好像小時候在寫作文,
總得引一些例子來強調自己的觀點,試著得到支持。
但以邏輯式的方式來陳述,
是『誰』或有『誰』並不太重要。
重點是那個『觀察』附帶的『前提』、『基本假設』是什麼。
這論述在什麼條件下會成立,或是它曾經成立。
雖然你試著找了一些資訊,但看起來多數都過時了。
網路上的許多資源可靠度其實取決於判讀的觀點
也許該先加強這部分再來利用廣大的網路資料,
才不會將錯誤的訊息進行再傳播。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.117.114
推 leicheong:「系統軟體」那裡是說PHP無法寫driver和service吧... 12/13 21:53
→ leicheong:文章後半的討論也不再限在網頁應用呢. 12/13 21:54
推 gmoz:推 12/13 22:07
→ qrtt1:leicheong:我是依前後文推測,希望原po有看到時解答一下:) 12/13 22:10
推 LaPass:即使是現在,javascript也有跨平台問題... orz 12/13 23:39
推 dryman:好文推 12/13 23:39
推 andymai:只能推了... 12/13 23:46
推 SansWord:jQuery 多少有減低跨平台的難度, 可是還是會莫名踩雷。 12/14 00:04
→ SansWord:自從我發現 javascript 不是所有browser 都有 forEach 12/14 00:04
→ SansWord:我就對它跨平台的可能性失去信心了....orz 12/14 00:04
推 fortinet:沒有語言是真正跨平台,java包在jvm裡換系統照樣有細節要 12/14 09:03
→ fortinet:調。不過就是這樣,才這麼多工作機會給軟體工程師XD 12/14 09:04
推 Blueshiva:嘴炮就是真正跨平台的啊 (茶) 12/14 10:35
推 belion:業主的需求也是跨平台之一啊~ 12/14 11:15
推 chchwy:推 這篇比較接近事實 12/14 13:23
推 prag222:.NET也有跨平台.... 12/14 21:51
→ sealight:好像講了很多,卻什麼都沒講啊… 12/14 23:04
推 FTM:推! 提供一個修正意見. 系統軟體 (system software), 與 12/18 10:33
→ FTM:desktop application 並不相同 12/18 10:34