<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mr./Ms. Days (MMDays) - 網路, 資訊, 觀察, 生活MMDays &#8211; COBOL</title>
	<atom:link href="http://mmdays.com/tag/cobol/feed/" rel="self" type="application/rss+xml" />
	<link>http://mmdays.com</link>
	<description>網路, 產業, 資訊, 觀察, 生活, 電影, 技術, 新知, 科技, 媒體, 趨勢, Web 2.0</description>
	<lastBuildDate>Wed, 08 Feb 2012 17:35:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>版本控制，版本升級是不是個問題？</title>
		<link>http://mmdays.com/2008/01/04/programming-language-version-control/</link>
		<comments>http://mmdays.com/2008/01/04/programming-language-version-control/#comments</comments>
		<pubDate>Fri, 04 Jan 2008 03:17:20 +0000</pubDate>
		<dc:creator>Mr. Saturday</dc:creator>
				<category><![CDATA[Mr. Saturday]]></category>
		<category><![CDATA[專欄]]></category>
		<category><![CDATA[程式設計]]></category>
		<category><![CDATA[觀點]]></category>
		<category><![CDATA[COBOL]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[qing]]></category>
		<category><![CDATA[version control]]></category>
		<category><![CDATA[升級]]></category>
		<category><![CDATA[版本控制]]></category>

		<guid isPermaLink="false">http://mmdays.com/2008/01/04/programming-language-version-control/</guid>
		<description><![CDATA[Posted by Mr. Saturday Mr. Friday 的 Java會步上 COBOL 的後塵嗎? 一文還真是引起了相當多的討論，連在 FunP 上面都有一些高手們長篇大論的回應，另外我也看到了 qing 前輩也寫了篇文章 (剛剛也看到他來留言了) 來參與討論，Friday 也針對一些問題跟我私底下聊了一下．正好我自己也有一些淺薄的經驗，這邊就斗膽拿出來跟大家分享一下．不過我先開門見山地表明自己的觀點好了，基本上我覺得拿兩個程式語言來比較好壞，就跟拿英文和中文來比較好壞一樣，意義不大．每種語言有他存在的目的和當初被創造的理由，也各有其優缺點，而且語言會因為使用者而呈現出不同的面貌，真實生活中的語言如此，程式語言自然也不例外． 我比較想要談的，是像 Java 語言版本升級的問題，這也是 qing 前輩著墨甚多的一個問題，底下引述一段： 你沒有必要苦苦追趕Third party程式庫的新版本。通常，在產品開發之前，你就會決定你的技術解決方案，確定你所用的程式庫可以滿足你的需求。在產品開發中途決定更換所用程式庫的major version或到minor version是滿嚴重的事。大多數會需要選定新版的程式庫，多半是發生在選定開發一個新產品的時候。這麼一來，又怎麼會有「程式老跳訊息告訴你這個jar檔版本太舊不是他要的」的問題呢？ 對於版本升級這個問題，我認為這絕對是個對工程師影響重大的事情．這邊我想舉出一個另外的例子和切入點，大家就會知道為什麼版本控制和升級會是個大問題． 大家的討論通常會把程式語言聚焦在產品上面．在單純地開發一個產品這方面，可能就像 qing 所講的，你一開始可以選定技術方案，確定所用的程式庫，中途不要亂更換版本，就不會有什麼問題，不過多數的時候在實際上，世界並沒有這麼美好．程式語言的升級有的時候不只是更改語法或是加入新的 language feature 和 library，很多時候伴隨著升級而來的，是去除舊版本的 bug 和替換舊的 library，甚至於改變某些 function 的行為．這並不是你是否要當一個新版魔人的問題，當你發現舊版本的 bug 可能會引響你的產品，甚至於你原本用的 function 被 deprecated 掉的時候，你必須去考慮升級，確保日後的相容性和穩定性．即使這件事情是發生在你的開發過程中，你也必須花費心力去評估或做修正，這當然是個大問題．不過當然，如果你開發的產品是如此地完美，以致於以後所有的版本更新都不會影響到你，那麼以上我說的對你來說就不成立．但我相信大多數的人不是如此． 以上的討論只放在用程式語言開發一個一個獨立的產品上面，各位是否想過，當一個語言成為你全公司的 infrastructure 的時候，狀況又會是怎麼樣？小弟任職的軟體公司，很不幸地就以 Java 去打造至關重要的 infrastructure．也就是說現在我們公司的工程師不只是用原生的 Java 去開發一個一個的產品而已，Java 這個語言本身已經擴展到全公司，成為很多環境的基礎，包括 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Posted by</strong> <font><strong><a href="http://mmdays.com/category/mr-saturday/"><font color="#964b00" size="large">Mr. Saturday</font></a></strong></font></p>
<p><strong><a href="http://mmdays.com/category/mr-friday/"><strong>Mr. Friday</strong></a></strong> 的 <a href="http://mmdays.com/2008/01/02/java_future/" rel="bookmark" title="Permanent Link to [MMDays 專欄] Java會步上 COBOL 的後塵嗎?">Java會步上 COBOL 的後塵嗎?</a> 一文還真是引起了相當多的討論，連在 FunP 上面都有一些高手們長篇大論的回應，另外我也看到了 <a href="http://www.javaworld.com.tw/roller/qing/entry/%E9%97%9C%E6%96%BC_java%E5%8D%B3%E5%B0%87%E8%AE%8A%E6%88%90%E5%8F%A6%E4%B8%80%E5%80%8Bcobol_%E9%80%99%E7%AF%87%E6%96%87%E7%AB%A0" target="_blank">qing 前輩也寫了篇文章</a> (剛剛也看到他來留言了) 來參與討論，Friday 也針對一些問題跟我私底下聊了一下．正好我自己也有一些淺薄的經驗，這邊就斗膽拿出來跟大家分享一下．不過我先開門見山地表明自己的觀點好了，基本上我覺得拿兩個程式語言來比較好壞，就跟拿英文和中文來比較好壞一樣，意義不大．每種語言有他存在的目的和當初被創造的理由，也各有其優缺點，而且語言會因為使用者而呈現出不同的面貌，真實生活中的語言如此，程式語言自然也不例外．</p>
<p>我比較想要談的，是像 Java 語言版本升級的問題，這也是 qing 前輩著墨甚多的一個問題，底下引述一段：</p>
<blockquote><p><span style="font-family: 新細明體">你沒有必要苦苦追趕</span><span lang="EN-US">Third party</span><span style="font-family: 新細明體">程式庫的新版本。通常，在產品開發之前，你就會決定你的技術解決方案，確定你所用的程式庫可以滿足你的需求。在產品開發中途決定更換所用程式庫的</span><span lang="EN-US">major version</span><span style="font-family: 新細明體">或到</span><span lang="EN-US">minor version</span><span style="font-family: 新細明體">是滿嚴重的事。大多數會需要選定新版的程式庫，多半是發生在選定開發一個新產品的時候。這麼一來，又怎麼會有「程式老跳訊息告訴你這個</span><span lang="EN-US">jar</span><span style="font-family: 新細明體">檔版本太舊不是他要的」的問題呢？</span></p></blockquote>
<p>對於版本升級這個問題，我認為這絕對是個對工程師影響重大的事情．這邊我想舉出一個另外的例子和切入點，大家就會知道為什麼版本控制和升級會是個大問題．</p>
<p><span id="more-5322"></span> 大家的討論通常會把程式語言聚焦在產品上面．在單純地開發一個產品這方面，可能就像 qing 所講的，你一開始可以選定技術方案，確定所用的程式庫，中途不要亂更換版本，就不會有什麼問題，不過多數的時候在實際上，世界並沒有這麼美好．程式語言的升級有的時候不只是更改語法或是加入新的 language feature 和 library，很多時候伴隨著升級而來的，是去除舊版本的 bug 和替換舊的 library，甚至於改變某些 function 的行為．這並不是你是否要當一個<strong>新版魔人</strong>的問題，當你發現舊版本的 bug 可能會引響你的產品，甚至於你原本用的 function 被 deprecated 掉的時候，你必須去考慮升級，確保日後的相容性和穩定性．即使這件事情是發生在你的開發過程中，你也必須花費心力去評估或做修正，這當然是個大問題．不過當然，如果你開發的產品是如此地完美，以致於以後所有的版本更新都不會影響到你，那麼以上我說的對你來說就不成立．但我相信大多數的人不是如此．</p>
<p>以上的討論只放在用程式語言開發一個一個獨立的產品上面，各位是否想過，<strong>當一個語言成為你全公司的 infrastructure 的時候</strong>，狀況又會是怎麼樣？小弟任職的軟體公司，很不幸地就以 Java 去打造至關重要的 infrastructure．也就是說現在我們公司的工程師不只是用原生的 Java 去開發一個一個的產品而已，Java 這個語言本身已經擴展到全公司，成為很多環境的基礎，包括 parallel programming 的 framework 如 MapReduce；Remote Procedure Call 的 framework 等等，都是 based on Java 打造出來．<strong>這種規模和等級已經不是單一產品的問題</strong>，而是牽涉到以後所有還沒出現的產品和既有的產品，和全公司上千甚至上萬名工程師每天如何去寫程式的問題．</p>
<p>也因此，小弟公司內部有一個 team 叫做 Java Infrastructure Team，每次 Java 預定要推出升級的版本時，他們就如臨大敵，工作量暴增，必須立刻評估新版本對於全公司的影響，立刻做出反應，這牽涉到的問題多如牛毛，在管理上：有沒有必要升級是一個問題；什麼時候升級是一個問題；其餘合作廠商是否升級也是一個問題；在技術上：新版本的 performance 是否有差異是一個問題；新版本是否又會帶來新的 bug 是一個問題；對於既有產品的影響又是一個問題；在人員教育上：升級之後的磨合期也是一個問題．請注意，我不是在談單一個人去開發單一產品，我是在說版本升級 (即使是一點點最細微的更動) 如何同時影響到數千個產品，數千位工程師．<strong>在這種規模之下，很不幸地，你必須去苦苦追趕程式語言的升級</strong>．我想這也是為什麼 Mr. Friday 會提出版本升級的問題．</p>
<p>也因此，我認為版本升級，當然是個非常重大的議題．<br/>
<div>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><a href="http://plurktop.mmdays.com/replurkdetail/?link=255c5edf629d7ebb63716140cb0ce1d5" title="看看其他人討論內容" target="_blank"><img src="http://plurktop.mmdays.com/images/replurk_1.png" style="border:0"></a></td>
</tr>
<tr>
<td><a href="http://plurk.com/?qulaifier=shares&#038;status=http%3A%2F%2Fmmdays.com%2F2008%2F01%2F04%2Fprogramming-language-version-control%2F+%28%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6%EF%BC%8C%E7%89%88%E6%9C%AC%E5%8D%87%E7%B4%9A%E6%98%AF%E4%B8%8D%E6%98%AF%E5%80%8B%E5%95%8F%E9%A1%8C%EF%BC%9F%29+-+%E8%BD%89%E5%99%97%E6%8E%92%E8%A1%8C%E6%A6%9C+http%3A%2F%2Fplurktop.mmdays.com%2Freplurk" title="推到噗浪" target="_blank"><img style="border:0" src="http://plurktop.mmdays.com/images/replurk_2.png" /></a></td>
</tr>
</table>
</div>
<p><br/><a href="http://www.facebook.com/MMDays" target="_blank">加入MMDays在facebook的粉絲團 隨時閱讀最新文章</a><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://mmdays.com/2008/01/04/programming-language-version-control/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>Java會步上 COBOL 的後塵嗎?</title>
		<link>http://mmdays.com/2008/01/02/java_future/</link>
		<comments>http://mmdays.com/2008/01/02/java_future/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 10:30:40 +0000</pubDate>
		<dc:creator>mmdays</dc:creator>
				<category><![CDATA[Mr. Friday]]></category>
		<category><![CDATA[專欄]]></category>
		<category><![CDATA[程式設計]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[BEA]]></category>
		<category><![CDATA[COBOL]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[InfoWorld]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[軟體工程]]></category>

		<guid isPermaLink="false">http://mmdays.com/2008/01/02/java_future/</guid>
		<description><![CDATA[Posted by Mr. Friday 最近這個禮拜，許多網站都在寫所謂的「年終回顧」，而向來報導資訊科技產業為主的InfoWorld卻列出了「2007最被低估〈未被大力報導〉的科技新聞」，而排名第一的就是這篇文章：「JAVA正步上COBOL的後塵！」 光看這標題實在太嚇人。從大學時候開始算起，Java我碰了少說也有快七年以上，雖然比起眾高手不敢說多麼精通，但是說Java說要像COBOL一樣被市場淘汰，會不會太早了點？如果真的有朝一日醒來，Java全面性的被新語言替換，那所有寫Java長大的程式設計師豈不是立刻失業？ 好，先別急，先把原文內容看完再說。InfoWorld在這篇文章所持的幾個重要論點如下： 在網頁設計師界，擁抱Ruby on Rails、PHP、AJAX的人越來越多，而M$ .Net也正逐步把Java趕出企業應用市場。 Java最被人傳頌的好處是可以跨平台，然而根據Twiki.net CEO的說法，Java的版本越來越多，還時常要去下載各種不同的Library檔案，因此他們開發網站後來都改用ROR，解決版本複雜性的問題。 Java吃記憶體太兇、在UI上表現不佳，不利於手機版本J2ME的發展。 根據InfoWorld一份訪問超過1,850家企業的問卷結果顯示，各企業比較偏好用.Net，勝過用Java。 好，我知道這樣的文章一定爭議滿天飛。我對當中的許多論點也不甚認同，但話說回來，它也的確點出一些問題。首先談談我不認同的點： 少來了，AJAX什麼時候變成獨立的程式語言，還可以取代Java來著？ Ruby on Rails細節我不熟，但只因為這個語言近兩年開始起飛，開發網站套用模版用現成Framework開發速度很快，就可以取代Java了嗎？ROR之所以速度會快，是因為Rails已經寫好很多的模版可以套用是因為它的Framework可以讓你節省很多從頭開始的功夫，而寫Java的大部分人卻還習慣著從頭到尾一頁一頁慢慢刻。如果現在Wicket這些Java Web Framework發展得好，也綁進Eclipse裡面，那未來JSP是不是也可以喊出取代ROR的口號了呢？ 不過，我也必須承認，寫Java到現在，有很多地方是我認為值得討論的。 版本控制：Java一直在推出新的版本，而且最近出的速度超快，一轉眼已經要出Java SE 7了，Java EE 6也預定2008年問世，速度快到其他家廠商都追不太上〈企業級伺服器WebLogic都到了2007年中出新版才能支援Java EE 5，而WebSphere、JBoss、Oracle等大廠都還在苦苦追趕中。〉 除了SDK外，Java還有許多由Open Source界開發的Library。雖然這些軟體免費又好用，但是伴隨而來的版本與相容性問題也相對複雜。程式老跳訊息告訴你這個jar檔版本太舊不是他要的，怎麼辦？ 記憶體吃得兇：這顯然是跨平台的代價。我個人只遇過幾個純粹用Java寫的GUI程式，分別是JBuilder、Eclipse，以及NetBeans。而這幾個都是吃記憶體的超級怪物。就算我現在電腦有2G的ram，我也不敢同時開前面任兩個程式起來。 程式架構越來越複雜：曾經我以為只要會寫繼承、MVC，看過Design Pattern就算是會寫Java了，但是我大錯特錯，Java還有很多Framework，而且到最後某些Framework已經複雜到有點變本加厲了。這當中首推EJB。EJB現在已經被認為是失敗的概念，因為它實在是超級複雜&#8230;我曾經在課堂上寫過Agent，要讓同一隻程式能「跨越不同的JVM執行」，天啊，從頭寫一隻出來大概要走我半條命。果不其然，現在POJO〈Plain Old Java Object〉的口號越來越響亮，呼籲大家把Java程式設計得越簡單越好，尤其是不要照EJB 2.x的模樣來寫。 但話說回來，縱使Java的確有許多缺點，這仍然離標題所預測：「JAVA正步上COBOL的後塵！」差之甚遠。與其他新進語言相比，Java因為平台眾多，又有大批open source人士寫了很多的Library，以致讓新手光看到版本就眼花撩亂，但這些並不是會影響Java是否能持續存活下去的關鍵因素；關鍵應該要從整個軟體產業的角度下手。在原文後面的回應中，有一位署名systemanalyst的人寫得相當精闢：〈以下節錄〉 拉回企業的角度來看，許多公司內的mainframe程式是用IMS、CICS搭配上JMS(Java Message Service的縮寫) Connector來寫的，PHP跟ROR在這一點是要怎麼取代Java？ 當你的網站流量很大時，用Windws TCP/IP會癱瘓，你確定敢用Windows當作重要的前端系統平台嗎？ 我不是說Java沒有問題，但相較於其他平台，如果我自己開公司，我一定會選擇Java平台。為何？因為我可能會選擇POS平台用AIX〈IBM的Unix作業系統〉，線上購物平台用Linux，開發環境用Windows，而後端的資料倉儲系統架在z/OS上。為了省下管理不同異質平台的錢，我會用Java，因為它是唯一能在所有平台上通用的程式語言。 當我們在談論一個程式語言時，我們必須要從整個軟體工程的角度來看。Java不只是一個語言。當你看著Java時，你必須包含整個平台來看。看看這些為Java創造出來的架構與伺服器，它們的scalability是無限的！比起來.NET可就完全沒辦法比。如果你只是要講語言的syntax，是的C#跟Java沒什麼差別。但是如果你要評判Java能帶給你的價值，你必須從頭到尾、從上到下，完整的評估，而不只是&#8221;getThis()&#8221; 或 &#8220;setThat()&#8221;這些語法。 說到企業用途，或許Java還有另外一項好處，那就是Java Solution的平台提供者眾多，包括IBM、BEA、Sun、Oracle都有出Java專屬的應用伺服器，但.NET的平台似乎只有Microsoft一家比較知名。不管M$的名聲如何，選擇Java平台的公司至少在短期內比較不用擔心被同一家廠商壟斷的問題。即使Sun這一兩年來的股票跌到連水餃股都不如，各家企業至少還有IBM、BEA這幾家可以選擇，而選擇.NET的公司，可能就只好期望M$能夠活得長長久久，永保安康了。 講到這裡，各位看倌，你們的看法又是如何呢？ 加入MMDays在facebook的粉絲團 [...]]]></description>
			<content:encoded><![CDATA[<p>Posted by <a href="http://mmdays.com/category/mr-friday/"><strong>Mr. Friday</strong></a></p>
<p><img src="http://images.infoworld.com/img/iwLogo2_2006.gif" align="left" /> 最近這個禮拜，許多網站都在寫所謂的「年終回顧」，而向來報導資訊科技產業為主的<a href="http://www.infoworld.com/">InfoWorld</a>卻列出了「2007最被低估〈未被大力報導〉的科技新聞」，而排名第一的就是這篇文章：「<a href="http://www.infoworld.com/article/07/12/28/52FE-underreported-java_1.html">JAVA正步上COBOL的後塵</a>！」</p>
<p>光看這標題實在太嚇人。從大學時候開始算起，Java我碰了少說也有快七年以上，雖然比起眾高手不敢說多麼精通，但是說Java說要像COBOL一樣被市場淘汰，會不會太早了點？如果真的有朝一日醒來，Java全面性的被新語言替換，那所有寫Java長大的程式設計師豈不是立刻失業？</p>
<p><span id="more-5320"></span></p>
<p>好，先別急，先把<a href="http://www.infoworld.com/article/07/12/28/52FE-underreported-java_1.html">原文內容</a>看完再說。InfoWorld在這篇文章所持的幾個重要論點如下：</p>
<ol>
<li>在網頁設計師界，擁抱Ruby on Rails、PHP、AJAX的人越來越多，而M$ .Net也正逐步把Java趕出企業應用市場。</li>
<li>Java最被人傳頌的好處是可以跨平台，然而根據Twiki.net CEO的說法，Java的版本越來越多，還時常要去下載各種不同的Library檔案，因此他們開發網站後來都改用ROR，解決版本複雜性的問題。</li>
<li>Java吃記憶體太兇、在UI上表現不佳，不利於手機版本J2ME的發展。</li>
<li>根據InfoWorld一份訪問超過1,850家企業的問卷結果顯示，各企業比較<a href="http://weblog.infoworld.com/techwatch/archives/014981.html">偏好用.Net，勝過用Java</a>。</li>
</ol>
<p>好，我知道這樣的文章一定爭議滿天飛。我對當中的許多論點也不甚認同，但話說回來，它也的確點出一些問題。首先談談我不認同的點：</p>
<ul>
<li>少來了，AJAX什麼時候變成獨立的程式語言，還可以取代Java來著？</li>
<li>Ruby on Rails細節我不熟，但只因為這個語言近兩年開始起飛，開發網站<strike>套用模版</strike>用現成Framework開發速度很快，就可以取代Java了嗎？ROR之所以速度會快，<strike>是因為Rails已經寫好很多的模版可以套用</strike>是因為它的Framework可以讓你節省很多從頭開始的功夫，而寫Java的大部分人卻還習慣著從頭到尾一頁一頁慢慢刻。如果現在Wicket這些Java Web Framework發展得好，也綁進Eclipse裡面，那未來JSP是不是也可以喊出取代ROR的口號了呢？</li>
</ul>
<p>不過，我也必須承認，寫Java到現在，有很多地方是我認為值得討論的。</p>
<ul>
<li>版本控制：Java一直在推出新的版本，而且最近出的速度超快，一轉眼已經要出Java SE 7了，Java EE 6也預定2008年問世，速度快到其他家廠商都追不太上〈企業級伺服器WebLogic都到了2007年中出新版才能支援Java EE 5，而WebSphere、JBoss、Oracle等大廠都還在苦苦追趕中。〉</li>
<li>除了SDK外，Java還有許多由Open Source界開發的Library。雖然這些軟體免費又好用，但是伴隨而來的版本與相容性問題也相對複雜。程式老跳訊息告訴你這個jar檔版本太舊不是他要的，怎麼辦？</li>
<li>記憶體吃得兇：這顯然是跨平台的代價。我個人只遇過幾個純粹用Java寫的GUI程式，分別是JBuilder、Eclipse，以及NetBeans。而這幾個都是吃記憶體的超級怪物。就算我現在電腦有2G的ram，我也不敢同時開前面任兩個程式起來。</li>
<li>程式架構越來越複雜：曾經我以為只要會寫繼承、MVC，看過Design Pattern就算是會寫Java了，但是我大錯特錯，Java還有很多Framework，而且到最後某些Framework已經複雜到有點變本加厲了。這當中首推EJB。EJB現在已經被認為是失敗的概念，因為它實在是超級複雜&#8230;我曾經在課堂上寫過Agent，要讓同一隻程式能「跨越不同的JVM執行」，天啊，從頭寫一隻出來大概要走我半條命。果不其然，現在POJO〈Plain Old Java Object〉的口號越來越響亮，呼籲大家把Java程式設計得越簡單越好，尤其是不要照EJB 2.x的模樣來寫。</li>
</ul>
<p>但話說回來，縱使Java的確有許多缺點，這仍然離標題所預測：「<a href="http://www.infoworld.com/article/07/12/28/52FE-underreported-java_1.html">JAVA正步上COBOL的後塵</a>！」差之甚遠。與其他新進語言相比，Java因為平台眾多，又有大批open source人士寫了很多的Library，以致讓新手光看到版本就眼花撩亂，但這些並不是會影響Java是否能持續存活下去的關鍵因素；關鍵應該要從整個軟體產業的角度下手。在原文後面的回應中，有一位署名systemanalyst的人寫得相當精闢：〈以下節錄〉</p>
<blockquote><p>拉回企業的角度來看，許多公司內的mainframe程式是用IMS、CICS搭配上JMS(Java Message Service的縮寫) Connector來寫的，PHP跟ROR在這一點是要怎麼取代Java？</p></blockquote>
<blockquote><p>當你的網站流量很大時，用Windws TCP/IP會癱瘓，你確定敢用Windows當作重要的前端系統平台嗎？</p></blockquote>
<blockquote><p>我不是說Java沒有問題，但相較於其他平台，如果我自己開公司，我一定會選擇Java平台。為何？因為我可能會選擇POS平台用AIX〈IBM的Unix作業系統〉，線上購物平台用Linux，開發環境用Windows，而後端的資料倉儲系統架在z/OS上。為了省下管理不同異質平台的錢，我會用Java，因為它是唯一能在所有平台上通用的程式語言。</p></blockquote>
<blockquote><p><strong>當我們在談論一個程式語言時，我們必須要從整個軟體工程的角度來看。Java不只是一個語言。當你看著Java時，你必須包含整個平台來看。</strong>看看這些為Java創造出來的架構與伺服器，它們的scalability是無限的！比起來.NET可就完全沒辦法比。如果你只是要講語言的syntax，是的C#跟Java沒什麼差別。但是如果你要評判Java能帶給你的價值，你必須從頭到尾、從上到下，完整的評估，而不只是&#8221;getThis()&#8221; 或 &#8220;setThat()&#8221;這些語法。</p></blockquote>
<p>說到企業用途，或許Java還有另外一項好處，那就是Java Solution的平台提供者眾多，包括IBM、BEA、Sun、Oracle都有出Java專屬的應用伺服器，但.NET的平台似乎只有Microsoft一家比較知名。不管M$的名聲如何，選擇Java平台的公司至少在短期內比較不用擔心被同一家廠商壟斷的問題。即使Sun這一兩年來的股票跌到連水餃股都不如，各家企業至少還有IBM、BEA這幾家可以選擇，而選擇.NET的公司，可能就只好期望M$能夠活得長長久久，永保安康了。</p>
<p>講到這裡，各位看倌，你們的看法又是如何呢？<br/>
<div>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><a href="http://plurktop.mmdays.com/replurkdetail/?link=0bbb8e23ebca710089510b00d3838319" title="看看其他人討論內容" target="_blank"><img src="http://plurktop.mmdays.com/images/replurk_1.png" style="border:0"></a></td>
</tr>
<tr>
<td><a href="http://plurk.com/?qulaifier=shares&#038;status=http%3A%2F%2Fmmdays.com%2F2008%2F01%2F02%2Fjava_future%2F+%28Java%E6%9C%83%E6%AD%A5%E4%B8%8A+COBOL+%E7%9A%84%E5%BE%8C%E5%A1%B5%E5%97%8E%3F%29+-+%E8%BD%89%E5%99%97%E6%8E%92%E8%A1%8C%E6%A6%9C+http%3A%2F%2Fplurktop.mmdays.com%2Freplurk" title="推到噗浪" target="_blank"><img style="border:0" src="http://plurktop.mmdays.com/images/replurk_2.png" /></a></td>
</tr>
</table>
</div>
<p><br/><a href="http://www.facebook.com/MMDays" target="_blank">加入MMDays在facebook的粉絲團 隨時閱讀最新文章</a><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://mmdays.com/2008/01/02/java_future/feed/</wfw:commentRss>
		<slash:comments>75</slash:comments>
		</item>
	</channel>
</rss>

