<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Ngôn ngữ Java không còn được ưa chuộng như trước</title>
	<atom:link href="http://www.narga.net/391/ngon-ngu-java-khong-con-duoc-ua-chuong-nhu-truoc/2008/01/01/feed" rel="self" type="application/rss+xml" />
	<link>http://www.narga.net/391/ngon-ngu-java-khong-con-duoc-ua-chuong-nhu-truoc/2008/01/01</link>
	<description>Ideas and inspiration in my opinion!</description>
	<pubDate>Thu, 24 Jul 2008 00:15:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Narga</title>
		<link>http://www.narga.net/391/ngon-ngu-java-khong-con-duoc-ua-chuong-nhu-truoc/2008/01/01#comment-13439</link>
		<dc:creator>Narga</dc:creator>
		<pubDate>Tue, 15 Jan 2008 12:56:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.narga.net/391/ngon-ngu-java-khong-con-duoc-ua-chuong-nhu-truoc/2008/01/01#comment-13439</guid>
		<description>Giọng bác vẫn rất cuốn hút, nói thật em thích đọc các bài viết của bác, rất sắc sảo :)

.Net dường như nó đi theo hướng của riêng mình, nguyên việc mỗi phiên bản khác nhau có cách hỗ trợ khác nhau cũng như tính tương thích nguợc không ổn định {đơn cử như cái app CD Drive Control của mình, trên 1.0 thì hoạt động tốt, trên 2.0 thì lệnh đầu tiên luôn là đóng CD Tray, trên 3.0 thì thỉnh thoảng mở CD Tray đóng vào lại hoá ra mở lần nữa :x}, hơn nữa nếu đi theo nền .Net thì lại bó buộc vào M$ và Windows.
Tiện thể bác nói rõ cái mission critical luôn đi, em cũng không thực sự hiểu nghĩa của nó :D
Ghét dùng Java bởi vì các app của nó chậm quá, không hiểu do mình code hay do cách nó compiled nữa, ấn tượng đầu tiên thì lại khó phai; hơn nữa nó cũng ăn tài nguyên dã man, đơn cử cho chuyện xài RSSOwl và Greatnews, có hơn 300 feed mà RSSOwl mỗi lần chạy chơi nguyên 400 MB RAM trong khi Greatnews chỉ có 60 MB RAM chưa kể mỗi tác vụ của RSSOwl kéo theo CPU usage lúc nào cũng 95% trở lên :(</description>
		<content:encoded><![CDATA[<p>Giọng bác vẫn rất cuốn hút, nói thật em thích đọc các bài viết của bác, rất sắc sảo <img src='http://www.narga.net/wordpress/smilies/yahoo_smiley.gif' alt='&#58;&#41;' class='wp-smiley' width='18' height='18' title='&#58;&#41;' /></p>
<p>.Net dường như nó đi theo hướng của riêng mình, nguyên việc mỗi phiên bản khác nhau có cách hỗ trợ khác nhau cũng như tính tương thích nguợc không ổn định {đơn cử như cái app CD Drive Control của mình, trên 1.0 thì hoạt động tốt, trên 2.0 thì lệnh đầu tiên luôn là đóng CD Tray, trên 3.0 thì thỉnh thoảng mở CD Tray đóng vào lại hoá ra mở lần nữa <img src='http://www.narga.net/wordpress/smilies/yahoo_love.gif' alt='&#58;&#120;' class='wp-smiley' width='18' height='18' title='&#58;&#120;' />}, hơn nữa nếu đi theo nền .Net thì lại bó buộc vào M$ và Windows.<br />
Tiện thể bác nói rõ cái mission critical luôn đi, em cũng không thực sự hiểu nghĩa của nó <img src='http://www.narga.net/wordpress/smilies/yahoo_bigsmile.gif' alt='&#58;&#68;' class='wp-smiley' width='18' height='18' title='&#58;&#68;' /><br />
Ghét dùng Java bởi vì các app của nó chậm quá, không hiểu do mình code hay do cách nó compiled nữa, ấn tượng đầu tiên thì lại khó phai; hơn nữa nó cũng ăn tài nguyên dã man, đơn cử cho chuyện xài RSSOwl và Greatnews, có hơn 300 feed mà RSSOwl mỗi lần chạy chơi nguyên 400 MB RAM trong khi Greatnews chỉ có 60 MB RAM chưa kể mỗi tác vụ của RSSOwl kéo theo CPU usage lúc nào cũng 95% trở lên <img src='http://www.narga.net/wordpress/smilies/yahoo_sad.gif' alt='&#58;&#40;' class='wp-smiley' width='18' height='18' title='&#58;&#40;' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pcdinh</title>
		<link>http://www.narga.net/391/ngon-ngu-java-khong-con-duoc-ua-chuong-nhu-truoc/2008/01/01#comment-13370</link>
		<dc:creator>pcdinh</dc:creator>
		<pubDate>Mon, 14 Jan 2008 18:28:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.narga.net/391/ngon-ngu-java-khong-con-duoc-ua-chuong-nhu-truoc/2008/01/01#comment-13370</guid>
		<description>Ronen nói Ruby cung cấp những nền tảng kiến trúc đã được xây dựng sẵn như việc mua bán trực tuyến trên một website thương mại điện tử, do đó bạn không cần phải mất công để viết lại từ đầu như khi dùng Java.
Ronen nói dối và dĩ nhiên là  Ronen biết mình nói gì :D Ronen hẳn nhiên đã biết Struts, JBoss Seam, Stripes, Wicket. Ruby on Rails về thực chất chỉ là một framework cho web nhỏ. Không có gì đáng ghê gớm ở đó cả. Ruby On Rails rất kém ổn định. Một ngày có thể phải &lt;a class="outlink" href="http://www.sitepoint.com/blogs/2008/01/02/rakish-resolution-more-flame/" rel="nofollow"&gt;restart cả chục đến trăm lần&lt;/a&gt;. Kém ổn định hơn PHP và chẳng đem lại điều gì magic hơn.

Samir Shah, CEO của công ty kiểm định phần mềm Zephyr cũng đưa ra nhận xét rằng: “Một điểm yếu khác của Java so với các đối thủ là khả năng phát triển ứng dụng di động. Việc phát triển giao diện người dùng và quản lý bộ nhớ của Java không thật sự tốt như các lập trình viên mong đợi.” Điều đó giải thích tại sao các phiên bản Java viết cho thiết bị di động đang ngày một biến mất dần, và Google cũng đang phát triển một nền tảng cho điện thoại di động cho riêng mình.
Samir Shah thì thực sự không biết mình đang nói gì luôn. :D &lt;a class="outlink" href="http://code.google.com/android/" rel="nofollow"&gt;Android&lt;/a&gt; của Google chính là Java. Chỉ có điều sau &lt;a class="outlink" href="http://code.google.com/android/" rel="nofollow"&gt;Android&lt;/a&gt; của Google cố gắng thoát ra khỏi tầm ảnh hưởng của đặc tả Java ME. &lt;a class="outlink" href="http://code.google.com/android/what-is-android.html" rel="nofollow"&gt;Google cố gắng định nghĩa một máy ảo Java khác có tên là  Dalvik, sử dụng Linux và OpenGL, trình duyệt Webkit&lt;/a&gt;.

Phạm vi của Android lớn hơn Java ME vốn chỉ chú tâm định nghĩa đặc tả. Android cố gắng định nghĩa cả một hệ thống hoàn chỉnh bao gồm từ hệ điều hành cho đến đặc tả công nghệ. Ngôn ngữ thì vẫn là Java.

Tớ thì không nghĩ là nền tảng .NET đang có lợi thế. Marketing tốt không có nghĩa là market share tốt. Không một công ty nào muốn lock-in vào một vendor hay dùng các sản phẩm phi chuẩn hóa. MS phải tham gia vào việc chuẩn hóa nhiều hơn nữa thay vì cứ nắm giữ các chuẩn và các bản implementation độc quyền. Nhiều sản phẩm của MS có chất lượng như người ta đâu. Chiều hôm nay, ngồi viết cái đặc tả JMS cho khách hàng có kể với các đồng nghiệp câu chuyện rằng, một user của ActiveMQ sau khi kêu cả ActiveMQ bản C++ đột nhiên chạy khá chậm với 200msg/s trong khi bản Java vẫn có khả năng xử lý 7000msg/s, dĩ nhiên là non-durable, nhưng vẫn chạy ngon hơn MSMQ. MSMQ của MS sau thậm chí có không địch được với ActiveMQ chứ không nói gì đến Tibco hay IBM's MQ Series. Các công ty lớn như BBC hay Boeing thì cho rằng nền tảng .NET thiếu tính nhất quán và không có sự ổn định cần thiết cho việc nâng cấp triển khai ở diện rộng cho nên khi triển khai .NET, họ phải tạo ra một framework mới cho nội bộ công ty hơn là dựa vào bản nâng cấp của MS.

Gần đây có theo dõi một số conference thì các CTO ở các ngân hàng cũng có nói đến tình hình sử dụng .NET: desktop application, thin client và LAN-based apps. Điểm mạnh của .NET là giao diện và tooling được phát huy ở đây. Hạn chế chính của các ứng dụng .NET là Windows only trong khi chu kì sống của Windows thì khá ngắn. Các ứng dụng cần xử lý các khối lượng tính toán lớn thì C/C++ hay Ocaml. Các ứng dụng tính toán không lớn nhưng độ latency phải cực thấp: ví dụ 10,000 - 50,000 transaction/s thì C/C++, Java và clustering JVM (Terecora).

Các ứng dụng Java có đặc biệt là độ phức tạp cao và quy trình viết code cũng hết sức chặt chẽ nên nó được ưu tiên cho các dự án mà tiền không thành vấn đề, cái chính là portable và phải có độ tin cậy cao khi áp dụng cho các nghiệp vụ mission-critical. Cái chữ mission critical này mãi đến khi làm cho cái công ty tài chính của Mĩ hiện tại tớ mới hiểu được nó có nghĩa thực sự là gì? Trước cứ đọc cho vui thôi :D</description>
		<content:encoded><![CDATA[<p>Ronen nói Ruby cung cấp những nền tảng kiến trúc đã được xây dựng sẵn như việc mua bán trực tuyến trên một website thương mại điện tử, do đó bạn không cần phải mất công để viết lại từ đầu như khi dùng Java.<br />
Ronen nói dối và dĩ nhiên là  Ronen biết mình nói gì <img src='http://www.narga.net/wordpress/smilies/yahoo_bigsmile.gif' alt='&#58;&#68;' class='wp-smiley' width='18' height='18' title='&#58;&#68;' /> Ronen hẳn nhiên đã biết Struts, JBoss Seam, Stripes, Wicket. Ruby on Rails về thực chất chỉ là một framework cho web nhỏ. Không có gì đáng ghê gớm ở đó cả. Ruby On Rails rất kém ổn định. Một ngày có thể phải <a class="outlink" href="http://www.sitepoint.com/blogs/2008/01/02/rakish-resolution-more-flame/" rel="nofollow">restart cả chục đến trăm lần</a>. Kém ổn định hơn PHP và chẳng đem lại điều gì magic hơn.</p>
<p>Samir Shah, CEO của công ty kiểm định phần mềm Zephyr cũng đưa ra nhận xét rằng: “Một điểm yếu khác của Java so với các đối thủ là khả năng phát triển ứng dụng di động. Việc phát triển giao diện người dùng và quản lý bộ nhớ của Java không thật sự tốt như các lập trình viên mong đợi.” Điều đó giải thích tại sao các phiên bản Java viết cho thiết bị di động đang ngày một biến mất dần, và Google cũng đang phát triển một nền tảng cho điện thoại di động cho riêng mình.<br />
Samir Shah thì thực sự không biết mình đang nói gì luôn. <img src='http://www.narga.net/wordpress/smilies/yahoo_bigsmile.gif' alt='&#58;&#68;' class='wp-smiley' width='18' height='18' title='&#58;&#68;' /> <a class="outlink" href="http://code.google.com/android/" rel="nofollow">Android</a> của Google chính là Java. Chỉ có điều sau <a class="outlink" href="http://code.google.com/android/" rel="nofollow">Android</a> của Google cố gắng thoát ra khỏi tầm ảnh hưởng của đặc tả Java ME. <a class="outlink" href="http://code.google.com/android/what-is-android.html" rel="nofollow">Google cố gắng định nghĩa một máy ảo Java khác có tên là  Dalvik, sử dụng Linux và OpenGL, trình duyệt Webkit</a>.</p>
<p>Phạm vi của Android lớn hơn Java ME vốn chỉ chú tâm định nghĩa đặc tả. Android cố gắng định nghĩa cả một hệ thống hoàn chỉnh bao gồm từ hệ điều hành cho đến đặc tả công nghệ. Ngôn ngữ thì vẫn là Java.</p>
<p>Tớ thì không nghĩ là nền tảng .NET đang có lợi thế. Marketing tốt không có nghĩa là market share tốt. Không một công ty nào muốn lock-in vào một vendor hay dùng các sản phẩm phi chuẩn hóa. MS phải tham gia vào việc chuẩn hóa nhiều hơn nữa thay vì cứ nắm giữ các chuẩn và các bản implementation độc quyền. Nhiều sản phẩm của MS có chất lượng như người ta đâu. Chiều hôm nay, ngồi viết cái đặc tả JMS cho khách hàng có kể với các đồng nghiệp câu chuyện rằng, một user của ActiveMQ sau khi kêu cả ActiveMQ bản C++ đột nhiên chạy khá chậm với 200msg/s trong khi bản Java vẫn có khả năng xử lý 7000msg/s, dĩ nhiên là non-durable, nhưng vẫn chạy ngon hơn MSMQ. MSMQ của MS sau thậm chí có không địch được với ActiveMQ chứ không nói gì đến Tibco hay IBM&#8217;s MQ Series. Các công ty lớn như BBC hay Boeing thì cho rằng nền tảng .NET thiếu tính nhất quán và không có sự ổn định cần thiết cho việc nâng cấp triển khai ở diện rộng cho nên khi triển khai .NET, họ phải tạo ra một framework mới cho nội bộ công ty hơn là dựa vào bản nâng cấp của MS.</p>
<p>Gần đây có theo dõi một số conference thì các CTO ở các ngân hàng cũng có nói đến tình hình sử dụng .NET: desktop application, thin client và LAN-based apps. Điểm mạnh của .NET là giao diện và tooling được phát huy ở đây. Hạn chế chính của các ứng dụng .NET là Windows only trong khi chu kì sống của Windows thì khá ngắn. Các ứng dụng cần xử lý các khối lượng tính toán lớn thì C/C++ hay Ocaml. Các ứng dụng tính toán không lớn nhưng độ latency phải cực thấp: ví dụ 10,000 - 50,000 transaction/s thì C/C++, Java và clustering JVM (Terecora).</p>
<p>Các ứng dụng Java có đặc biệt là độ phức tạp cao và quy trình viết code cũng hết sức chặt chẽ nên nó được ưu tiên cho các dự án mà tiền không thành vấn đề, cái chính là portable và phải có độ tin cậy cao khi áp dụng cho các nghiệp vụ mission-critical. Cái chữ mission critical này mãi đến khi làm cho cái công ty tài chính của Mĩ hiện tại tớ mới hiểu được nó có nghĩa thực sự là gì? Trước cứ đọc cho vui thôi <img src='http://www.narga.net/wordpress/smilies/yahoo_bigsmile.gif' alt='&#58;&#68;' class='wp-smiley' width='18' height='18' title='&#58;&#68;' /></p>
]]></content:encoded>
	</item>
</channel>
</rss>
