<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Sat, 25 May 2013 11:45:53 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Henri Berguis' Blog: Literate Programming With PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/15752</guid>
      <link>http://www.phpdeveloper.org/news/15752</link>
      <description><![CDATA[<p>
In a new post to his blog <i>Henri Berguis</i> takes a look at something that seems to be popping up more and more these days - <a href="http://bergie.iki.fi/blog/literate_programming_with_php/">literate programming</a>. He's created a simple tool that can help implement this in your development too called <a href="https://github.com/bergie/noweb.php">noweb</a> (modeled after the <a href="https://github.com/JonathanAquino/noweb.py">noweb python project</a>).
</p>
<blockquote>
The literate programming paradigm, as conceived by Knuth, represents a move away from writing programs in the manner and order imposed by the computer, and instead enables programmers to develop programs in the order demanded by the logic and flow of their thoughts. 
</blockquote>
<p>
Literate programming allows the developer to set up one file, one with more natural language, and have the tool split it up into two other files - one for execution and the other used as documentation. He steps you through how the <a href="https://github.com/bergie/noweb.php">noweb</a> tool works to pull in the file, parsing out the information via regular expressions (based on the <a href="http://en.wikipedia.org/wiki/Noweb#Noweb.27s_input">noweb-style</a>) and pushing the two versions of the file back out on the other side. The documentation is set up to end up as HTML and the code will be the literal code pulled from the noweb document itself.
</p>]]></description>
      <pubDate>Mon, 17 Jan 2011 12:13:04 -0600</pubDate>
    </item>
  </channel>
</rss>
