<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Why Learning Prolog Can Make You a Better Programmer</title>
	<atom:link href="http://coliveira.net/software/why-learning-prolog-can-make-you-a-better-programmer/feed/" rel="self" type="application/rss+xml" />
	<link>http://coliveira.net/software/why-learning-prolog-can-make-you-a-better-programmer/</link>
	<description>Some Ideas by Carlos Oliveira</description>
	<lastBuildDate>Wed, 01 Sep 2010 02:24:06 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: ankit</title>
		<link>http://coliveira.net/software/why-learning-prolog-can-make-you-a-better-programmer/comment-page-1/#comment-1020</link>
		<dc:creator>ankit</dc:creator>
		<pubDate>Sat, 26 Dec 2009 01:02:02 +0000</pubDate>
		<guid isPermaLink="false">http://coliveira.net/?p=240#comment-1020</guid>
		<description>Yup
bitti is right!

Prolog is designed for symbolic reasoning, and not for numerical reasoning. And that is the reason why it does not have any great constructs for numerical processing.
If performance is the measure, than surely Prolog is not the thing!

But the fact is for the application of the future, the performance will not be the only measure. Things are changing and focus is slowly shiftingfrom the conventional applications to the ones like NLP, Robot Navigation etc.. And its possible that some efforts done may result in some implementations of Prolog that will give high performance at these tasks.</description>
		<content:encoded><![CDATA[<p>Yup<br />
bitti is right!</p>
<p>Prolog is designed for symbolic reasoning, and not for numerical reasoning. And that is the reason why it does not have any great constructs for numerical processing.<br />
If performance is the measure, than surely Prolog is not the thing!</p>
<p>But the fact is for the application of the future, the performance will not be the only measure. Things are changing and focus is slowly shiftingfrom the conventional applications to the ones like NLP, Robot Navigation etc.. And its possible that some efforts done may result in some implementations of Prolog that will give high performance at these tasks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bitti</title>
		<link>http://coliveira.net/software/why-learning-prolog-can-make-you-a-better-programmer/comment-page-1/#comment-117</link>
		<dc:creator>bitti</dc:creator>
		<pubDate>Wed, 27 May 2009 13:31:16 +0000</pubDate>
		<guid isPermaLink="false">http://coliveira.net/?p=240#comment-117</guid>
		<description>Actually I think it is a great language - why?

1. Because performance is not important for all types of applications. In fact, performance is your most important concern you should not be using Java/Python/TCL either.

2. you may model a specific domain effectively, entities of that domain can be made first class citizens from a language point of view.

3. the language of thought and prolog are very close to each other.

4. with respect to &quot; hear someone actually got prolog to kinda almost interface with mysql once.&quot; by YouAreWrong - there are indeed a lot of examples which use Prolog to provide a natural language interface to some resource such as unix shells/ database/ etc.

5. if one frees its mind from any previous (imperative) programming experience, one actually may learn Prolog quite fast because there are only few major concepts to learn.

I hope that this has shed some light a bit.</description>
		<content:encoded><![CDATA[<p>Actually I think it is a great language &#8211; why?</p>
<p>1. Because performance is not important for all types of applications. In fact, performance is your most important concern you should not be using Java/Python/TCL either.</p>
<p>2. you may model a specific domain effectively, entities of that domain can be made first class citizens from a language point of view.</p>
<p>3. the language of thought and prolog are very close to each other.</p>
<p>4. with respect to &#8221; hear someone actually got prolog to kinda almost interface with mysql once.&#8221; by YouAreWrong &#8211; there are indeed a lot of examples which use Prolog to provide a natural language interface to some resource such as unix shells/ database/ etc.</p>
<p>5. if one frees its mind from any previous (imperative) programming experience, one actually may learn Prolog quite fast because there are only few major concepts to learn.</p>
<p>I hope that this has shed some light a bit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: NewsReader</title>
		<link>http://coliveira.net/software/why-learning-prolog-can-make-you-a-better-programmer/comment-page-1/#comment-112</link>
		<dc:creator>NewsReader</dc:creator>
		<pubDate>Sat, 23 May 2009 07:57:15 +0000</pubDate>
		<guid isPermaLink="false">http://coliveira.net/?p=240#comment-112</guid>
		<description>I read about Prolog here:
weblogs.java.net

I think it has its place and there are many things to be explored ;)</description>
		<content:encoded><![CDATA[<p>I read about Prolog here:<br />
weblogs.java.net</p>
<p>I think it has its place and there are many things to be explored ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zorg</title>
		<link>http://coliveira.net/software/why-learning-prolog-can-make-you-a-better-programmer/comment-page-1/#comment-81</link>
		<dc:creator>zorg</dc:creator>
		<pubDate>Sun, 10 May 2009 09:15:45 +0000</pubDate>
		<guid isPermaLink="false">http://coliveira.net/?p=240#comment-81</guid>
		<description>@YouAreWrong

&quot;Prolog is the worse, crappiest language I’ve learned&quot;
&quot;I’ve used prolog for 3 or 4 classes&quot;

Wow, we&#039;ve got an expert here !

&quot;Prolog is a twisted, asinine, slow language&quot;

What about the logic programming paradigm ? Anything profound to say about its underpinnings ?</description>
		<content:encoded><![CDATA[<p>@YouAreWrong</p>
<p>&#8220;Prolog is the worse, crappiest language I’ve learned&#8221;<br />
&#8220;I’ve used prolog for 3 or 4 classes&#8221;</p>
<p>Wow, we&#8217;ve got an expert here !</p>
<p>&#8220;Prolog is a twisted, asinine, slow language&#8221;</p>
<p>What about the logic programming paradigm ? Anything profound to say about its underpinnings ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: coliveira</title>
		<link>http://coliveira.net/software/why-learning-prolog-can-make-you-a-better-programmer/comment-page-1/#comment-79</link>
		<dc:creator>coliveira</dc:creator>
		<pubDate>Sat, 09 May 2009 23:53:11 +0000</pubDate>
		<guid isPermaLink="false">http://coliveira.net/?p=240#comment-79</guid>
		<description>Hi YouAreWrong, I understand your frustration, but maybe you were using the language for something it was not designed. Prolog shines at solving AI-related problems, where reasoning based on facts is required.
Also, we cannot bash a language for its implementation. Most implementations of Prolog out there are crappy, but it doesn&#039;t mean that you can&#039;t do something great using these ideas. For example, Lisp implementations sucked for a long time, but nowadays it is considered a fast language.</description>
		<content:encoded><![CDATA[<p>Hi YouAreWrong, I understand your frustration, but maybe you were using the language for something it was not designed. Prolog shines at solving AI-related problems, where reasoning based on facts is required.<br />
Also, we cannot bash a language for its implementation. Most implementations of Prolog out there are crappy, but it doesn&#8217;t mean that you can&#8217;t do something great using these ideas. For example, Lisp implementations sucked for a long time, but nowadays it is considered a fast language.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: YouAreWrong</title>
		<link>http://coliveira.net/software/why-learning-prolog-can-make-you-a-better-programmer/comment-page-1/#comment-78</link>
		<dc:creator>YouAreWrong</dc:creator>
		<pubDate>Sat, 09 May 2009 21:20:58 +0000</pubDate>
		<guid isPermaLink="false">http://coliveira.net/?p=240#comment-78</guid>
		<description>My course included languages such as C (for the core programming classes), Java, Haskell, Python, Perl, TCL, and a few more, including Prolog. Prolog is the worse, crappiest  language I&#039;ve learned (did I mentioned I learned both Perl and Java?) and served no purpose what-so-ever in my experience as a programmer. Haskell is a pure functional language, it can teach you a couple of things about typing and such and it can be fun to learn. Prolog is a twisted, asinine, slow language, whose only purpose can be that of getting people to learn how to trace the goddamn code to see where the recursion went caput. Yeah, great language, if you need to learn how to read execution stacks and how to debug crappy code.

The whole &quot;Databases are viewed in Prolog as a set of facts that can be consulted by the rules&quot; sounds kinda cool, until you realize that using datalog, besides being painfully slow, is incredibly difficult to implement for any a bit more complicated query. Also, what about actually interfacing prolog and a database engine in order to turn it into facts? There are all kinds of fun to be had there. I hear someone actually got prolog to kinda almost interface with mysql once.

I&#039;ve used prolog for 3 or 4 classes, using many of the language&#039;s applications (such as optimizations, datalogging and of course, basic language learning) and it sucks. Learn Haskell instead. Hell, learn python in depth, it has a couple of interesting features there, from an academic standpoint. You can even learn Lisp (hey, emacs is great, so it&#039;s not a wasted effort). But please, for your sanity, steer clear of prolog.Just...

No.</description>
		<content:encoded><![CDATA[<p>My course included languages such as C (for the core programming classes), Java, Haskell, Python, Perl, TCL, and a few more, including Prolog. Prolog is the worse, crappiest  language I&#8217;ve learned (did I mentioned I learned both Perl and Java?) and served no purpose what-so-ever in my experience as a programmer. Haskell is a pure functional language, it can teach you a couple of things about typing and such and it can be fun to learn. Prolog is a twisted, asinine, slow language, whose only purpose can be that of getting people to learn how to trace the goddamn code to see where the recursion went caput. Yeah, great language, if you need to learn how to read execution stacks and how to debug crappy code.</p>
<p>The whole &#8220;Databases are viewed in Prolog as a set of facts that can be consulted by the rules&#8221; sounds kinda cool, until you realize that using datalog, besides being painfully slow, is incredibly difficult to implement for any a bit more complicated query. Also, what about actually interfacing prolog and a database engine in order to turn it into facts? There are all kinds of fun to be had there. I hear someone actually got prolog to kinda almost interface with mysql once.</p>
<p>I&#8217;ve used prolog for 3 or 4 classes, using many of the language&#8217;s applications (such as optimizations, datalogging and of course, basic language learning) and it sucks. Learn Haskell instead. Hell, learn python in depth, it has a couple of interesting features there, from an academic standpoint. You can even learn Lisp (hey, emacs is great, so it&#8217;s not a wasted effort). But please, for your sanity, steer clear of prolog.Just&#8230;</p>
<p>No.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: coliveira</title>
		<link>http://coliveira.net/software/why-learning-prolog-can-make-you-a-better-programmer/comment-page-1/#comment-77</link>
		<dc:creator>coliveira</dc:creator>
		<pubDate>Sat, 09 May 2009 14:49:43 +0000</pubDate>
		<guid isPermaLink="false">http://coliveira.net/?p=240#comment-77</guid>
		<description>@aoeu, from a textbook definition point of view you are right. Prolog is better classified as a logic programming language since, among other things, Prolog goals can return only true or false.

However, learning Prolog may teach you more about the mindset of pure functional programming than Lisp, since Prolog works only by applying goals (boolean functions) that need to be satisfied.</description>
		<content:encoded><![CDATA[<p>@aoeu, from a textbook definition point of view you are right. Prolog is better classified as a logic programming language since, among other things, Prolog goals can return only true or false.</p>
<p>However, learning Prolog may teach you more about the mindset of pure functional programming than Lisp, since Prolog works only by applying goals (boolean functions) that need to be satisfied.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: aoeu</title>
		<link>http://coliveira.net/software/why-learning-prolog-can-make-you-a-better-programmer/comment-page-1/#comment-76</link>
		<dc:creator>aoeu</dc:creator>
		<pubDate>Sat, 09 May 2009 13:50:19 +0000</pubDate>
		<guid isPermaLink="false">http://coliveira.net/?p=240#comment-76</guid>
		<description>Wrong about &quot;prolog is a pure functional language&quot;</description>
		<content:encoded><![CDATA[<p>Wrong about &#8220;prolog is a pure functional language&#8221;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
