<?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>Software Development At Heart &#187; Literate Programming</title>
	<atom:link href="http://ruicurado.com/category/literate-programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://ruicurado.com</link>
	<description>Passionate About Software Development</description>
	<lastBuildDate>Mon, 02 Jan 2012 12:39:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Literate Programming: What is it?</title>
		<link>http://ruicurado.com/2008/11/04/literate-programming-what-is-it/</link>
		<comments>http://ruicurado.com/2008/11/04/literate-programming-what-is-it/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 01:21:40 +0000</pubDate>
		<dc:creator>Rui Curado</dc:creator>
				<category><![CDATA[Literate Programming]]></category>

		<guid isPermaLink="false">http://ruicurado.com/?p=21</guid>
		<description><![CDATA[Literate Programming (LP) is a computer programming methodology based on the principle that a computer program should be written like a book, newspaper or report, with human readability as its primary goal. Donald Knuth coined the term Literate Programming and created the original LP tool/language, WEB, which he used to write TeX and MetaFont. While [...]]]></description>
			<content:encoded><![CDATA[<p>Literate Programming (LP) is a computer programming methodology based on the principle that a computer program should be written like a book, newspaper or report, with human readability as its primary goal. Donald Knuth coined the term Literate Programming and created the original LP tool/language, WEB, which he used to write TeX and MetaFont.</p>
<p>While I personally don&#8217;t agree with all Literate Programming&#8217;s principles, I do agree that extensively documenting an application leads to long term gains.</p>
<p>Is literate programming a good thing? I believe it is. I guess it depends on how you feel about programming. If you are up against a deadline for getting code finished and working, trying to make a literate program instead of a working program might seem foolish. However, in long-term projects (all that code you plan to maintain in the near future), Literate Programming actually does seem to pay off.</p>
<p>One of the best examples of Literate Programming support is a programmer&#8217;s outlining editor called Leo, available at <a title="http://leo.sourceforge.net" href="http://leo.sourceforge.net" target="_blank">http://leo.sourceforge.net</a>. With Leo you can organize your code in an intuitive manner, and at the same time organize and embed the description and specification of that very same code. Leo supports noweb  and CWEB markup. You should definitively try it if you want to write more than just code.</p>
<p>I&#8217;ve been applying LP&#8217;s dogma for a long time in my development efforts. I do not use the WEB-derived tools but I make sure all code, classes and methods are all well documented at coding time. That&#8217;s why my average comment line percentage in my projects goes around 40%. And it sure does pay off!</p>
<p>My microISV, Isomeris, is developing a Code Generator IDE that allows painless integration of Literate Programming in software projects. Stay tuned to find out more.</p>
]]></content:encoded>
			<wfw:commentRss>http://ruicurado.com/2008/11/04/literate-programming-what-is-it/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

