<?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>MyArch &#187; Dynamic languages</title>
	<atom:link href="http://myarch.com/category/dynamic-languages/feed" rel="self" type="application/rss+xml" />
	<link>http://myarch.com</link>
	<description>Builds and bytes</description>
	<lastBuildDate>Mon, 30 Jan 2012 01:22:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WAS 7.0 is Still On Jython 2.1</title>
		<link>http://myarch.com/was-70-is-still-on-jython-21</link>
		<comments>http://myarch.com/was-70-is-still-on-jython-21#comments</comments>
		<pubDate>Mon, 19 Jan 2009 03:31:12 +0000</pubDate>
		<dc:creator>Alexander Ananiev</dc:creator>
				<category><![CDATA[Dynamic languages]]></category>
		<category><![CDATA[WebSphere]]></category>
		<category><![CDATA[WebSphere Application Server Administration]]></category>

		<guid isPermaLink="false">http://myarch.com/?p=137</guid>
		<description><![CDATA[	I&#8217;ve started playing with WebSphere Application Sever 7.0 (the latest and greatest) and to my surprise discovered that it still uses Jython/Python 2.1 as a scripting language for its wsadmin tool.

	Jython 2.2 has been around for quite a while and, from my experience, is very stable. So it&#8217;s odd that IBM choose not to upgrade [...]]]></description>
			<content:encoded><![CDATA[	<p>I&#8217;ve started playing with WebSphere Application Sever 7.0 (the latest and greatest) and to my surprise discovered that it still <a href="http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.soafep.multiplatform.doc/info/ae/ae/cxml_jython.html" title="">uses Jython/Python 2.1</a> as a scripting language for its wsadmin tool.</p>

	<p>Jython 2.2 has been around for quite a while and, from my experience, is very stable. So it&#8217;s odd that <span class="caps">IBM</span> choose not to upgrade it. The difference between 2.1 and 2.2 is quite significant, the biggest selling point of 2.2 is <a href="http://docs.python.org/reference/datamodel.html#newstyle" title="">new style classes</a> with a unified type model. Python 2.2 also supports properties. I don&#8217;t believe there is closures support in 2.1 either.</p>

	<p>Why is it important? Well, using Java for <span class="caps">WAS</span> administration is hard; the <span class="caps">API</span> is obscure and poorly documented. This makes Jython the only game in town (with <span class="caps">JACL</span> deprecated some time back). So being able to use a modern version of Jython is highly desirable.</p>

	<p>I&#8217;m still hoping that <span class="caps">IBM</span> might upgrade jython as part of one the minor upgrades; <span class="caps">WAS 8</span>.0 is probably a long time away.</p>

 ]]></content:encoded>
			<wfw:commentRss>http://myarch.com/was-70-is-still-on-jython-21/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secret Weapon of LAMP Applications</title>
		<link>http://myarch.com/secret-weapon-of-lamp-applications</link>
		<comments>http://myarch.com/secret-weapon-of-lamp-applications#comments</comments>
		<pubDate>Sat, 19 Jul 2008 02:36:35 +0000</pubDate>
		<dc:creator>Alexander Ananiev</dc:creator>
				<category><![CDATA[Dynamic languages]]></category>
		<category><![CDATA[IT operations]]></category>

		<guid isPermaLink="false">http://myarch.com/secret-weapon-of-lamp-applications</guid>
		<description><![CDATA[	I&#8217;m surprised by low traction of LAMP applications in an enterprise (I use the LAMP acronym loosely as a catch-all for PHP, Ruby and Python apps). For most large organizations Java EE still reigns supreme. While developers and analysts debate performance and &#8220;enterprisey&#8221; features (or the lack thereof) of the LAMP stack, there is one [...]]]></description>
			<content:encoded><![CDATA[	<p>I&#8217;m surprised by low traction of <span class="caps">LAMP</span> applications in an enterprise (I use the <span class="caps">LAMP</span> acronym loosely as a catch-all for <span class="caps">PHP</span>, Ruby and Python apps). For most large organizations Java EE still reigns supreme. While developers and analysts debate performance and &#8220;enterprisey&#8221; features (or the lack thereof) of the <span class="caps">LAMP</span> stack, there is one aspect that is often overlooked &#8211; <span class="caps">LAMP</span> infrastructure is much more simple than a typical Java EE application server, hence its operations and maintenance is greatly simplified. And of course operations and maintenance is a big chunk of IT budget of any organization; in many shops it is actually the biggest part of the budget (60% is the average according to Forrester).</p>

	<p>It usually goes like this. Data center operations are outsourced, and so data center personnel has  to provide the first line of defense for all production problems. Data center folks are not developers, so NullPointerException does not mean much to them. But they have to be able to figure out who to call when they see the NullPointerException.</p>

	<p><a href="/files/wps_error_example.txt">Here</a> is an example of an error message from  an application running under WebSphere Portal. This message is 318 lines long and is completely inscrutable to all but a hardcore WebSphere Portal developer or administrator. The most ironic part is that in spite of multiple &#8220;caused by&#8221; in the text, the message tells us nothing about the actual root cause of the problem, which, most likely, is a classloader conflict. As a sidebar, why can&#8217;t an app server at least give me a warning during deployment about a potential class loader problem (especially since all the app servers, even tomcat, add dozens of jars to the classpath)?</p>

On the other hand, here is an example of an error message I get from a python app implemented using <a href="http://www.djangoproject.com">django</a>:
<pre>
<code>
Validating models...
djtest.order: name 'test' is not defined
1 error found.
</code>
</pre>

	<p>So which error message do you think will be more palatable to an operations person looking at the logs?</p>

	<p>I know I&#8217;ve exaggerated a bit &#8211; my django app is  extremely simplistic at this point. However, it is true that many Java EE app servers and applications do extremely poor job at exception logging.</p>

	<p>Even more obvious benefit of <span class="caps">LAMP</span> is availability of the source code. In Java EE world, the common practice is not to include the source code into <span class="caps">WAR</span> and <span class="caps">JAR</span> files. In many instances, the code is compiled without debug information. Even if the source code and line numbers are available, finding the right file takes some digging since we have to deal with multitude of <span class="caps">JAR</span>, EAR and <span class="caps">WAR</span> files. Not to mention that the same class can reside in multiple jars.</p>

	<p>So if I was the person who had to respond to the &#8220;site is down&#8221; calls late at night, I&#8217;d vote for <span class="caps">PHP</span>.</p>

 ]]></content:encoded>
			<wfw:commentRss>http://myarch.com/secret-weapon-of-lamp-applications/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

