<?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>Sadek Drobi's Blog &#187; Lua</title>
	<atom:link href="http://sadekdrobi.com/category/lua/feed/" rel="self" type="application/rss+xml" />
	<link>http://sadekdrobi.com</link>
	<description>Sadek Drobi</description>
	<lastBuildDate>Wed, 06 Jan 2010 23:11:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>You&#8217;ve got 100 pages to convince me of your shiny language!</title>
		<link>http://sadekdrobi.com/2009/01/05/youve-got-100-pages-to-convince-me-in-your-shiny-language/</link>
		<comments>http://sadekdrobi.com/2009/01/05/youve-got-100-pages-to-convince-me-in-your-shiny-language/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 20:42:37 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Agile Programming]]></category>
		<category><![CDATA[Delivering Value]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[Methodologies]]></category>
		<category><![CDATA[Multi-Paradigm Design]]></category>
		<category><![CDATA[Multi-languages projects]]></category>
		<category><![CDATA[Paradigm Oriented Programming Language]]></category>
		<category><![CDATA[Polyglot Programming]]></category>
		<category><![CDATA[Useability]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2009/01/05/youve-got-100-pages-to-convince-me-in-your-shiny-language/</guid>
		<description><![CDATA[ In the rapidly spanning world of programming languages, I find myself buying and reading a lot of books about new and old programming languages. There are a few interesting concepts in each language, and if you think about employing more than one language in your projects then you better know about the existence of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sadekdrobi.com/wp-content/uploads/2009/01/dsc-01501.jpg"><img style="border-right: 0px; border-top: 0px; margin: 0px 10px 5px 0px; border-left: 0px; border-bottom: 0px" height="322" alt="DSC_0150-" src="http://sadekdrobi.com/wp-content/uploads/2009/01/dsc-0150-thumb1.jpg" width="470" align="left" border="0"></a> In the rapidly spanning world of programming languages, I find myself buying and reading a lot of books about new and old programming languages. There are a few interesting concepts in each language, and if you think about employing more than one language in your projects then you better know about the existence of these concepts (see <a href="http://www.infoq.com/articles/paradigm-based-polyglot-prog">Paradigm based Polyglot Programming</a>).
<p>One thing that annoys me though about most programming language books is how raw they often are.</p>
<p><span id="more-575"></span></p>
<p>&nbsp; Probably constrained by time, authors and book teams seem to invest less on editorial stuff and teaching methodology and more on explaining details of technical and behind the scenes stuff. This often results in more manual-like books where you have a great wealth of material that you are not able to exploit anyway because of, well, lack of time. I am not sure I can invest time in reading 500+ manual of a new, or at least non mainstream, language that I might decide not to use by the end.&nbsp;
<p>I am not saying here that technical and behind the scene stuff does not matter, quite the opposite. I just think that manual, important it is, should not be the introduction to the programming language. A rather 100 to 200 pages brief book that is carefully edited to introduce paradigm, concepts, and strengths of the programming language is a more attractive choice , accompanied with a wordy but well organized reference book with examples and more in-depth explanation of language features. I guess this is a more pragmatic approach to programming language learning in the presence of WWW and Google search.
<p>PS: I personally find <a href="http://www.amazon.com/Haskell-School-Expression-Functional-Programming/dp/0521644089/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1231187744&amp;sr=8-1">Paul Hudak&#8217;s Haskell book</a> a very good example of an enjoyable, brief, nicely and carefully edited programming language book. Also <a href="http://www.amazon.com/Programming-Lua-Second-Roberto-Ierusalimschy/dp/8590379825/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1231187997&amp;sr=1-1">LUA&#8217;s programming book</a> is nicely done.</p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2009/01/05/youve-got-100-pages-to-convince-me-in-your-shiny-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Paradigm based Polyglot Programming</title>
		<link>http://sadekdrobi.com/2008/09/25/paradigm-based-polyglot-programming/</link>
		<comments>http://sadekdrobi.com/2008/09/25/paradigm-based-polyglot-programming/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 07:08:16 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Agile Programming]]></category>
		<category><![CDATA[Domain Driven Design]]></category>
		<category><![CDATA[Functional Programming]]></category>
		<category><![CDATA[Haskell]]></category>
		<category><![CDATA[InfoQ]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[Multi-Paradigm Design]]></category>
		<category><![CDATA[Multi-languages projects]]></category>
		<category><![CDATA[Polyglot Programming]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2008/09/25/paradigm-based-polyglot-programming/</guid>
		<description><![CDATA[ 
How many languages are you using on the same project? If you go counting you will see that they are many. I mean XML, Java, XSLT, HTML, CSS&#8230; etc. But the reason why you are using almost all of them is that they happen to be mainstream and, oftentimes, they are the only language [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://sadekdrobi.com/wp-content/uploads/2008/09/dsc-01721.jpg"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="429" alt="DSC_0172" src="http://sadekdrobi.com/wp-content/uploads/2008/09/dsc-0172-thumb1.jpg" width="640" border="0"></a> </p>
<p>How many languages are you using on the same project? If you go counting you will see that they are many. I mean XML, Java, XSLT, HTML, CSS&#8230; etc. But the reason why you are using almost all of them is that they happen to be mainstream and, oftentimes, they are the only language choice for a needed framework. You are actually almost obliged to use them. <em>The choice is done for you. Style? CSS. Configuration? Often XML. Web interface description? Html.</em> However, if you want to adopt true polyglot programming, you will have to face inevitable decision of language choice.</p>
<p><span id="more-517"></span></p>
<p><a href="http://www.infoq.com/articles/paradigm-based-polyglot-prog">Read my article on Paradigm based Polyglot Programming at InfoQ.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2008/09/25/paradigm-based-polyglot-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OBSEV :: Java or C# do not fit as a host language for DSLs, Lua is a better alternative to use as an IL in a Meta programming System</title>
		<link>http://sadekdrobi.com/2007/07/29/java-or-c-do-not-fit-as-a-host-language-for-dsls-lua-is-a-better-alternative-to-use-as-an-il-in-a-meta-programming-system/</link>
		<comments>http://sadekdrobi.com/2007/07/29/java-or-c-do-not-fit-as-a-host-language-for-dsls-lua-is-a-better-alternative-to-use-as-an-il-in-a-meta-programming-system/#comments</comments>
		<pubDate>Sun, 29 Jul 2007 22:39:54 +0000</pubDate>
		<dc:creator>Sadache</dc:creator>
				<category><![CDATA[Agile Programming]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[Domain Driven Design]]></category>
		<category><![CDATA[Lua]]></category>
		<category><![CDATA[MPS]]></category>
		<category><![CDATA[Paradigm Oriented Programming Language]]></category>

		<guid isPermaLink="false">http://sadekdrobi.com/2007/07/29/java-or-c-do-not-fit-as-a-host-language-for-dsls-lua-is-a-better-alternative-to-use-as-an-il-in-a-meta-programming-system/</guid>
		<description><![CDATA[Â 
Recently, Iâ€™ve been playing a lot with Meta programming System of JetBrains. I feel that it has a lot in common with my idea of Paradigm Oriented Programming. In the way that it defines the language by links, adjectives and things (i.e. dimensions) that form together an abstraction as a language for a certain domain.
The [...]]]></description>
			<content:encoded><![CDATA[<p>Â <a atomicselection="true" href="http://sadekdrobi.com/wp-content/uploads/2007/07/windowslivewriterjavaorcdonotfitasahostlanguagefordslslua-958dsc-00444.jpg"><img border="0" width="537" src="http://sadekdrobi.com/wp-content/uploads/2007/07/windowslivewriterjavaorcdonotfitasahostlanguagefordslslua-958dsc-0044-thumb2.jpg" height="358" style="border: 0px" /></a></p>
<p>Recently, Iâ€™ve been playing a lot with Meta programming System of <em>JetBrains</em>. I feel that it has a lot in common with my idea of <a href="http://sadekdrobi.com/2007/07/04/figure-and-ground-n-dimensioned-programming-language/">Paradigm Oriented Programming</a>. In the way that it defines the language by <em>links</em>, <em>adjectives</em> and <em>things</em> (i.e. <em>dimensions</em>) that form together an abstraction as a language for a certain domain.</p>
<p>The package comes with Java already implemented, that can be quite handy, as it makes it easy for us to embed languages and concepts inside Java. But there is something that bothers me here; does Java (or even C#) work as an IL, a basic flexible language that other designed DSL will be interpreted to? Actually I strongly doubt that. First of all Java syntax comes already with a lot of constrains, static typing, curly brackets and a lot of other imitations.</p>
<p>Another thing is that Java itself is already an implementation of an abstraction. That is OOP. And fitting everything into OOP will force our DSL to respect that style of programming and to be constrained by it. Java is so static, and neither flexible not dynamic enough to have DSLs built on it.</p>
<p>Fortunately JetBrainsâ€™s MPS is not exclusive for java. It rather can be used with any other programming language. Because what it does is to build a coherent structure of text with its grammar in a syntax tree. Then it allows text to be generated out of properties of the syntax.</p>
<p>I thought a lot about a language that can be flexible enough, so that we can build abstractions that can be easily interpreted and implemented into that languageâ€™s syntax. I guess Lua is a good candidate. I believe that the way it is built permits a lot of dynamism for implementing meta-systems and making them co-exist in a paradigm oriented programming (See OOP implementation in Lua).</p>
<p>I still see some improvements still can be added to it. But for now I see it a perfect fit as an intermediate language for my POP.</p>
<div class="redditbutton"><script type="text/javascript">reddit_url = 'http://sadekdrobi.com/2007/07/29/java-or-c-do-not-fit-as-a-host-language-for-dsls-lua-is-a-better-alternative-to-use-as-an-il-in-a-meta-programming-system/';</script><script src="http://reddit.com/button.js?t=2" type="text/javascript"></script></div>
]]></content:encoded>
			<wfw:commentRss>http://sadekdrobi.com/2007/07/29/java-or-c-do-not-fit-as-a-host-language-for-dsls-lua-is-a-better-alternative-to-use-as-an-il-in-a-meta-programming-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
