<?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>architecture &#8211; Accidents Happen</title>
	<atom:link href="https://ah.thameera.com/tag/architecture/feed/" rel="self" type="application/rss+xml" />
	<link>https://ah.thameera.com</link>
	<description>In the dark</description>
	<lastBuildDate>Mon, 25 Dec 2017 17:27:38 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
<site xmlns="com-wordpress:feed-additions:1">56521109</site>	<item>
		<title>Mercurial choosing Rust over Python</title>
		<link>https://ah.thameera.com/mercurial-choosing-rust-over-python/</link>
					<comments>https://ah.thameera.com/mercurial-choosing-rust-over-python/#respond</comments>
		
		<dc:creator><![CDATA[thameera]]></dc:creator>
		<pubDate>Mon, 25 Dec 2017 17:27:03 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[rust]]></category>
		<category><![CDATA[shell]]></category>
		<guid isPermaLink="false">https://ah.thameera.com/?p=703</guid>

					<description><![CDATA[According to this article in Mercurial wiki, its core is being re-written in Rust. Mercurial is one of the largest open-source Python projects in existence. This does not however mean everything will be rewritten in Rust. (Yes, this post&#8217;s heading&#8217;s not entirely accurate.) * hg is a Rust binary that embeds and uses a Python [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>According to <a href="https://www.mercurial-scm.org/wiki/OxidationPlan">this article in Mercurial wiki</a>, its core is being re-written in Rust. Mercurial is one of the largest open-source Python projects in existence. </p>
<p>This does not however mean everything will be rewritten in Rust. (Yes, this post&#8217;s heading&#8217;s not entirely accurate.)</p>
<blockquote><p>* <code>hg</code> is a Rust binary that embeds and uses a Python interpreter when appropriate (<code>hg</code> is a Python script today)</p>
<p>* Python code seemlessly calls out to functionality implemented in Rust</p></blockquote>
<p>The obvious reason for the decision is startup performance concerns, but the article also (interestingly) states:</p>
<blockquote><p>In addition to performance concerns, Python is also hindering us because it is a dynamic programming language. Mercurial is a large project by Python standards. Large projects are harder to maintain. Using a statically typed programming language that finds bugs at compile time will enable us to make wide-sweeping changes more fearlessly. This will improve Mercurial&#8217;s development velocity.</p></blockquote>
<p><a href="https://softwareengineering.stackexchange.com/questions/119306/how-was-git-designed">Git was also designed</a> with a core written in C and a host of shell scripts that call the core for additional functionality. For example, <code>rebase</code> is actually <a href="https://github.com/git/git/blob/master/git-rebase.sh">a shell script</a>.</p>
<p>However, usage of shell scripts has made porting Git to Windows a pain. See the Lessons Learned section in <a href="http://www.aosabook.org/en/git.html">this AOSA article</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ah.thameera.com/mercurial-choosing-rust-over-python/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">703</post-id>	</item>
	</channel>
</rss>
