<?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>baseplane - technology platforms &#187; python</title>
	<atom:link href="http://baseplane.com/tag/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://baseplane.com</link>
	<description>Technology Platforms, Architecture and Kits for all your codes by Ryan Christensen</description>
	<lastBuildDate>Thu, 12 Nov 2009 05:10:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Python 3.0 Released</title>
		<link>http://baseplane.com/2008/12/04/python-30-released/</link>
		<comments>http://baseplane.com/2008/12/04/python-30-released/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 09:40:17 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[3]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[market]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[python 3000]]></category>

		<guid isPermaLink="false">http://baseplane.com/?p=59</guid>
		<description><![CDATA[Python 3000, the mythical creature for all future Python cleanup has been released.  It is breaking in many cases and will take time for all the great python libraries to be up to date but it is released.
Python 2.6 was released not too long ago as an update adding great stuff like simplejson within python.  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.python.org/download/releases/3.0/" target="_blank"><img class="alignright" style="border: 0pt none;" title="http://www.python.org/images/python-logo.gif" src="http://www.python.org/images/python-logo.gif" alt="" width="211" height="71" />Python 3000</a>, the <a href="http://jeremyhylton.blogspot.com/2008/12/python-3000.html" target="_blank">mythical creature for all future Python cleanup</a> has <a href="http://www.python.org/download/releases/3.0/" target="_blank">been released</a>.  It is breaking in many cases and will take time for all the great python libraries to be up to date but it is released.</p>
<p>Python 2.6 was released not too long ago as an update adding great stuff like simplejson within python.  But Python 3000 might be the release that draws lots of usage and programmers new and veteran.</p>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/12/04/python-30-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Baseplane Tool: Tenjin Templating Library (pyTenjin, jsTenjin, phpTenjin, rbTenjin, plTenjin)</title>
		<link>http://baseplane.com/2008/04/07/baseplane-tool-tenjin-templating-library-pytenjin-jstenjin-phptenjin-rbtenjin-pltenjin/</link>
		<comments>http://baseplane.com/2008/04/07/baseplane-tool-tenjin-templating-library-pytenjin-jstenjin-phptenjin-rbtenjin-pltenjin/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 17:17:09 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[generation]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[toolkits]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[jstenjin]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phptenjin]]></category>
		<category><![CDATA[pltenjin]]></category>
		<category><![CDATA[pytenjin]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rbtenjin]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[tenjin]]></category>

		<guid isPermaLink="false">http://baseplane.com/?p=48</guid>
		<description><![CDATA[Tenjin is a great templating library that gets not only cross platform but baseplane ability to make templating very similiar (and FAST) across many languages.    pyTenjin and phpTenjin is currently what I am using but there are executions for Ruby, Perl and Javascript.
Here is a list of the Tenjin Templating engines:

pyTenjin
phpTenjin
rbTenjin
jsTenjin
plTenjin


 Changes
 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.kuwata-lab.com/tenjin/" target="_blank">Tenjin is a great templating library </a>that gets not only cross platform but baseplane ability to make templating very similiar (and FAST) across many languages.    pyTenjin and phpTenjin is currently what I am using but there are executions for Ruby, Perl and Javascript.</p>
<p><strong>Here is a list of the Tenjin Templating engines:</strong></p>
<ul>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">pyTenjin</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">phpTenjin</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">rbTenjin</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">jsTenjin</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">plTenjin</a></li>
</ul>
<dl class="dl1">
<dt class="dt1"> Changes</dt>
<dd class="dd1"> (<a href="http://www.kuwata-lab.com/tenjin/pytenjin-CHANGES.txt">Python</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/rbtenjin-CHANGES.txt">Ruby</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/phptenjin-CHANGES.txt">PHP</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/pltenjin-CHANGES.txt">Perl</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/jstenjin-CHANGES.txt">JavaScript</a>) </dd>
<dt class="dt1"> User&#8217;s Guide</dt>
<dd class="dd1"> (<a href="http://www.kuwata-lab.com/tenjin/pytenjin-users-guide.html">Python</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/rbtenjin-users-guide.html">Ruby</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/phptenjin-users-guide.html">PHP</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/pltenjin-users-guide.html">Perl</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/jstenjin-users-guide.html">JavaScript</a>) </dd>
<dt class="dt1"> FAQ</dt>
<dd class="dd1"> (<a href="http://www.kuwata-lab.com/tenjin/pytenjin-faq.html">Python</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/rbtenjin-faq.html">Ruby</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/phptenjin-faq.html">PHP</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/pltenjin-faq.html">Perl</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/jstenjin-faq.html">JavaScript</a>) </dd>
<dt class="dt1"> Examples</dt>
<dd class="dd1"> (<a href="http://www.kuwata-lab.com/tenjin/pytenjin-examples.html">Python</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/rbtenjin-examples.html">Ruby</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/phptenjin-examples.html">PHP</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/pltenjin-examples.html">Perl</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/jstenjin-examples.html">JavaScript</a>) </dd>
<dt class="dt1"> Presentation</dt>
<dd class="dd1"> <a href="http://www.kuwata-lab.com/presen/LL2007LT.pdf">2007 LL Spirit LightningTalk</a> (full-version) (Japanese)</dd>
</dl>
<p><strong>Here is what the template markup looks like:</strong></p>
<p><strong>This</strong></p>
<pre class="program">&lt;table&gt;
&lt;tbody&gt;
<strong>&lt;?py i = 0 ?&gt;</strong>
<strong>&lt;?py for item in ['&lt;foo&gt;', 'bar&amp;bar', '"baz"']: ?&gt;</strong>
<strong>&lt;?py     i += 1 ?&gt;</strong>
&lt;tr&gt;
&lt;td&gt;<strong>#{item}</strong>&lt;/td&gt;
&lt;td&gt;<strong>${item}</strong>&lt;/td&gt;
&lt;/tr&gt;
<strong>&lt;?py #end ?&gt;</strong>
&lt;tbody&gt;

&lt;/table&gt;</pre>
<p><strong>Produces This</strong></p>
<pre class="terminal">&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;<strong>&lt;foo&gt;</strong>&lt;/td&gt;
&lt;td&gt;<strong>&amp;lt;foo&amp;gt;</strong>&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;<strong>bar&amp;bar</strong>&lt;/td&gt;
&lt;td&gt;<strong>bar&amp;amp;bar</strong>&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;<strong>"baz"</strong>&lt;/td&gt;
&lt;td&gt;<strong>&amp;quot;baz&amp;quot;</strong>&lt;/td&gt;
&lt;/tr&gt;
&lt;tbody&gt;
&lt;/table&gt;</pre>
<p><strong>Here are some speed results</strong></p>
<table class="table1" border="1" cellspacing="0" summary="MacOS X 10.4 Tiger, Intel CoreDuo 1.83GHz, Memory 2GB">
<caption class="caption1"> MacOS X 10.4 Tiger, Intel CoreDuo 1.83GHz, Memory 2GB </caption>
<tbody>
<tr class="tr1">
<th class="th1">Language</th>
<th class="th1">Template Engine</th>
<th class="th1">Test#1(sec)</th>
<th class="th1">Test#2(sec)</th>
</tr>
<tr class="tr1">
<td class="td1" rowspan="8">Python(2.5.1)</td>
<td class="td1"><strong>pyTenjin</strong> (0.6.1)</td>
<td class="td1" align="right"><strong>6.96</strong></td>
<td class="td1" align="right"><strong>5.61</strong></td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.cheetahtemplate.org/">Cheetah</a> (2.0)</td>
<td class="td1" align="right">20.36</td>
<td class="td1" align="right">19.82</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.djangoproject.com/documentation/templates/">Django</a> (0.9.5)</td>
<td class="td1" align="right">71.33</td>
<td class="td1" align="right">59.80</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.djangoproject.com/documentation/templates/">Myghty</a> (1.1)</td>
<td class="td1" align="right">107.88</td>
<td class="td1" align="right">19.30</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.kid-templating.org/">Kid</a> (0.9.6)</td>
<td class="td1" align="right">380.24</td>
<td class="td1" align="right">378.96</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://genshi.edgewall.org/">Genshi</a> (0.4.4)</td>
<td class="td1" align="right">560.30</td>
<td class="td1" align="right">271.69</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.makotemplates.org/">Mako</a> (0.1.9)</td>
<td class="td1" align="right">17.78</td>
<td class="td1" align="right">13.49</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://webpy.org/templetor">Templetor</a> (web.py 0.22)</td>
<td class="td1" align="right">428.19</td>
<td class="td1" align="right">61.53</td>
</tr>
<tr class="tr1">
<td class="td1" rowspan="3">Ruby(1.8.6)</td>
<td class="td1"><strong>rbTenjin</strong> (0.6.0)</td>
<td class="td1" align="right"><strong>7.34</strong></td>
<td class="td1" align="right"><strong>4.52</strong></td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://modruby.net/en/index.rbx/eruby/whatis.html">eruby</a> (1.0.5)</td>
<td class="td1" align="right">12.29</td>
<td class="td1" align="right">11.53</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/">ERB</a>(def_method) (Ruby1.8.6)</td>
<td class="td1" align="right">36.73</td>
<td class="td1" align="right">5.85</td>
</tr>
<tr class="tr1">
<td class="td1" rowspan="2">PHP(5.2.0)</td>
<td class="td1"><strong>phpTenjin</strong> (0.0.1)</td>
<td class="td1" align="right"><strong>5.39</strong></td>
<td class="td1" align="right"><strong>3.64</strong></td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://smarty.php.net/">Smarty</a> (2.6.18)</td>
<td class="td1" align="right">10.84</td>
<td class="td1" align="right">10.21</td>
</tr>
<tr class="tr1">
<td class="td1" rowspan="3">Perl(5.8.8)</td>
<td class="td1"><strong>plTenjin</strong> (0.0.1)</td>
<td class="td1" align="right"><strong>10.42</strong></td>
<td class="td1" align="right"><strong>5.72</strong></td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://template-toolkit.org/">Template-Toolkit</a>(XS) (2.18)</td>
<td class="td1" align="right">103.58</td>
<td class="td1" align="right">26.30</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://html-template.sourceforge.net/">HTML::Template</a> (2.9)</td>
<td class="td1" align="right">46.70</td>
<td class="td1" align="right">30.21</td>
</tr>
<tr class="tr1">
<td class="td1">JS(spidermonkey)</td>
<td class="td1"><strong>jsTenjin</strong> (0.0.1)</td>
<td class="td1" align="right"><strong>19.00</strong></td>
<td class="td1" align="right"><strong>12.98</strong></td>
</tr>
<tr class="tr1">
<td class="td1">JS(Rhino, JDK5)</td>
<td class="td1"><strong>jsTenjin</strong> (0.0.1)</td>
<td class="td1" align="right"><strong>24.29</strong></td>
<td class="td1" align="right"><strong>19.15</strong></td>
</tr>
<tr class="tr1">
<td class="td1" rowspan="2">Java(JDK5)</td>
<td class="td1"><a href="http://velocity.apache.org/">Velocity</a> (1.4)</td>
<td class="td1" align="right">22.80</td>
<td class="td1" align="right">11.41</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://velocity.apache.org/">Velocity</a> (1.5)</td>
<td class="td1" align="right">20.01</td>
<td class="td1" align="right">8.42</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/04/07/baseplane-tool-tenjin-templating-library-pytenjin-jstenjin-phptenjin-rbtenjin-pltenjin/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Baseplane Tool: Is PureMVC the Cross Platform MVC Toolkit You Have Been Looking For?</title>
		<link>http://baseplane.com/2008/03/29/is-puremvc-the-cross-platform-baseplane-mvc-toolkit-you-have-been-looking-for/</link>
		<comments>http://baseplane.com/2008/03/29/is-puremvc-the-cross-platform-baseplane-mvc-toolkit-you-have-been-looking-for/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 04:13:03 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[toolkits]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[puremvc]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false">http://baseplane.com/2008/03/29/is-puremvc-the-cross-platform-baseplane-mvc-toolkit-you-have-been-looking-for/</guid>
		<description><![CDATA[PureMVC is quite a versatile MVC kit.  With implementations for AS3, .NET (c#), Python, PHP, Silverlight and other platforms it is quite a system and domain to spread that far and have consistency.  There are small changes but for the most post the MVC is the same structure across the platforms.  This can be very [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://puremvc.org/" target="_blank">PureMVC</a> is quite a versatile MVC kit.</strong>  With implementations for AS3, .NET (c#), Python, PHP, Silverlight and other platforms it is quite a system and domain to spread that far and have consistency.  There are small changes but for the most post the MVC is the same structure across the platforms.  This can be very beneficial for a service firm or for a product base that needs to support many different platforms.</p>
<blockquote><p>PureMVC is a lightweight framework  for creating applications based<br />
upon the classic Model-View-Controller design meta-pattern.<br />
This free, open-source framework is implemented in ActionScript 2 and<br />
3, Java, C# and a number of other popular programming languages.<br />
This allows development on a wide variety of platforms including:</p>
<ul>
<li>Mobile Environments: FlashLite, .NET Compact Framework, J2ME</li>
<li>Server Environments: ColdFusion, J2EE, PHP, Python</li>
<li>Browser Environments: Flash/Flex, JavaFX, Silverlight</li>
<li>Desktop Environments: .NET, AIR, FLASH, J2SE</li>
</ul>
</blockquote>
<p><strong>For Flex </strong><strong><a href="http://puremvc.org/" target="_blank">PureMVC</a></strong><strong> happens to be my favorite MVC kit. </strong> I only use one if absolutely necessary but <strong><a href="http://puremvc.org/" target="_blank">PureMVC</a></strong> keeps it clean.  <strong>The great thing is that is works with or without Flex unlike <a href="http://labs.adobe.com/wiki/index.php/Cairngorm" target="_blank">Cairngorm</a> and it is always up to date. </strong> <strong>It is just an added bonus that is spans so many other platforms. </strong>There are a few things I don&#8217;t like about it in other platforms like the url naming but it is much better than kits out there now and <a href="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx" target="_blank">Microsoft&#8217;s ASP.NET MVC</a> most likely wont&#8217; be cross platform *wink*.</p>
<h4><strong>Some info on the PureMVC framework (caution PDF):</strong></h4>
<ul>
<li><a href="http://puremvc.org/component/option,com_wrapper/Itemid,31/" class="mainlevel">Goals &amp; Benefits</a></li>
<li><a href="http://puremvc.org/component/option,com_wrapper/Itemid,34/" class="mainlevel" id="active_menu">Conceptual Diagram</a></li>
<li><a href="http://puremvc.org/component/option,com_wrapper/Itemid,35/" class="mainlevel">Framework Overview</a></li>
<li><a href="http://puremvc.org/component/option,com_wrapper/Itemid,30/" class="mainlevel">Best Practices</a></li>
</ul>
<h4><a href="http://trac.puremvc.org/PureMVC">PureMVC Manifold</a></h4>
<ul>
<li></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/Documentation">Documentation</a></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/ProjectOwners">Project Owners</a></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/Repositories">Repositories</a></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/Contribute">Get Involved!</a></li>
</ul>
<h4>Ports</h4>
<ul>
<li><a href="http://trac.puremvc.org/PureMVC_AS2/">ActionScript 2 </a></li>
<li><a href="http://trac.puremvc.org/PureMVC_AS3/">ActionScript 3 </a></li>
<li><a href="http://trac.puremvc.org/PureMVC_CSharp/">C#</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_CF/">ColdFusion</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_Java/">Java</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_Perl/">Perl</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_PHP/">PHP</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_Python/">Python</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_Ruby/">Ruby</a></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/Contribute">Propose a Port</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/03/29/is-puremvc-the-cross-platform-baseplane-mvc-toolkit-you-have-been-looking-for/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Is Python Becoming A Market Baseplane Language?</title>
		<link>http://baseplane.com/2008/03/13/is-python-becoming-a-market-baseplane-language/</link>
		<comments>http://baseplane.com/2008/03/13/is-python-becoming-a-market-baseplane-language/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 10:03:18 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://baseplane.com/2008/03/13/is-python-becoming-a-market-baseplane-language/</guid>
		<description><![CDATA[Sun has been on a rampage lately.  They recently purchased MySQL (which has some questions with InnoDB) but they also are supporting Python and integrating it into the VM offerings with Jython.
So now we have Google (They employ Guido), Microsoft (IronPython) and Sun (Jython) all turning into Python-istas. Does this mean Python is destined [...]]]></description>
			<content:encoded><![CDATA[<p>Sun has been on a rampage lately.  They recently purchased MySQL (which has some questions with InnoDB) but <a href="http://www.tbray.org/ongoing/When/200x/2008/03/03/Python-at-Sun" target="_blank">they also are supporting Python</a> and integrating it into the VM offerings with Jython.</p>
<p>So now we have Google (They employ <a href="http://www.python.org/~guido/" target="_blank">Guido</a>), Microsoft (<a href="http://www.codeplex.com/IronPython" target="_blank">IronPython</a>) and Sun (<a href="http://www.jython.org/Project/index.html" target="_blank">Jython</a>) all turning into Python-istas. <strong>Does this mean Python is destined for greatness in the near future?</strong>  Well I recommend learning it.  It is a great language and it has a high productivity rate.  Time will tell if it has the ability to be in extremely large code bases.  I think it is just a matter of the architecture and organization as with any project.</p>
<p>Jonathan Schwartz at Sun mentioned also taking the &#8220;J&#8221; out of &#8220;JVM&#8221; to just make a VM much like a .NET framework.  So Microsoft copied Java with C# the JVM and added multiple languages.  Then Sun comes back and added multiple byte code compiled languages.  And   then they both focus on dynamic engines to implement versions of Python, Microsoft doing this within their DLR.</p>
<p>Many times the larger market languages that end up running business or &#8220;enterprisey&#8221; are heavily influenced by companies, in addition to the other demands from consumers, which here is programmers.  <strong>So when the big three are all banking on Python as a draw there is a definite market draw there and a tell on the future.</strong>  But I think it is apparent that Python is becoming a standard market baseplane language.</p>
<p>It is great to be able to use other libraries from .net with IronPython and java libraries with Jython.  It has found a way to integrate with the current infrastructure and the language has low bar entry but deep benefits. Python is snaking its way into the market.</p>
<p><strong>Python is so non verbose&#8230;</strong><br />
<code></code></p>
<pre>
import sys
import clr
from System.IO import Path, Directory, FileInfodir = Path.Combine(sys.prefix, 'DLLs')

if Directory.Exists(dir):
    sys.path.append(dir)
    files = Directory.GetFiles(dir)
    for file in files:
        if file.lower().endswith('.dll'):
            try:
                clr.AddReference(FileInfo(file).Name)
            except:
                pass</pre>
<p>This sample is from IronPython showing adding dynamic references to all dlls loaded.</p>
<p><strong>Check out this HTML/XHTML parser in pure Python.</strong><br />
<code><br />
from HTMLParser import HTMLParserclass MyHTMLParser(HTMLParser):<br />
def handle_starttag(self, tag, attrs):<br />
print "Encountered the beginning of a %s tag" % tag<br />
def handle_endtag(self, tag):<br />
print "Encountered the end of a %s tag" % tag<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/03/13/is-python-becoming-a-market-baseplane-language/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
