<?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>Rochak Chauhan::Unpredictably Exciting &#187; Java</title>
	<atom:link href="http://rochakchauhan.com/blog/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://rochakchauhan.com/blog</link>
	<description>Know your limits, but never stop trying to exceed them.</description>
	<lastBuildDate>Thu, 03 May 2012 11:48:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>PHP vs JSP</title>
		<link>http://rochakchauhan.com/blog/2008/09/25/php-vs-jsp/</link>
		<comments>http://rochakchauhan.com/blog/2008/09/25/php-vs-jsp/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 14:17:48 +0000</pubDate>
		<dc:creator>rochakchauhan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[JSP]]></category>
		<category><![CDATA[PHP vs JSP]]></category>

		<guid isPermaLink="false">http://rochakchauhan.com/blog/?p=428</guid>
		<description><![CDATA[In my opinion, developing a Web based application in JSP (Java) is more or less like killing a housefly with a bazooka. Of course you will hit your target, no one is denying that, but you will also have collateral damage along with it. This damage ranges from Cost of hardware, hosting, servers and development. &#8230; <a class="read-excerpt" href="http://rochakchauhan.com/blog/2008/09/25/php-vs-jsp/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">In my opinion, developing a Web based application in JSP (Java) is more or less like killing a housefly with a bazooka. Of course you will hit your target, no one is denying that, but you will also have collateral damage along with it. This damage ranges from Cost of hardware, hosting, servers and development. Not to mention the time taken to develop, edit or modify the application.</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">But, that’s just me, I’ll let you to decide and let me know after going through these factors. </span></p>
<table class="MsoNormalTable" style="border-collapse: collapse;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="55" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><span style="font-size: 10pt; font-family: Tahoma;">SNO</span></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 108pt;" width="144" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><span style="font-size: 10pt; font-family: Tahoma;">Function / Feature</span></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 159.25pt;" width="212" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><span style="font-size: 10pt; font-family: Tahoma;">JSP</span></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 117.45pt;" width="157" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><span style="font-size: 10pt; font-family: Tahoma;">PHP</span></strong></p>
</td>
</tr>
<tr>
<td style="padding: 0cm 5.4pt; width: 41.4pt;" width="55" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">1.</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 108pt;" width="144" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Programming Approach</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 159.25pt;" width="212" valign="top">
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Tahoma;"><span>1.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Tahoma;">Completely Object Oriented</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;"> </span></p>
<p class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Tahoma;"><span> </span>Advantage:</span></strong><span style="font-size: 10pt; font-family: Tahoma;"> </span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Tahoma;">Clean code</span></p>
<p class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Tahoma;"> </span></strong></p>
<p class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Tahoma;"><span> </span>Disadvantage: </span></strong></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Tahoma;">Way too descriptive<strong></strong></span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 117.45pt;" width="157" valign="top">
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Tahoma;"><span>1.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Tahoma;">Mainly a Scripting Language</span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Tahoma;"><span>2.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Tahoma;">It can also be used in OOPS from   PHP 5 and above.</span></p>
<p class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Tahoma;"><span> </span>Advantage:</span></strong><span style="font-size: 10pt; font-family: Tahoma;"> </span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Tahoma;">Functional and quick coding, you can use OOP practices at your   convenience</span></p>
<p class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Tahoma;">Disadvantage:</span></strong><span style="font-size: 10pt; font-family: Tahoma;"> </span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Tahoma;">May get clumsy</span></p>
</td>
</tr>
<tr>
<td style="padding: 0cm 5.4pt; width: 41.4pt;" width="55" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">2.</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 108pt;" width="144" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">String and data manipulation</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 159.25pt;" width="212" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Rich library, too much   descriptive and object oriented code</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 117.45pt;" width="157" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Rich functionality. Functional   and easy coding.</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Has inbuilt support to use third   party libraries from other programming languages like Java, C and Dot.net</span></p>
</td>
</tr>
<tr>
<td style="padding: 0cm 5.4pt; width: 41.4pt;" width="55" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">3.</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 108pt;" width="144" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Web Oriented features</span></p>
<ol type="1">
<li class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Includes </span></li>
<li class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Mails </span></li>
<li class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">File Uploads </span></li>
<li class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Form Handling </span></li>
<li class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Sessions </span></li>
</ol>
</td>
<td style="padding: 0cm 5.4pt; width: 159.25pt;" width="212" valign="top">
<p class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Tahoma;">Advantage:</span></strong><span style="font-size: 10pt; font-family: Tahoma;"> </span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Tahoma;">Almost everything is built in or supported by libraries. </span></p>
<p class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Tahoma;">Disadvantage:</span></strong></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Tahoma;">Complicated and way too much of code.</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 117.45pt;" width="157" valign="top">
<p class="MsoNormal"><strong><span style="font-size: 10pt; font-family: Tahoma;">Advantages:</span></strong><span style="font-size: 10pt; font-family: Tahoma;"> </span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Tahoma;">Inbuilt functionality and easy to use functions, written for the   specific tasks</span></p>
<p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span style="font-size: 10pt; font-family: Symbol;"><span>·<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><!--[endif]--><span style="font-size: 10pt; font-family: Tahoma;">Reduces the lines of code and time taken to write an application.</span></p>
</td>
</tr>
<tr>
<td style="padding: 0cm 5.4pt; width: 41.4pt;" width="55" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">4.</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 108pt;" width="144" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Database Access features</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 159.25pt;" width="212" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Standard JDBC structure/ Use EJB/   Struts framework built over JDBC. Descriptive and too much overhead or boiler   plate code involved. Uses the same API for all databases using JDBC drivers</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 117.45pt;" width="157" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Dedicated inbuilt libraries for   most of the commonly used databases. Very tight integration with Oracle, MySQL   and PostGRE SQL. Very minimal boiler plate code required. The libraries and   results are straight forward, robust and easy to use.</span></p>
</td>
</tr>
<tr>
<td style="padding: 0cm 5.4pt; width: 41.4pt;" width="55" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">5. </span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 108pt;" width="144" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">XML/XSL/XPATH</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 159.25pt;" width="212" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Use standard SAX/DOM parsers. Too   much boiler plate code involved. Well defined APIs and stable implementations   are available for XSL and XPATH</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 117.45pt;" width="157" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">SAX and DOM parsers available are   easy to use and to the point. Another library, Simple XML provides very easy   OO approach to handling XML data. XSL and XPATH functionality is also built   in.</span></p>
</td>
</tr>
<tr>
<td style="padding: 0cm 5.4pt; width: 41.4pt;" width="55" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">6.</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 108pt;" width="144" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Extensibility</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 159.25pt;" width="212" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Java Classes and Libraries. <span class="grame">Run’s</span> in sandbox and hard JNI approach needed to integrate   with server programs.</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 117.45pt;" width="157" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">PHP/C/Any thing executable by the   underlying OS platform. Can very easily interact with programs on the server.   Very good support for native code.</span></p>
</td>
</tr>
<tr>
<td style="padding: 0cm 5.4pt; width: 41.4pt;" width="55" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">7.</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 108pt;" width="144" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Dynamic Graphics/PDF and bells   and whistles</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 159.25pt;" width="212" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Almost everything has a readymade   library</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 117.45pt;" width="157" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Supported internally or though   libraries.</span></p>
</td>
</tr>
<tr>
<td style="padding: 0cm 5.4pt; width: 41.4pt;" width="55" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">8.</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 108pt;" width="144" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Web Services/SOAP</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 159.25pt;" width="212" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Addon Libraries like Axis,   JAX-WS, etc.</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 117.45pt;" width="157" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">In Built</span></p>
</td>
</tr>
<tr>
<td style="padding: 0cm 5.4pt; width: 41.4pt;" width="55" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">9. </span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 108pt;" width="144" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Portals</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 159.25pt;" width="212" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Spec <strong><span style="font-family: Tahoma;">JSR-168 and 286</span></strong></span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 117.45pt;" width="157" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Many different Portal frameworks</span></p>
</td>
</tr>
<tr>
<td style="padding: 0cm 5.4pt; width: 41.4pt;" width="55" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">10.</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 108pt;" width="144" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Learning curve</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 159.25pt;" width="212" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">It helps if you have an decent   understanding of JAVA and its architecture. </span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 117.45pt;" width="157" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">If you know C/C++, then you are   halfway through to learn PHP.</span></p>
</td>
</tr>
<tr>
<td style="padding: 0cm 5.4pt; width: 41.4pt;" width="55" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">11.</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 108pt;" width="144" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Support</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 159.25pt;" width="212" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">It has support and backing of   Industry giants like Sun and IBM.</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 117.45pt;" width="157" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">It enjoys the backing of Oracle,   Sun, IBM, Microsoft and Zend.</span></p>
</td>
</tr>
<tr>
<td style="padding: 0cm 5.4pt; width: 41.4pt;" width="55" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">12.</span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 108pt;" width="144" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Hardware cost and requirement. </span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 159.25pt;" width="212" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Well this is one factor which   makes PHP a favourite. The cost of procuring a server is exponentially higher   than that of getting PHP server up and running.<span> </span></span></p>
</td>
<td style="padding: 0cm 5.4pt; width: 117.45pt;" width="157" valign="top">
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">Cost of hosting a small and   medium scale PHP application start from as low as $9 per month.<span> </span></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;">For a decent enterprise level   application server with an enterprise PHP framework, the cost would come out   to be around $50 per month.</span></p>
</td>
</tr>
</tbody>
</table>
<h1 style="text-align: center;" align="center"><strong><em>Sample Codes for comparison</em></strong></h1>
<p class="MsoNormal" style="text-align: center;" align="center"><strong><span style="font-size: 12pt; font-family: Tahoma;"> </span></strong></p>
<p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"><!--[if !supportLists]--><strong><sub><span style="font-size: 12pt; font-family: Tahoma;"><span>1.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span></sub></strong><!--[endif]--><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">Hello World</span></sub></strong></p>
<table class="MsoNormalTable" style=" width: 441.9pt; margin-left: 11.4pt; border-collapse: collapse;" cellspacing="0" cellpadding="0" width="589">
<tbody>
<tr style="height: 13.75pt;">
<td width="279" height="29" valign="top" style="padding: 0cm 5.4pt; width: 209.15pt; height: 13.75pt;">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">JSP</span></sub></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 232.75pt; height: 13.75pt;" width="310" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">PHP</span></sub></strong></p>
</td>
</tr>
<tr style="height: 103.3pt;">
<td style="padding: 0cm 5.4pt; width: 209.15pt; height: 103.3pt;" width="279" valign="top">
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;html&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;head&gt;<br />
<span> </span>&lt;title&gt;JSP &#8212;   Hello World!&lt;/title&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;/head&gt;<br />
&lt;body&gt;</span></sub>
</p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;%   out.println(&#8221; Hello World&#8221;); %&gt; !</span></sub></em></strong></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;/body&gt;<br />
&lt;/html&gt;</span></sub><strong><sub></sub></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 232.75pt; height: 103.3pt;" width="310" valign="top">
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;html&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;head&gt;<br />
<span> </span>&lt;title&gt;PHP &#8212;   Hello World!&lt;/title&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;/head&gt;<br />
&lt;body&gt;</span></sub>
</p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;?php echo   ”Hello World”; ?&gt;</span></sub></em></strong></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;/body&gt;<br />
&lt;/html&gt;</span></sub><strong><sub></sub></strong></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="text-align: center;" align="center"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;"> </span></sub></strong></p>
<p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"><!--[if !supportLists]--><strong><sub><span style="font-size: 12pt; font-family: Tahoma;"><span>2.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span></sub></strong><!--[endif]--><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">Print Date as DD/MM/YYYY</span></sub></strong></p>
<table class="MsoNormalTable" style="border: medium none; width: 441.9pt; margin-left: 11.4pt; border-collapse: collapse;" cellspacing="0" cellpadding="0" width="589">
<tbody>
<tr style="height: 13.75pt;">
<td style="padding: 0cm 5.4pt; width: 240pt; height: 13.75pt;" width="320" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">JSP</span></sub></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 201.9pt; height: 13.75pt;" width="269" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">PHP</span></sub></strong></p>
</td>
</tr>
<tr style="height: 103.3pt;">
<td style="padding: 0cm 5.4pt; width: 240pt; height: 103.3pt;" width="320" valign="top">
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;html&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;head&gt;<br />
<span> </span>&lt;title&gt;JSP – Print   date&lt;/title&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;/head&gt;<br />
&lt;body&gt;</span></sub>
</p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;%</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">java.util.Calendar   cal =java.util.Calendar.getInstance();</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">out.println(</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">new   SimpleDateFormat(“dd/MM/yyyy).format(cal.getTime()?)</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">); </span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">%&gt;</span></sub></em></strong><sub><span style="font-family: Tahoma;"><br />
&lt;/body&gt;<br />
&lt;/html&gt;</span></sub><strong><sub></sub></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 201.9pt; height: 103.3pt;" width="269" valign="top">
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;html&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;head&gt;<br />
<span> </span>&lt;title&gt;PHP – Print   Date&lt;/title&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;/head&gt;<br />
&lt;body&gt;</span></sub>
</p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;?php echo   date(“d/m/Y”); ?&gt;<span> </span></span></sub></em></strong></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;/body&gt;<br />
&lt;/html&gt;</span></sub><strong><sub></sub></strong></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="margin-left: 18pt;"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;"> </span></sub></strong></p>
<p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"><!--[if !supportLists]--><strong><sub><span style="font-size: 12pt; font-family: Tahoma;"><span>3.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span></sub></strong><!--[endif]--><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">Read / Write session variable </span></sub></strong></p>
<table class="MsoNormalTable" style="width: 441.9pt; margin-left: 11.4pt; border-collapse: collapse;" cellspacing="0" cellpadding="0" width="589">
<tbody>
<tr style="height: 13.75pt;">
<td style="padding: 0cm 5.4pt; width: 209.15pt; height: 13.75pt;" width="279" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">JSP</span></sub></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 232.75pt; height: 13.75pt;" width="310" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">PHP</span></sub></strong></p>
</td>
</tr>
<tr style="height: 103.3pt;">
<td style="padding: 0cm 5.4pt; width: 209.15pt; height: 103.3pt;" width="279" valign="top">
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;html&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;head&gt;<br />
<span> </span>&lt;title&gt;JSP – Session   Read/Write&lt;/title&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;/head&gt;<br />
&lt;body&gt;</span></sub>
</p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;%</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">//Get current   session or create a new session</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">HtppSession   session = request.getSession(true); </span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;"> </span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">//Add   information to the session</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">session.setAttribute(“name”,   “Pramati”);</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;"> </span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">//Print the   information</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">out.println(session.getAttribute(“name”);</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">%&gt;</span></sub></em></strong></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;/body&gt;<br />
&lt;/html&gt;</span></sub><strong><sub></sub></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 232.75pt; height: 103.3pt;" width="310" valign="top">
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;html&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;head&gt;<br />
<span> </span>&lt;title&gt;PHP – Session   Read/Write&lt;/title&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;/head&gt;<br />
&lt;body&gt;</span></sub>
</p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;?php</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">//Get current session   or create a new session</span></sub></em></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;">session_start(); </span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;"> </span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;">//Add information   to the session</span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;">$_SESSION['name']=   “Pramati”;</span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;"> </span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;">//Print the   information</span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;">echo   $_SESSION['name'];</span></sub></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">?&gt;</span></sub></em></strong></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;/body&gt;<br />
&lt;/html&gt;</span></sub><strong><sub></sub></strong></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="text-align: center;" align="center"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;"> </span></sub></strong></p>
<p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"><!--[if !supportLists]--><strong><sub><span style="font-size: 12pt; font-family: Tahoma;"><span>4.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span></sub></strong><!--[endif]--><strong><sub><span style="font-size: 12pt; font-family: Tahoma;"> </span></sub></strong></p>
<p class="MsoNormal" style="margin-left: 72pt; text-indent: -18pt;"><!--[if !supportLists]--><strong><sub><span style="font-size: 12pt; font-family: Tahoma;"><span>a.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span></sub></strong><!--[endif]--><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">File Uploading &#8211; Form</span></sub></strong></p>
<table class="MsoNormalTable" style=" width: 441.9pt; margin-left: 11.4pt; border-collapse: collapse;" cellspacing="0" cellpadding="0" width="589">
<tbody>
<tr style="height: 13.75pt;">
<td style=" padding: 0cm 5.4pt; width: 209.15pt; height: 13.75pt;" width="279" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">JSP</span></sub></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 232.75pt; height: 13.75pt;" width="310" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">PHP</span></sub></strong></p>
</td>
</tr>
<tr style="height: 103.3pt;">
<td style="padding: 0cm 5.4pt; width: 209.15pt; height: 103.3pt;" width="279" valign="top">
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;html&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;head&gt;<br />
<span> </span>&lt;title&gt;JSP – File   upload form&lt;/title&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;/head&gt;<br />
&lt;body&gt;</span></sub>
</p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;form<span> </span>action=&#8221;ProcessFileUpload.jsp&#8221; method=&#8221;post&#8221;   enctype=&#8221;multipart/form-data&#8221;&gt;</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;"><span> </span></span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">File   1:&lt;input type=&#8221;file&#8221; name=&#8221;file1&#8243;/&gt;</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;br/&gt;</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;input   type=&#8221;submit&#8221; name=&#8221;Submit&#8221; value=&#8221;Upload   File&#8221;/&gt;</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;/form&gt;</span></sub></em></strong></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;/body&gt;<br />
&lt;/html&gt;</span></sub>
</p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"> </span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">Please Note: No in-built support for file uploading   in JSP. You have to rely on external libraries. This example uses Apache&#8217;s   commons-upload lib.</span></sub></p>
<p class="MsoNormal"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;"> </span></sub></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 232.75pt; height: 103.3pt;" width="310" valign="top">
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;html&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;head&gt;<br />
<span> </span>&lt;title&gt;PHP – File   upload form&lt;/title&gt;</span></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"><span> </span>&lt;/head&gt;<br />
&lt;body&gt;</span></sub>
</p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;form<span> </span>action=&#8221;ProcessFileUpload.php&#8221; method=&#8221;post&#8221;   enctype=&#8221;multipart/form-data&#8221;&gt;</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;"><span> </span></span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">File   1:&lt;input type=&#8221;file&#8221; name=&#8221;file1&#8243;/&gt;</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;br/&gt;</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;input   type=&#8221;submit&#8221; name=&#8221;Submit&#8221; value=&#8221;Upload   File&#8221;/&gt;</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;/form&gt;</span></sub></em></strong></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">&lt;/body&gt;<br />
&lt;/html&gt;</span></sub><strong><sub></sub></strong></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;"> </span></p>
<p class="MsoNormal" style="margin-left: 18pt;"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">4.</span></sub></strong></p>
<p class="MsoNormal" style="margin-left: 72pt; text-indent: -18pt;"><!--[if !supportLists]--><strong><sub><span style="font-size: 12pt; font-family: Tahoma;"><span>b.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span></sub></strong><!--[endif]--><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">File Uploading – Backend Code</span></sub></strong></p>
<table class="MsoNormalTable" style="border: medium none; width: 441.9pt; margin-left: 11.4pt; border-collapse: collapse;" cellspacing="0" cellpadding="0" width="589">
<tbody>
<tr style="height: 13.75pt;">
<td style=" padding: 0cm 5.4pt; width: 210.15pt; height: 13.75pt;" width="280" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">JSP</span></sub></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 231.75pt; height: 13.75pt;" width="309" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">PHP</span></sub></strong></p>
</td>
</tr>
<tr style="height: 103.3pt;">
<td style="padding: 0cm 5.4pt; width: 210.15pt; height: 103.3pt;" width="280" valign="top">
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">Code for <strong><em>ProcessFileUpload.jsp</em></strong></span></sub></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;%</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">if(ServletFileUpload.isMultipartContent(request))</span></sub></em></strong><strong><sub><span style="font-family: Tahoma;">?</span></sub></strong><strong><em><sub></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">{</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">FileItemFactory   f = new DiskFileItemFactory();</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">ServletFileUpload   upload = new ServletFileUpload(f);</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">List items =   upload.parseRequest(request);</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">Iterator   itemsIter = items.getIterator();</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;"><span> </span>if(iter.hasNext())</span></sub></em></strong><strong><sub><span style="font-family: Tahoma;">?</span></sub></strong><strong><em><sub></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;"><span> </span>{</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;"><span> </span>File uploadedFile = new   File(item.getName()); </span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;"><span> </span>item.write(uploadedFile); </span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;"><span> </span><span> </span>}</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">}</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">%&gt;</span></sub></em></strong><sub></sub></p>
<p class="MsoNormal"><sub><span style="font-family: Tahoma;"> </span></sub></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;">Please Note: No in-built support for file uploading   in JSP. You have to rely on external libraries. This example uses Apache&#8217;s   commons-upload lib.</span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;"> </span></sub></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 231.75pt; height: 103.3pt;" width="309" valign="top">
<p class="MsoNormal"><sub><span style="font-family: Tahoma;">Code for <strong><em>ProcessFileUpload.php</em></strong> </span></sub></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;?php </span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">if   ($_FILES["file"]["error"] &gt; 0)</span></sub></em></strong><strong><sub><span style="font-family: Tahoma;">?</span></sub></strong><strong><em><sub><span style="font-family: Tahoma;"> </span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">{</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;"><span> </span>echo &#8220;Error: &#8221; .   $_FILES["file"]["error"];</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">}</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">else</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">{</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;"><span> </span>move_uploaded_file( </span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;"><span> </span>$_FILES["file"]["tmp_name"], </span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;"><span> </span>&#8220;upload/&#8221; .   $_FILES["file"]["name"]);</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">}</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">?&gt;</span></sub></em></strong><strong><sub></sub></strong></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;"> </span></p>
<p class="MsoNormal" style="text-align: center;" align="center"><strong><span style="font-size: 12pt; font-family: Tahoma;"> </span></strong></p>
<p class="MsoNormal" style="text-align: center;" align="center"><strong><span style="font-size: 12pt; font-family: Tahoma;"> </span></strong></p>
<p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"><!--[if !supportLists]--><strong><sub><span style="font-size: 12pt; font-family: Tahoma;"><span>5.<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span></sub></strong><!--[endif]--><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">Connect to the Database (MySql)</span></sub></strong></p>
<table class="MsoNormalTable" style="width: 441.9pt; margin-left: 11.4pt;" cellspacing="0" cellpadding="0" width="589">
<tbody>
<tr style="height: 13.75pt;">
<td style="padding: 0cm 5.4pt; width: 209.15pt; height: 13.75pt;" width="279" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">JSP</span></sub></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 232.75pt; height: 13.75pt;" width="310" valign="top">
<p class="MsoNormal" style="text-align: center;" align="center"><strong><sub><span style="font-size: 12pt; font-family: Tahoma;">PHP</span></sub></strong></p>
</td>
</tr>
<tr style="height: 103.3pt;">
<td style="padding: 0cm 5.4pt; width: 209.15pt; height: 103.3pt;" width="279" valign="top">
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;">&lt;%@ page import=&#8221;java.sql.*&#8221; %&gt;</span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;">&lt;% </span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;">Connetion conn = null;</span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;">java.sql.Connection conn= null;</span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;">Statement st = null;</span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;">ResultSet rs = null;</span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;"> </span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;">try {</span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;"><span> </span>Class.forName(&#8220;com.mysql.jdbc.Driver&#8221;).newInstance();</span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;"><span> </span>Class.forName(&#8220;org.gjt.mm.mysql.Driver&#8221;).newInstance();</span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;"><span> </span>conn   = DriverManager.getConnection(<span> </span>&#8220;jdbc:mysql://localhost/jsp?user=xxx&amp;password=xxx&#8221;);</span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;"><span> </span>st   = conn.createStatement();</span></sub></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;"><span> </span>//   connection made&#8230;.<br />
}</span></sub></strong><strong><sub></sub></strong></p>
</td>
<td style="padding: 0cm 5.4pt; width: 232.75pt; height: 103.3pt;" width="310" valign="top">
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">&lt;?php</span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">$dbserver=”locations”; </span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">$username=&#8221;username&#8221;;<br />
$password=&#8221;password&#8221;;<br />
$database=&#8221;your_database&#8221;;</span></sub></em></strong></p>
<p><strong><em><sub>mysql_connect($dbserver,$username,$password);<br />
@mysql_select_db($database) or die( &#8220;Unable to select database&#8221;);</sub></em></strong>
</p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;"> </span></sub></em></strong></p>
<p class="MsoNormal"><strong><em><sub><span style="font-family: Tahoma;">//connection </span></sub></em></strong><strong><em><sub><span style="font-family: Tahoma;">made…</span></sub></em></strong></p>
<p class="MsoNormal"><strong><sub><span style="font-family: Tahoma;">?&gt;</span></sub></strong><strong><sub></sub></strong></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Tahoma;"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://rochakchauhan.com/blog/2008/09/25/php-vs-jsp/feed/</wfw:commentRss>
		<slash:comments>510</slash:comments>
		</item>
		<item>
		<title>Sun’s Web Stack Offers Choice of Operating Systems</title>
		<link>http://rochakchauhan.com/blog/2008/07/24/sun%e2%80%99s-web-stack-offers-choice-of-operating-systems/</link>
		<comments>http://rochakchauhan.com/blog/2008/07/24/sun%e2%80%99s-web-stack-offers-choice-of-operating-systems/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 04:09:40 +0000</pubDate>
		<dc:creator>rochakchauhan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://rochakchauhan.com/blog/2008/07/24/sun%e2%80%99s-web-stack-offers-choice-of-operating-systems/</guid>
		<description><![CDATA[Sun showed off its Web Stack on Tuesday, as its name indicates, the stack includes technology used to run Web sites and Web applications. It is based on the AMP portion of the LAMP stack (Linux, Apache, MySQL, Perl/Python/PHP), but users will have a choice of operating systems: Sun’s Solaris, Linux, Windows or other operating &#8230; <a class="read-excerpt" href="http://rochakchauhan.com/blog/2008/07/24/sun%e2%80%99s-web-stack-offers-choice-of-operating-systems/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.infoworld.com/article/08/07/22/Sun-readies-Web-stack-featuring-choice-of-OSes_1.html">Sun showed off its Web Stack on Tuesday</a>, as its name indicates, the stack includes technology used to run Web sites and Web applications. It is based on the AMP portion of the LAMP stack (Linux, Apache, MySQL, Perl/Python/PHP), but users will have a choice of operating systems: Sun’s Solaris, Linux, Windows or other operating systems. The story says Sun will provide support for Solaris starting this quarter, for Linux starting next quarter, and for Windows and others starting later in the year.Let’s be honest — we knew this was coming as soon as Sun acquired MySQL, right? Except at that point, I thought it would be strictly a MAPS stack (MySQL, Apache, Perl/Python/PHP, Solaris). Maybe the Linux Foundation’s reaction to that idea wasn’t the only one that was adverse.</p>
<p>Whatever the motivation to offer multiple operating systems, it looks like Sun is focusing on working with rather than excluding other platforms, just like Canonical’s Mark Shuttleworth encouraged Linux developers to do when working on Linux desktop.</p>
]]></content:encoded>
			<wfw:commentRss>http://rochakchauhan.com/blog/2008/07/24/sun%e2%80%99s-web-stack-offers-choice-of-operating-systems/feed/</wfw:commentRss>
		<slash:comments>261</slash:comments>
		</item>
		<item>
		<title>Sun plans JavaFX for the desktop</title>
		<link>http://rochakchauhan.com/blog/2008/05/09/sun-plans-javafx-for-the-desktop/</link>
		<comments>http://rochakchauhan.com/blog/2008/05/09/sun-plans-javafx-for-the-desktop/#comments</comments>
		<pubDate>Fri, 09 May 2008 03:29:21 +0000</pubDate>
		<dc:creator>rochakchauhan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://rochakchauhan.com/blog/2008/05/09/sun-plans-javafx-for-the-desktop/</guid>
		<description><![CDATA[Sun Microsystems (NSDQ: JAVA) has a long ways to go before it steps up to compete with Adobe Systems (NSDQ: ADBE) Flash or AJAX or even Microsoft (NSDQ: MSFT) Silverlight in building Web 2.0 applications. But it clearly has that goal in mind as it works on producing a version of JavaFX for the desktop, &#8230; <a class="read-excerpt" href="http://rochakchauhan.com/blog/2008/05/09/sun-plans-javafx-for-the-desktop/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p><span id="articleBody">Sun Microsystems (NSDQ: <a href="http://www.techweb.com/financialCenter/index.jhtml?Account=techweb&amp;Page=QUOTE&amp;Ticker=JAVA" target="_blank" class="stockLink">JAVA</a>) has a long ways to go before it steps up to compete with Adobe Systems (NSDQ: <a href="http://www.techweb.com/financialCenter/index.jhtml?Account=techweb&amp;Page=QUOTE&amp;Ticker=ADBE" target="_blank" class="stockLink">ADBE</a>) Flash or AJAX or even Microsoft (NSDQ: <a href="http://www.techweb.com/financialCenter/index.jhtml?Account=techweb&amp;Page=QUOTE&amp;Ticker=MSFT" target="_blank" class="stockLink">MSFT</a>) Silverlight in building Web 2.0 applications. But it clearly has that goal in mind as it works on producing a version of JavaFX for the desktop, which it seeks to launch this fall.Sun&#8217;s Param Singh, senior director of Java marketing and veteran executive of Apple&#8217;s Multimedia Group, filled in some of the gaps in the information available on JavaFX in an interview Wednesday, the second day of Sun&#8217;s 13th annual user group, JavaOne, in San Francisco.</span></p>
<p>JavaFX first and foremost will be a scripting language like Adobe&#8217;s ActionScript, which allows programming to be run in the Flash Player. Likewise, JavaFX will serve the same function as JavaScript, used to power the interactive user applications in the browser window built with Ajax.</p>
<p>JavaFX also will have a timeline sequence engine, something like the one pioneered by Adobe&#8217;s Flash, that will allow animations and coordination of a multimedia sound and video roll out.</p>
<p>But even more important, perhaps, JavaFX is a bid by Sun to coordinate powerful back-end programming on a multiprocessor server with an engaging and rich presentation for the end user. All three &#8212; Sun, Adobe, and Microsoft &#8212; still have issues in pulling together the power of the Internet server and the presentation to the user. Think of the difference between bumping your way through Web pages versus the enveloping action of a computer game. Sun thinks it&#8217;s going to win the arms race to coordinate the two.</p>
<p>Sun expects to give developers the option of producing user interfaces for Web applications that run inside the browser window, or outside on the user&#8217;s normal computer desktop work space. It can do this because it will have a plug-in for the browser that updates the Java Virtual Machine, resident on many PCs. That JavaFX runtime exists in Java Standard Edition 6, update 10, and will gradually be added to existing Java Virtual Machines through an automated update process, Singh said.</p>
<p>At the same time, JavaFX applications will have the ability to migrate out of the browser window. The icon for a JavaFX application, once it&#8217;s been downloaded, can be moved onto the user&#8217;s desktop and run there through the usual drag-and-drop method. The application, unlike most that are streamed down to the browser, can be either run while connected to the Internet or stored and saved as a permanent addition, available to run when the user is disconnected. Online application suppliers have been struggling with that issue &#8212; what to do when the user is no long plugged into the Net.</p>
<p>But there&#8217;s still the issue of simplicity of application building. &#8220;Designers for end-user interfaces want to assemble content, not program it. We start from a strength among programmers, but we will produce incremental tools that allow designers to make the front end more enticing. We need to bring both of these communities together,&#8221; Singh said.</p>
<p>Exactly how that &#8220;bringing together&#8221; will proceed will await the first software development kit Sun can produce for FX this fall. Will it also be able to produce &#8220;assembly oriented&#8221; content tools, the way Adobe has?</p>
<p>In a demonstration Tuesday that needed to be restarted twice, Sun illustrated a mashup JavaFX application. A user&#8217;s collection of Facebook and Flickr pictures were loaded into the application, then a sophisticated flocking algorithm applied. If the user entered a person&#8217;s name, all the pictures with that person in them began to flock together out of a slowly moving mass on the screen. Pictures with similar colors could be enticed to flock together, etc. It was a combination of programming and presentation that many in the audience hadn&#8217;t seen before.</p>
<p>Whether they will see it on their own computers will depend on how fast Sun can deliver the goods and whether they will be able to perform as expected.</p>
<p>&#8220;We are focused on strengthening the designer/developer integration,&#8221; claimed Singh. The flocking demo illustrated Sun&#8217;s programming skills. The scripting code behind it had been compiled and could run fast enough in the Java Virtual Machine to keep everything in motion. Most scripting or &#8220;dynamic&#8221; languages wouldn&#8217;t have been equal to the feat; they must go through an interpreter, and interpreted code is slower than compiled code.</p>
<p>As Sun produces JavaFX for the desktop, it hopes to capitalize on its capabilities by following up with JavaFX for mobile devices in the spring of 2009. Java already has a strong presence in the cell phone and mobile device market.Nokia (NYSE:  <a href="http://www.techweb.com/financialCenter/index.jhtml?Account=techweb&amp;Page=QUOTE&amp;Ticker=NOK" target="_blank" class="stockLink">NOK</a>) representatives say more than half of all their phones &#8212; not just their smartphones but all their mobile device inventory &#8212; run Java now. If JavaFX gets a toehold on the desktop, Sun may outsprint the competition in offering capabilities for rich Internet applications on mobile devices.</p>
<p>If advertising, for example, could be inserted into an Internet server&#8217;s response to a user, based on what that user wanted to do with a running application, such coordination might yield competitive advantage. It already can be done in various clunky Internet applications, but that&#8217;s not the point. The point, said Singh, is &#8220;how seamlessly all the pieces can be overlaid with each other.&#8221;</p>
<p><span id="articleBody"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://rochakchauhan.com/blog/2008/05/09/sun-plans-javafx-for-the-desktop/feed/</wfw:commentRss>
		<slash:comments>319</slash:comments>
		</item>
		<item>
		<title>Zend PHP Framework is now powered by Google and Microsoft</title>
		<link>http://rochakchauhan.com/blog/2008/03/17/zend-php-framework-is-now-powered-by-google-and-microsoft/</link>
		<comments>http://rochakchauhan.com/blog/2008/03/17/zend-php-framework-is-now-powered-by-google-and-microsoft/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 04:23:55 +0000</pubDate>
		<dc:creator>rochakchauhan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://rochakchauhan.com/blog/2008/03/17/zend-php-framework-is-now-powered-by-google-and-microsoft/</guid>
		<description><![CDATA[It&#8217;s no longer just a .NET or Java world when it comes to production-quality development frameworks &#8212; PHP is edging its way into developers&#8217; affections. Now, the technology&#8217;s backers are planning further efforts to expand on its successes. Zend, PHP&#8217;s lead commercial sponsor, plans Monday to release its eponymous Framework 1.5, the first major release &#8230; <a class="read-excerpt" href="http://rochakchauhan.com/blog/2008/03/17/zend-php-framework-is-now-powered-by-google-and-microsoft/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s no longer just a .NET or Java world when it comes to production-quality development frameworks &#8212; PHP is edging its way into developers&#8217; affections. Now, the technology&#8217;s backers are planning further efforts to expand on its successes.</p>
<p>Zend, PHP&#8217;s lead commercial sponsor, plans Monday to release its eponymous Framework 1.5, the first major release since <a href="http://www.internetnews.com/dev-news/article.php/3686581">1.0 debuted last year</a>.</p>
<p>The launch will build on the framework&#8217;s significant momentum to date. According to Zend, the framework has had over four million downloads.</p>
<p>Additionally, the Zend Framework has received votes of confidence in the form of contributions from and joint development with major vendors like Microsoft, IBM, Fox Interactive Media and Google.</p>
<p>Building on those relationships, a marquee feature in the 1.5 release will be full support for <a href="http://www.internetnews.com/webcontent/article.php/3733661/YouTube+APIs+Coming+to+a+Site+Near+You.htm">Google&#8217;s newly announced YouTube APIs</a>.</p>
<p>&#8220;Google has people that are actively contributing to Zend Framework,&#8221; Andi Gutmans, Zend&#8217;s CTO, told <em>InternetNews.com</em>. &#8220;As part of their rollout plans for the YouTube APIs, Zend Framework was a very important part because of the broad reach of the PHP community.&#8221;</p>
<p>&#8220;There was work going on behind the scenes before their announcement to make sure it all worked together,&#8221; Gutmans added.</p>
<p>The new release will also give a boost to Ajax support (<a href="http://inews.webopedia.com/SHARED/search_action.asp?Term=AJAX&amp;Template_Name=inews.webopedia.com">define</a>), with infrastructure improvements to handle Ajax requests as well as coding autocomplete, shortcut and form support features.</p>
<p>Gutmans said he expects the next version of Zend Framework will provide even better Ajax support with tighter integration for Ajax toolkits like Dojo.</p>
<p>The launch will build on burgeoning interest and support for the Zend Framework, which <a href="http://www.internetnews.com/dev-news/article.php/3557711">began in earnest in October 2005</a>. The framework&#8217;s <a href="http://www.internetnews.com/dev-news/article.php/3589886">first public development release</a> appeared in March 2006.</p>
<p>Since then, the effort has been attracting attention from many of the big names in software development.</p>
<p>Google, for instance, has been contributing to the project since at least December 2006, when it <a href="http://www.internetnews.com/dev-news/article.php/3650066">first included the GData module</a>. The module is used in most of Google&#8217;s APIs, including those for Google Calendar, Blogger Data, Google Base, Spreadsheets and Google Code Search.</p>
<p>Google archrival Microsoft has also lent a hand to the PHP effort so that the company&#8217;s InfoCard identity technology will work with the framework.</p>
<p>Most recently, Zend&#8217;s active partnership with Microsoft led to PHP being <a href="http://www.internetnews.com/dev-news/article.php/3731981/PHP+Cozy+With+Windows+Server+2008.htm">certified for use on Windows Server 2008</a>.</p>
<p>While Zend has teamed with the software giant for core PHP support in Windows, other potential areas of collaboration remain untapped, however. For example, the two are not currently working integrating Microsoft .NET into the framework.</p>
<p>Gutmans said that some customers have asked about such integration, but the two companies remain in a &#8220;discovery phase&#8221; for the moment.</p>
<p>With support from large players like Google and Microsoft, it&#8217;s not surprising that PHP&#8217;s backers have high hopes for the near future &#8212; including potentially taking share from Java and .NET.</p>
<p>&#8220;Obviously, PHP is growing and over time, we are displacing other languages,&#8221; Gutmans said.</p>
]]></content:encoded>
			<wfw:commentRss>http://rochakchauhan.com/blog/2008/03/17/zend-php-framework-is-now-powered-by-google-and-microsoft/feed/</wfw:commentRss>
		<slash:comments>272</slash:comments>
		</item>
		<item>
		<title>C# set to take Java&#8217;s crown as Java drops 50 percent</title>
		<link>http://rochakchauhan.com/blog/2008/03/11/c-set-to-take-javas-crown-as-java-drops-50-percent/</link>
		<comments>http://rochakchauhan.com/blog/2008/03/11/c-set-to-take-javas-crown-as-java-drops-50-percent/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 07:04:37 +0000</pubDate>
		<dc:creator>rochakchauhan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://rochakchauhan.com/blog/2008/03/11/c-set-to-take-javas-crown-as-java-drops-50-percent/</guid>
		<description><![CDATA[Using book sales as surrogate tea leaves, Mike Hendrickson of the O&#8217;Reilly Radar finds life bleak for pretty much every major programming language except C#, Javascript, and Ruby. Java? It has plunged by 50 percent since 2003. Sun Microsystems is hedging its bets on web scripting languages, recently adding Python experts to its fold. So &#8230; <a class="read-excerpt" href="http://rochakchauhan.com/blog/2008/03/11/c-set-to-take-javas-crown-as-java-drops-50-percent/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p class="postBody">Using book sales as surrogate tea leaves, <a href="http://radar.oreilly.com/archives/2008/03/state-of-the-computer-book-mar-22.html" class="external-link">Mike Hendrickson of the O&#8217;Reilly Radar finds life bleak</a> for pretty much every major programming language except C#, Javascript, and Ruby. Java? It has plunged by 50 percent since 2003.</p>
<p>Sun Microsystems is hedging its bets on web scripting languages, <a href="http://www.news.com/8301-10784_3-9884267-7.html" title="Sun hires Python pros in dynamic languages push -- Monday, Mar 3, 2008">recently adding Python experts to its fold</a>. So perhaps Sun will weather the storm. Regardless, even despite its five-year slide, Java still holds the biggest share of the book-buying market, as this chart shows:</p>
<p><!--pagebreak--></p>
<p class="cnet-image-div float-none" style="width: 350px"><span class="image-credit">(Credit: O&#8217;Reilly Media)</span></p>
<p>Are Java&#8217;s days numbered?  O&#8217;Reilly&#8217;s data seems to suggest this:</p>
<blockquote><p>Ruby was a small box last year and is now 8 largest language passing Perl and Python and is now knocking on the door for Visual Basic&#8217;s spot. Ruby has the second largest unit growth after C# and went from 4% overall market share to 5% and is 4k units off of displacing VB for #7 overall. C# was equally impressive with a 36,811 unit growth or 18.85% growth and went from 11% market share in 2006 to 13% market share in 2007. At the rate it is going, it should surpass Java as the number one language this year as it is only (9,526) units short and is on a positive 18.85% growth rate while Java continues its slide at a (14.16%) clip.</p></blockquote>
<p>What is the cause of Java&#8217;s decline?  I certainly see plenty of it within enterprises.  Still, it&#8217;s undeniable that <a href="http://developers.slashdot.org/article.pl?sid=06/12/17/0237234" class="external-link">the Web and its dynamic programming languages is upstaging Java</a>.  Arguably, too, Java has all the benefits <a href="http://weblogs.java.net/blog/robogeek/archive/2007/08/java_is_doomed.html" class="external-link">and downsides</a> to being a community product (though <a href="http://blogs.cnet.com/8301-13505_1-9879303-16.html" title="15 minutes with Jonathan Schwartz: Java and Linux -- Tuesday, Feb 26, 2008">not enough of one for some people&#8217;s tastes</a>).</p>
<p>Is there a <a href="http://www.javalobby.org/java/forums/t78276.html" class="external-link">future for standalone Java applications</a>?  Of course.  But is it a future that will drown in irrelevance in the wake of dynamic web languages?</p>
<p>What do you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://rochakchauhan.com/blog/2008/03/11/c-set-to-take-javas-crown-as-java-drops-50-percent/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Is PHP ready for enterprise?</title>
		<link>http://rochakchauhan.com/blog/2008/03/01/is-php-ready-for-enterprise/</link>
		<comments>http://rochakchauhan.com/blog/2008/03/01/is-php-ready-for-enterprise/#comments</comments>
		<pubDate>Sat, 01 Mar 2008 06:02:17 +0000</pubDate>
		<dc:creator>rochakchauhan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[enterprise?]]></category>

		<guid isPermaLink="false">http://rochakchauhan.com/blog/2008/03/01/is-php-ready-for-enterprise/</guid>
		<description><![CDATA[It&#8217;s been an interesting few months for Zend, the commercial company behind the open source programming language PHP. In the past few weeks, Zend has teamed up with Rackspace, a leading web hosting provider. It&#8217;s also signed an agreement with Ibuildings, an Anglo-Dutch software consultancy company, to provide training and support services in the UK. &#8230; <a class="read-excerpt" href="http://rochakchauhan.com/blog/2008/03/01/is-php-ready-for-enterprise/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p><span name="intelliTxt" id="intelliTXT">It&#8217;s been an interesting few months for <a href="http://www.zend.com/en/" target="_blank">Zend</a>, the commercial company behind the open source programming language PHP.</span></p>
<p>In the past few weeks, Zend has <a href="http://www.rackspace.co.uk/zend" target="_blank">teamed up with Rackspace</a>, a leading web hosting provider. It&#8217;s also signed an agreement with Ibuildings, an Anglo-Dutch software consultancy company, to provide training and support services in the UK. And last year, Zend partnered with Microsoft, despite the software giant offering a competing platform.</p>
<p>A closer look at these partnerships suggests the company &#8211; and <a href="http://www.php.net/" target="_blank">PHP</a> itself &#8211; may be ready for the big time.</p>
<p><strong>Overcoming its roots</strong></p>
<p>Partners such as Rackspace and Microsoft can help overcome one of the largest hurdles in moving into the enterprise arena: the record of PHP development and the strength of Java as the principle software language in enterprise consultancy &#8211; both of which stem back to the history of how PHP has evolved culturally within the software community.</p>
<p>With Java as the de facto academic choice, PHP has grown out of the &#8220;hobbyist&#8221; programmer, generally self-taught and with all of the issues that entails. Until only a few years ago, the concepts of best practice development, coding frameworks and even having a methodology were alien to the hackers of the PHP community, invariably spinning off from the Perl programmers of old.</p>
<p>While these developers were fine for creating the odd microsite, their lack of discipline and structure was akin to an unguided nuke on enterprise projects, while the maturity of the Java community was more like a tomahawk. And IT directors quite rightly didn&#8217;t want huge fiery ends to their projects by geniuses who had no interest in collaborating when they could enjoy all the benefits from the cool, precise child of Sun.</p>
<p>But now that <a href="http://framework.zend.com/" target="_blank">Zend Framework</a>, the open source scaffold for PHP development, has passed through a troublesome puberty (version one was released last year to some acclaim), and that more and more companies with web sites in PHP are adopting the procedures and practices of a &#8220;grown-up&#8221; language, does this mean that PHP is going to be seen as a realistic alternative to Java in the enterprise?</p>
<p><strong>Taking on Java</strong></p>
<p>With Zend&#8217;s star rising, is it enough to overcome the bias in large e-commerce firms? Zend have an uphill struggle on a cultural level: many blue-chip companies have a policy of only hiring developers with a 2:1 Computer Science degree, and the majority of UK universities are still teaching Java.</p>
<p>Even though both languages are object-oriented and have more then cursory similarities, does this mean that Java will continue to be the forerunner?</p>
<p>Vic Wyatt, business development manager for <a href="http://www.lmu.ac.uk/" target="_blank">Leeds Metropolitan University</a>, doesn&#8217;t think so. &#8220;We&#8217;ve recently signed with Zend to provide our students a worthwhile group of modules in PHP,&#8221; said Wyatt, speaking about the university&#8217;s PHP academy, which helps students learn the language as well as get commercial accreditation via the Zend Certified Engineer exam.</p>
<p>&#8220;Java is perceived, rightly or wrongly, as having had its day. We&#8217;re simply responding to the market, and the market is clearly picking up on PHP,&#8221; he said.</p>
<p>In addition, the university is working to place its students at companies using PHP. According to Wyatt, several large companies are involved, including network provider Orange. &#8220;We need to give our students opportunities that are real and meaningful,&#8221; Wyatt said.</p>
<p><span name="intelliTxt" id="intelliTXT"><strong>Rackspace turns to Zend</strong></span></p>
<p>With more partnerships, PHP-trained students will have more opportunities to take their skills to the enterprise market.</p>
<p>The Rackspace offering &#8211; the hosting firm is keen to stress that it isn&#8217;t a product &#8211; is a Red Hat environment running Zend Platform. This proprietary server technology provides a whole host of features for increasing performance, testing and debugging PHP applications &#8211; all key to making PHP friendlier for a business audience.</p>
<p>David Goulden, enterprise additions product manager for Zend, detailed the improvements the new partnership would offer for businesses. &#8220;When we initially worked together, it wasn&#8217;t synchronized,&#8221; he admitted. &#8220;We were working on a case-by-case basis [with Rackspace], with no official agreements in place. That&#8217;s all changed, and for the better of our customers.&#8221;</p>
<p>Doug Loewe, managing director for Rackspace in Europe, the Middle East and Asia, agreed. &#8220;We&#8217;ve been looking to expand our loose federation of partners, all of them fast-moving and able to stand shoulder to shoulder with us to provide our customers the support they want. Zend fit that criteria for us,&#8221; he said.</p>
<p>Zend are now training key Rackspace tech personnel in Zend Platform, and a clear vendor escalation path has been drawn up between the companies. &#8220;It&#8217;s a natural progression for us,&#8221; said Loewe. &#8220;There is a massive overlap between our customer bases.&#8221;</p>
<p>While Zend Platform is hardly new to the market, the acceptance of the architecture by Rackspace is an important step for Zend in moving into the enterprise market.</p>
<p><strong>A bit of Microsoft maturity</strong></p>
<p>There&#8217;s no stronger mark of a technology&#8217;s maturity than when Microsoft takes it seriously. Last year, Microsoft and Zend became partners to provide a better PHP offering on Windows 2003 Server &#8211; a much needed move to overcome the Unix bias of PHP&#8217;s functionality.</p>
<p>&#8220;We want to make it so as many developers can run on Windows as possible,&#8221; said Mark Quirk, Microsoft UK&#8217;s head of technology for development and platform. &#8220;So it made perfect sense.&#8221;</p>
<p>But does that mean Microsoft&#8217;s .Net and PHP can co-exist within the enterprise market? &#8220;I don&#8217;t think it changes the position of Zend in the enterprise,&#8221; said Quirk. &#8220;We&#8217;re not trying to make it work well in the enterprise or anything. ASP .Net works well in the enterprise.&#8221;</p>
<p>Despite the defence of Microsoft&#8217;s own programming framework, Quirk is far from belittling PHP&#8217;s inclusion on Windows Server. &#8220;Which platform would I recommend: .Net,&#8221; he said. &#8220;But as a platform provider, we want our platform to work for everyone.&#8221;</p>
<p>He said that making the platform better means more applications will be running on windows. &#8220;Having people run it on Windows will benefit us,&#8221; he said.</p>
<p><strong>The verdict</strong></p>
<p>This bodes well for the future of PHP in the enterprise, said Ivo Jansch, chief technology officer for the other recent Zend partner, Ibuildings. Jansch is currently writing a book for the well known <a href="http://www.phparch.com/" target="_blank">PHP|Architect</a> series, called Enterprise PHP Development &#8211; clearly a strong indicator of where he feels PHP will progress in the future.</p>
<p>Speaking before coming to the UK for the <a href="http://www.phpconference.co.uk/" target="_blank">PHPLondon&#8217;08</a> conference, he said: &#8220;We&#8217;re seeing more and more uptake in PHP for business applications. It&#8217;s being taken more seriously.&#8221;</p>
<p>Referring to a <a href="http://www.nexen.net/chiffres_cles/phpversion/17875-php_stats_evolution_for_november_2007.php" target="_blank">recent survey by Nexen</a> that puts PHP adoption on the Web at 33 per cent, Jansch compared the uptake of PHP in commercial applications to the rise of Linux. &#8220;We&#8217;re seeing the same pattern. There was a time when Linux was thought of as a hobby for enthusiasts only. Now look at the market. It&#8217;s the same for PHP too.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://rochakchauhan.com/blog/2008/03/01/is-php-ready-for-enterprise/feed/</wfw:commentRss>
		<slash:comments>373</slash:comments>
		</item>
		<item>
		<title>Microsoft launches student Java and LAMP challenge</title>
		<link>http://rochakchauhan.com/blog/2008/02/24/microsoft-launches-student-java-and-lamp-challenge/</link>
		<comments>http://rochakchauhan.com/blog/2008/02/24/microsoft-launches-student-java-and-lamp-challenge/#comments</comments>
		<pubDate>Sun, 24 Feb 2008 12:43:47 +0000</pubDate>
		<dc:creator>rochakchauhan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[LAMP challenge]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://rochakchauhan.com/blog/2008/02/24/microsoft-launches-student-java-and-lamp-challenge/</guid>
		<description><![CDATA[University computer science departments are rapidly becoming Microsoft-free zones, as Linux, Apache, MySQL and PHP (LAMP) combine with Java to become the de-facto standard environment for students of programming. Microsoft knows from history that this will be fatal in the long term, hence its decision to extend free availability of core development tools to students. &#8230; <a class="read-excerpt" href="http://rochakchauhan.com/blog/2008/02/24/microsoft-launches-student-java-and-lamp-challenge/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>University computer science departments are rapidly becoming Microsoft-free zones, as Linux, Apache, MySQL and PHP (LAMP) combine with Java to become the de-facto standard environment for students of programming.</p>
<p>Microsoft knows from history that this will be fatal in the long term, hence its decision to extend free availability of core development tools to students. Most of my generation of computer science students quite literally never touched any IBM kit, even though &#8211; back then &#8211; it had a bigger share of the IT market than today is enjoyed by Microsoft, Dell and Hewlett-Packard put together.</p>
<p id="MidArticleAd"><script type="text/javascript">     document.write(\'\x3Cscript src="http://ad.uk.doubleclick.net/adj/reg.developer.4159/information;\'+RegExCats+GetVCs()+\'chl=knowledge;pid=\'+RegId+\';\'+RegKW+\'maid=\'+maid+\';test=\'+test+\';pf=\'+RegPF+\';dcove=d;sz=336x280;tile=3;ord=\' + rand + \'?" type="text/javascript">\x3C\/script>\');</script><script src="http://ad.uk.doubleclick.net/adj/reg.developer.4159/information;chl=knowledge;pid=75194;maid=;test=;pf=0;dcove=d;sz=336x280;tile=3;ord=79874024071084?" type="text/javascript"></script><noscript></noscript></p>
<p>We did C and Unix, and as we spread like plague rats out into employers, infecting them with the new wave, we regarded IBM mainframes with amused contempt &#8211; even when IBM was paying me good money.</p>
<p>We changed the trend line through 90 degrees in a decade, to the extent that IBM is now a top Unix vendor that avoids talking about its legacy mainframes in polite company.</p>
<p>We knew that Fortran and Cobol were most of the game, but by changing the rules we outflanked the older generation. In a superb irony, the upgrade of choice for Cobol programmers was to learn Microsoft Visual Basic.</p>
<p>The same game theory is understood by modern computer science students. They want to balance learning commercially valuable tools, whilst avoiding dead-end maintenance jobs looking after 15-year-old Visual Basic applications &#8211; yes, Visual Basic really is that old.</p>
<p>Microsoft almost completely owns the paid-for development tools market, but students have always been wary of spending money on software, and so as a headhunter when I review student CVs for high-end banking jobs, I can see the Microsoft toolset is in a declining minority.</p>
<p>Although Visual Studio Express has been free for a while, its status as an intentionally cut-down tool made students reluctant to commit to it. Microsoft even went through a phase of getting legalistic with people who improved Visual Studio Express, for fear it hurt sales of the real product. They&#8217;ve wised up, and are giving students full Visual Studio 2008 Professional (with C++, C#, Visual Basic.Net and Visual Tools for Office) , SQL Server, and Expression Studio for those students who kid themselves they can make their work look pretty.</p>
<p>It&#8217;s going to be a tough fight. Java seems to have cornered the market in those universities where the students are deemed to be not smart enough to learn C++. C# in academia is pretty rare, and Visual Basic.NET almost unknown, so Microsoft will first get its claws in the smarter end of computer science departments who haven&#8217;t dumbed down to teaching operating system internals in Java. Yes, really, it happens, my firm knows who you are, and no, we don&#8217;t regard you as having a degree of any kind.</p>
<p>Part of the carrot is the ability to write stuff for the Xbox, and I suspect we will see that getting a serious push now, because this is not a battle Microsoft can afford to lose. It is already fighting up hill as, when I teach C++ to bankers, I regularly get comments like: &#8220;Why aren&#8217;t we doing GCC?&#8221;, because I force the poor dears to use Visual Studio. Why? They at least need to learn how to get C++ to talk to Excel.</p>
<p>That said, the second tier languages like IronPython, IronRuby and F#, may help Microsoft a lot on this front, since they are growing in importance, and interest, in the world of academia. Even though Microsoft seems to be half hearted about C++ these days, its compiler is respectably conformant with standards and fits nicely into a computer science curriculum.</p>
<p>An objective measure of how critical Microsoft sees this &#8211; aside from BillG <a href="http://channel8.msdn.com/Posts/2047/" target="_blank">saying</a> it&#8217;s great &#8211; is that unusually for Microsoft, the initiative is not a US-only thing. The fact the offer will be rolled out globally, tells us more than anything that Microsoft realizes that it needs to fight this properly.</p>
]]></content:encoded>
			<wfw:commentRss>http://rochakchauhan.com/blog/2008/02/24/microsoft-launches-student-java-and-lamp-challenge/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Sun fixes all bugs in Java 6</title>
		<link>http://rochakchauhan.com/blog/2008/01/25/sun-fixes-all-370-bugs-in-java-6/</link>
		<comments>http://rochakchauhan.com/blog/2008/01/25/sun-fixes-all-370-bugs-in-java-6/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 09:05:02 +0000</pubDate>
		<dc:creator>rochakchauhan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[bugs]]></category>

		<guid isPermaLink="false">http://rochakchauhan.com/blog/2008/01/25/sun-fixes-all-370-bugs-in-java-6/</guid>
		<description><![CDATA[Sun has pushed out a major update to its Java software package that features scores of bug fixes, including a number of security updates. Java 6 Update 4 includes a hefty 370 bug fixes (as explained here). Most of these are minor tweaks to improve performance or application glitches, but some are more notable as &#8230; <a class="read-excerpt" href="http://rochakchauhan.com/blog/2008/01/25/sun-fixes-all-370-bugs-in-java-6/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sun has pushed out a major update to its Java software package that features scores of bug fixes, including a number of security updates.</p>
<p>Java 6 Update 4 includes a hefty <strong>370</strong> bug fixes (as explained <a href="http://java.sun.com/javase/6/webnotes/ReleaseNotes.html#160_04" target="_blank">here</a>). Most of these are minor tweaks to improve performance or application glitches, but some are more notable as they address security flaws. The latest Java SE (Standard Edition) Runtime Environment 6 Update 4 package weighs in at 13.05MB, or 15MB for an offline installation, and is available <a href="https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jre-6u4-b-oth-JPR@CDS-CDS_Developer" target="_blank">here</a>.</p>
<p>With 5.0 Update 6 and later installed on the Windows platform, all applets are executed with the latest version of Java environment. So users who upgrade from more recent versions have no reason to delete older versions from their systems other than for general housekeeping reasons.</p>
]]></content:encoded>
			<wfw:commentRss>http://rochakchauhan.com/blog/2008/01/25/sun-fixes-all-370-bugs-in-java-6/feed/</wfw:commentRss>
		<slash:comments>390</slash:comments>
		</item>
		<item>
		<title>Academics slam Java</title>
		<link>http://rochakchauhan.com/blog/2008/01/17/academics-slam-java/</link>
		<comments>http://rochakchauhan.com/blog/2008/01/17/academics-slam-java/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 07:57:43 +0000</pubDate>
		<dc:creator>rochakchauhan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[Academics]]></category>

		<guid isPermaLink="false">http://rochakchauhan.com/blog/2008/01/17/academics-slam-java/</guid>
		<description><![CDATA[Learn a real language The choice of Java as a first programming language in computer science courses is undermining good programming practice, according to two leading academics. In a withering attack on those responsible for setting the curriculum for computer science courses, doctors Robert Dewar and Edmond Schonberg of New York University (and principals of &#8230; <a class="read-excerpt" href="http://rochakchauhan.com/blog/2008/01/17/academics-slam-java/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<h3 class="Standfirst">Learn a real language</h3>
<p id="Body">The choice of Java as a first programming language in computer science courses is undermining good programming practice, according to two leading academics.</p>
<p>In a withering <a href="http://www.stsc.hill.af.mil/CrossTalk/2008/01/0801DewarSchonberg.html">attack</a> on those responsible for setting the curriculum for computer science courses, doctors Robert Dewar and Edmond Schonberg of New York University (and principals of Ada language specialist <a href="http://www.adacore.com/home/">Adacore</a>) have said the lack of mathematical rigor and formal techniques is producing &#8220;replaceable professionals&#8221; more suited to the outsourcing industry than software development.</p>
<p id="MidArticleAd"><script type="text/javascript">     document.write(\'\x3Cscript src="http://ad.uk.doubleclick.net/adj/reg.developer.4159/code;\'+RegExCats+GetVCs()+\'chl=javaj2ee;pid=\'+RegId+\';\'+RegKW+\'maid=\'+maid+\';test=\'+test+\';pf=\'+RegPF+\';dcove=d;sz=336x280;tile=3;ord=\' + rand + \'?" type="text/javascript">\x3C\/script>\');</script><script src="http://ad.uk.doubleclick.net/adj/reg.developer.4159/code;chl=javaj2ee;pid=73752;maid=;test=;pf=0;dcove=d;sz=336x280;tile=3;ord=76135457848470?" type="text/javascript"></script><noscript></noscript></p>
<p>They singled out Java for specific criticism and note that its restricted use in the development of web applications stunts novice programmers&#8217; potential.</p>
<p>Referring to their experiences at New York University, the duo said: &#8220;Students found it hard to write programs that did not have a graphic interface, had no feeling for the relationship between the source program and what the hardware would actually do, and (most damaging) did not understand the semantics of pointers at all, which made the use of C in systems programming very challenging.&#8221;</p>
<p>While the good doctors acknowledge that &#8220;real programmers can write in any language&#8221;, they specifically laud the virtues of C, C++, Lisp and Ada.</p>
<p>All of which makes the criticism of Java somewhat odd. Java syntax is derived from C++ and both languages have their <a href="http://en.wikipedia.org/wiki/Comparison_of_Java_and_C%2B%2B">flaws and virtues</a>. Java &#8216;s close association with web applications probably influences the way the language is taught in universities &#8211; but this is not a flaw in the language rather in the way it is presented to students. It would be equally valid to criticize Lisp because it is closely associated with the fruitless pursuits of the artificial intelligentsia or Ada because it is used to build weapons systems.</p>
<p>Academics, though, do have something of a habit of descending from the ivory tower to vent on specific programming languages and their users. Renowned computer scientist Edsger Dijkstra <a href="http://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EWD498.html" target="_blank">described</a> those exposed to Basic as &#8220;mentally mutilated beyond hope of regeneration&#8221; while <a href="http://www.theregister.co.uk/2004/06/14/grand_challenge_compsci/" target="_blank">Tony Hoare</a> famously <a href="http://www.cs.ucsb.edu/~ravenben/papers/coreos/Hoa81.pdf">lambasted</a> Ada for its limitations in his Turing award speech in 1981</p>
]]></content:encoded>
			<wfw:commentRss>http://rochakchauhan.com/blog/2008/01/17/academics-slam-java/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>Now JVM for PHP :: Sun into scripting language interpretation</title>
		<link>http://rochakchauhan.com/blog/2008/01/09/now-jvm-for-php-sun-into-scripting-language-interpretation/</link>
		<comments>http://rochakchauhan.com/blog/2008/01/09/now-jvm-for-php-sun-into-scripting-language-interpretation/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 09:17:50 +0000</pubDate>
		<dc:creator>rochakchauhan</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://rochakchauhan.com/blog/2008/01/09/now-jvm-for-php-sun-into-scripting-language-interpretation/</guid>
		<description><![CDATA[The Java platform can be used to interpret more than just the Java language &#8212; it has expanded its coverage to include Ruby and Python, with PHP to follow shortly. We sat down with Matt Thompson, director of Sun Developer Network, and discussed Java&#8217;s move into scripting language interpretation in the first half of a &#8230; <a class="read-excerpt" href="http://rochakchauhan.com/blog/2008/01/09/now-jvm-for-php-sun-into-scripting-language-interpretation/">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
			<content:encoded><![CDATA[<p class="smdeck">The Java platform can be used to interpret more than just the Java language &#8212; it has expanded its coverage to include Ruby and Python, with PHP to follow shortly.</p>
<p>We sat down with Matt Thompson, director of Sun Developer Network, and discussed Java&#8217;s move into scripting language interpretation in the first half of a two part interview.</p>
<p><strong>Builder AU: What&#8217;s the strategy with the Java Virtual Machine and scripting languages?</strong></p>
<p>If you look at the evolution of software development today, it really is being driven by the faster time to prototype.</p>
<p>Completely fairly or unfairly, creating a full blown user interface with Swing is a lot of work. So developers are looking, for Web based applications particularly, at how do I create a user interface in as little time as possible.</p>
<p>They are likely not going to go and hire 10 designers and write a whole bunch of user input code &#8212; so that is at the forefront of driving the lightweight Web app quickly.</p>
<p>Remember that a lot of people think that Java is a previous generation language, it&#8217;s actually at its core a kind of scripting language. We have now added things like compilers and the ability to generate byte code on the fly. But fundamentally, if you think about it, it was to the world of C and C++, the ability to write code and generate code faster.</p>
<p>And we are moving to the point where we want to go even faster.</p>
<p>There are things that are still very hard to do in Java and other like platforms, but it&#8217;s just really easy to do with things like Ruby and PHP.</p>
<p>We are looking at that and going &#8220;you know, the key is that the Java platform was probably misnamed, we have a world-class runtime and a language with the same name&#8221; &#8212; the Java language and the Java platform. For years people have proven that the Java platform is useful to things other than just Java.</p>
<p>So the thinking here is: how do we enable developers to go faster? How do we enable them to tie into frameworks and runtimes that they already have? While also leveraging this rock-solid virtual machine that we&#8217;ve got?</p>
<p>The Ruby, PHP, JavaScript, AJAX, JavaFX support that you are seeing coming from Sun is really that strategy personified.</p>
<p><strong>Are you targeting 100 percent scripting language developers, or developers that are already using Java?</strong></p>
<p>I think that there are a number of ways that this technology will proliferate. The first way that we care about is providing capabilities to those Java developers today that have invested heavily into Java and the Java platform and are looking to now either accelerate in the Web space or provide really lightweight frontends to enable mash-ups etc.</p>
<p>There is this concept that is starting to emerge that Web frontends, Web applications, Web services are both consumable and potentially time bound in their lives. Meaning that in a perfect world, wouldn&#8217;t you want to create a customised interface for each one of your customers along the way, or every user of a particular application?</p>
<p>The reason we don&#8217;t do that today is that it takes a tremendous amount of effort to write a completely customisable, morphable interface in technologies like Java &#8212; however that&#8217;s because the cost to create that sort of interface is so high.</p>
<p>What happens in the case where you could pull together a user interface in minutes, and deploy it within seconds? Wouldn&#8217;t you then create the ability for users to customise their own user interfaces of your application?</p>
<p>Maybe even be willing to throw away a particular user interface after an hour, a minute or 10 minutes of use. Create it for an instance and then remove [it].</p>
<p>That&#8217;s a lot of the usage we are seeing around Facebook and technologies such as that. Where certain users will gain access to a friend&#8217;s population so they&#8217;ll want to interact in a certain way: IM, pictures, video, audio, whatever, and then just have all that go away. That&#8217;s the extent of their actions, they want it to go back to whatever interface they were using previously.</p>
<p>We have some technologies that we will be showing off in the spring, that kind of take it to its next logical step.</p>
<p>I would suggest that support of scripting languages while using the Java platform as the base, is strategic to what we want to do and pretty much what most developers want to do.</p>
<p><strong>Is the focus shifting from Java the language to Java the platform?</strong></p>
<p>I would actually say there are places where the Java language is critical. We are not going to do transaction processing in JavaFX or PHP, it&#8217;s just not going to happen. But you might create a user interfaces for a transaction based system using those technologies.</p>
<p><strong>Will developers be able to share objects between JRuby and Jython?</strong></p>
<p>The Jython one is an interesting question, one in which [we] haven&#8217;t quite got our minds completely wrapped around yet &#8212; lots of support from within the community to do something there and write more support for [it].</p>
<p>But in the JRuby case, let&#8217;s use JRuby and Java, the answer is absolutely.</p>
<p>Would you be able to do it using other J-like appendages to that runtime? We believe the answer should be yes, we still need to work out the details.</p>
<p>When you are working with the open source community, a lot of the time you have to show them why something is valuable to get them to adopt it. In the JRuby case, we&#8217;ve had huge success in being able to get that community to understand the value.</p>
<p><strong>Is there much work needed to get a strictly typed JVM to run dynamic languages?</strong></p>
<p>The power of open source is that by opening up how the Java Virtual Machine works, we enabled the folks in the Ruby community to go look at how the JVM executes and compare that to how native Ruby executes. That caused a lot of work to be done outside of Sun.</p>
<p>Are we adding capabilities within the Java Virtual Machine to support things like Ruby? An answer is that that work was already done, we actually did that going back almost two years when we announced that we were going to provide scripting support through the JCP and the JSR capability to enable support for all sorts of scripting languages.</p>
<p>So the work was already done and was really a matter of the open source community going &#8220;we can actually use that now&#8221;. The only work we are doing on the Java runtime right now to support these things, it&#8217;s almost orthogonal, the question [is] for Java to be a standard for client side applications. We needed to do something to the runtime to make the runtime even more ubiquitous and more accessible, and that included narrowing it down in size, making it [perform better] on start-up, things like that.</p>
<p>It&#8217;s really wasn&#8217;t about adding functionality for any individual scripting languages, per se, it&#8217;s more about getting the Java RE to be more responsive and more appropriate for places you would see client side usage required.</p>
<p><strong>In a perfect world, would the JVM run every interpreted language?</strong></p>
<p>If James Gosling ["father" of Java] was sitting here, I think his answer would be: &#8220;I don&#8217;t see why not&#8221;.</p>
<p>We certainly haven&#8217;t looked at that.</p>
<p>Fundamentally, what you want is an extremely high-powered, high-quality, high performance runtime environment for scripting capabilities &#8212; that&#8217;s what we have with the VM.</p>
<p>It has the capability of providing that type runtime support for lots of different scripting languages, and we are seeing more and more of that work come to fruition.</p>
<p><strong>Could we see LISP running on the JVM?</strong></p>
<p>There are a number of what people would term &#8220;older, research orientated&#8221; languages, and LISP certainly fits in that to a point. But it seems to be relegated to research at this point.</p>
<p>That they are like &#8220;if it is the language capability that we need, and the work is in supporting the runtime, can we [as Sun], with the open source community as well, do some of the work ourselves?&#8221;</p>
<p>I know of several universities that are working on supporting languages more arcane than LISP, specific language capabilities for older scripting languages to run on the Java runtime, just because it&#8217;s easier for them, they don&#8217;t have to maintain a runtime and a language.</p>
<p><strong>Why do you no longer see Microsoft as a competitor?</strong></p>
<p>I think there has been a sea-change among the company, it certainly helps when you get through the legal issues and start co-operating with a company of Microsoft&#8217;s size. Certainly we took the view that we have more in common than we do different.</p>
<p>If you were to look across Sun&#8217;s Top 1000 customers, you&#8217;d probably find almost everyone of them using Microsoft technologies as well. If you looked across Microsoft&#8217;s Top 1000 customers, a large percentage of them are using Sun technologies.</p>
<p>So this idea of being these polar opposites, who&#8217;s in the middle? The customer. And that was never the intention. Scott [McNealy] never meant to put the customer in the middle, he was just taking easy shots at the big company that exists in Redmond.</p>
<p>The other thing that I am constantly looking for is where developers are focused and mindshare. If you map out a developer community within a region or across the world, I can tell you what technologies are on the upswing and on the downswing.</p>
<p>So when we look at that we see that, we see the world as not suddenly switched to Windows based native desktop applications again.</p>
<p>So if that&#8217;s not where developers are focusing their attention, then where are they focusing their attention?</p>
<p>Why is Ruby interesting? Because it has gone from 50,000 to 250,000 developers in the space of a year. If you look the world population of developers it would be somewhere between 12 and 15 million, depending if you count students and people using older technology, 250,000 is a really small number but as a growth rate we talking about 10 percent of the market within 2-3 years. That&#8217;s high growth, it&#8217;s massive, it&#8217;s as high a growth as we saw in Java within its first year.</p>
<p>Do I expect Ruby to get as big as Java? No, but I do expect it to be significant.</p>
<p>So where is Microsoft with Ruby, Python, PHP? Strong support, but what we are seeing is that we have a whole class of VB developers that have gone from workgroup class applications to being told &#8220;I want your application on the Web now&#8221;.</p>
<p>Deploying VB to the Web for an external site, Microsoft has enabled but it is a pure Microsoft pool and it is bound to IE and it is using what I would assume to be less than public interfaces to do that work.</p>
<p>A number of these companies that are not completely Microsoft shops have said &#8220;OK, if we have to take this functionality that represented a workgroup application before and move it to the Web, for either our customers, our partners or just our remote offices to give access to [them]. How are we going to do that? Maybe we should consider using something else.&#8221;</p>
<p>What you are seeing is those companies that are technology locked to Microsoft are starting to use IronPython and some of these other things to do some of that capability. What we are seeing is Microsoft developers moving within their own sphere of technology, moving from VB to some of this newer technology. That&#8217;s great, in my opinion there&#8217;s also a chance for them to move off the Microsoft platform.</p>
<p>Do we see 20-year-old start-up people, may have dropped out of university, [and are] taking up a new technology, building the next great personal networking app focused on Microsoft technology? We see none of that. None.</p>
<p>We&#8217;ve got Twitter which is classic case. Were they ever bound, did they ever really consider a Microsoft stack from the perspective of what they were doing? No. So what did they take? For us it was great: Sun hardware, Solaris, and now Ruby and JRuby. That&#8217;s a Sun story &#8212; but it&#8217;s picking up Sun technology, picking up pieces of other people&#8217;s technology and a tremendous amount of open source technology and deploying services.</p>
<p>So from a mindshare perspective, in that space, Microsoft has a lot of room to grow. They&#8217;re a strong company, I think that they will figure out what the magic agent is and we&#8217;re all going to look at it and say &#8220;Wow, they made significant gains here&#8221;.</p>
<p>Google was the same, it wasn&#8217;t a focus on &#8220;what do we use from Microsoft to do this?&#8221;</p>
<p><strong>What is the justification for supporting PHP if you are interested in upward trends?</strong></p>
<p>PHP has certainly undergone a couple of transitions and relative all these other technologies it is certainly older than these other technologies.</p>
<p>PHP has kind of undergone a revolution, in that a generation of Web designers have grown up now with PHP as one of the core tools in their toolbox. From that perspective there is a huge number of developers that start from &#8220;I want to create a service for people&#8221;, whether it be going back to the Internet Bubble and any of those companies that failed, they started with &#8220;what service do I want? And how do I quickly get that out?&#8221;</p>
<p>I think what you are seeing is Ruby provides a framework with Rails that you do to some of the surrounding infrastructure very very well. For custom one of things, PHP is the best thing you can use &#8212; custom input stream, custom output streams, management and presentation of your Web site.</p>
<p>Whereas Ruby allows to build that entire Rails framework to build your Web site much more easily, but you have to accept that there are limitations in the Rails framework that allows you to do some things really well and some things get a lot harder.</p>
<p>I don&#8217;t think we are moving to a world again where &#8220;one size fits all&#8221;, and that&#8217;s really underlying our strategy. We&#8217;re going to place some big bets, and those big bets will go from what we support, stacks we produce, whether it is a LAMP stack on Solaris that is highly tuned for Apache to Blackfish containers that run technology extremely efficiently to tooling in NetBeans. Today we have a Ruby plug-in, an AJAX capability with JavaScript, we will soon see something around PHP there.</p>
<p>You see where Sun is going to place the bets, we&#8217;ve not going to cover the entire gamut of technology but we are placing our bets on which technology we think will be the winners, and those discussions are going on everyday.</p>
]]></content:encoded>
			<wfw:commentRss>http://rochakchauhan.com/blog/2008/01/09/now-jvm-for-php-sun-into-scripting-language-interpretation/feed/</wfw:commentRss>
		<slash:comments>364</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
