<?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"
	>
<channel>
	<title>Comments on: The evolution of programming languages</title>
	<atom:link href="http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/feed/" rel="self" type="application/rss+xml" />
	<link>http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/</link>
	<description>Still powered by a contradiction in terms</description>
	<pubDate>Thu, 20 Nov 2008 12:26:43 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: chengetai</title>
		<link>http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/#comment-136</link>
		<dc:creator>chengetai</dc:creator>
		<pubDate>Fri, 24 Sep 2004 14:12:34 +0000</pubDate>
		<guid isPermaLink="false">http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/#comment-136</guid>
		<description>say something on visual oriented languages
</description>
		<content:encoded><![CDATA[<p>say something on visual oriented languages</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ignace Saenen</title>
		<link>http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/#comment-135</link>
		<dc:creator>Ignace Saenen</dc:creator>
		<pubDate>Sun, 19 Sep 2004 09:22:53 +0000</pubDate>
		<guid isPermaLink="false">http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/#comment-135</guid>
		<description>Lips has one obvious advantage over most OO languages.  They adhere to the lamda calculus principle and are actually more pattern matchers than anything else.

If there is anything you always miss in OO, then it's a dynamic code path, since it conflicts with design-by-contract and encapsualtion principles that lie embedded in all OO languages that are derived from the Smalltalk ancestor.

Another thing I always seem to miss in OO languages is the notion of state programming.  If you look at UnrealC, you have the concept of states embedded in the language, so you can actually define multiple versions of the same function embedded in multiple states. Changing a codepath becomes a matter of putting an object in a different state.  UnrealC is still somewhat limitted, because you can't have parallel states in one class and you still have to derive from a baseclass, but it is a huge step in the good direction.  

One language that expands even further on dynamic codepaths is Ruby, where every method call in essence is a message.  If the method does not exist, then the message isn't processed and you get an exception thrown.  If the method exists, then you can call the method.  But the nice thing is that you can add methods to the class at run-time.  Obviously there is no design-by-contract here anymore.  But Ruby is immensly popular and all sorts of projects, small and large of scope, have been written in it, including things like webservers etc..

I think the language that can capture the extensibility principle that lamda calculus inhibits, without breaking the design by contract principle of OO languages, still has to be constructed.  But it's popularity will first and foremost depend on the backing of major companies such as IBM, Sun or MS, more than on the actual features of a language.</description>
		<content:encoded><![CDATA[<p>Lips has one obvious advantage over most OO languages.  They adhere to the lamda calculus principle and are actually more pattern matchers than anything else.</p>
<p>If there is anything you always miss in OO, then it&#8217;s a dynamic code path, since it conflicts with design-by-contract and encapsualtion principles that lie embedded in all OO languages that are derived from the Smalltalk ancestor.</p>
<p>Another thing I always seem to miss in OO languages is the notion of state programming.  If you look at UnrealC, you have the concept of states embedded in the language, so you can actually define multiple versions of the same function embedded in multiple states. Changing a codepath becomes a matter of putting an object in a different state.  UnrealC is still somewhat limitted, because you can&#8217;t have parallel states in one class and you still have to derive from a baseclass, but it is a huge step in the good direction.  </p>
<p>One language that expands even further on dynamic codepaths is Ruby, where every method call in essence is a message.  If the method does not exist, then the message isn&#8217;t processed and you get an exception thrown.  If the method exists, then you can call the method.  But the nice thing is that you can add methods to the class at run-time.  Obviously there is no design-by-contract here anymore.  But Ruby is immensly popular and all sorts of projects, small and large of scope, have been written in it, including things like webservers etc..</p>
<p>I think the language that can capture the extensibility principle that lamda calculus inhibits, without breaking the design by contract principle of OO languages, still has to be constructed.  But it&#8217;s popularity will first and foremost depend on the backing of major companies such as IBM, Sun or MS, more than on the actual features of a language.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jude</title>
		<link>http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/#comment-134</link>
		<dc:creator>Jude</dc:creator>
		<pubDate>Wed, 06 Aug 2003 05:38:34 +0000</pubDate>
		<guid isPermaLink="false">http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/#comment-134</guid>
		<description>I think you're document/article about programming languages isn't that well-explained, There is a big importance that everything should be well-explained about the evolution of programming.

I myself have studied programming and have noticed that some have big differences, and through my study I have noticed some of the differences and improvements of programming languages and have come to knowledge that these languages though some commands and syntax are the same they pose different understanding to each and that they are in concept different from each other.

For instance, From C to Java there is a big difference between implementation and that Java uses different syntax although some are just the same or an improvement from C or C++.</description>
		<content:encoded><![CDATA[<p>I think you&#8217;re document/article about programming languages isn&#8217;t that well-explained, There is a big importance that everything should be well-explained about the evolution of programming.</p>
<p>I myself have studied programming and have noticed that some have big differences, and through my study I have noticed some of the differences and improvements of programming languages and have come to knowledge that these languages though some commands and syntax are the same they pose different understanding to each and that they are in concept different from each other.</p>
<p>For instance, From C to Java there is a big difference between implementation and that Java uses different syntax although some are just the same or an improvement from C or C++.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ronaldo</title>
		<link>http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/#comment-133</link>
		<dc:creator>Ronaldo</dc:creator>
		<pubDate>Wed, 04 Jun 2003 23:11:08 +0000</pubDate>
		<guid isPermaLink="false">http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/#comment-133</guid>
		<description>C# is not a scripting language -- at least, not in the sense the word "scripting" is applied to languages to day. The only fact against the language I can point is that it's not much different from C++ or Java, although it has a few niceties.

As for "real languages", I think your list is a bit limited. While some of the languages you cited are really interesting and powerful, there are others who can be as powerful and productive.</description>
		<content:encoded><![CDATA[<p>C# is not a scripting language &#8212; at least, not in the sense the word &#8220;scripting&#8221; is applied to languages to day. The only fact against the language I can point is that it&#8217;s not much different from C++ or Java, although it has a few niceties.</p>
<p>As for &#8220;real languages&#8221;, I think your list is a bit limited. While some of the languages you cited are really interesting and powerful, there are others who can be as powerful and productive.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason</title>
		<link>http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/#comment-132</link>
		<dc:creator>Jason</dc:creator>
		<pubDate>Wed, 21 May 2003 19:43:16 +0000</pubDate>
		<guid isPermaLink="false">http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/#comment-132</guid>
		<description>C# is not a programming language.  It's an infantile scripting language that is useless in most applications.  I wouldn't touch it with a 10 foot pole.  Java is insanely difficult for a language as wordy as it is.  It's almost like programming in Ada, except Ada makes sense!

The only real languages are Assembly Language, C, Ada95, Prolog, Forth, Lisp and Smalltalk.  The others can be thrown in the trash as wasted space.</description>
		<content:encoded><![CDATA[<p>C# is not a programming language.  It&#8217;s an infantile scripting language that is useless in most applications.  I wouldn&#8217;t touch it with a 10 foot pole.  Java is insanely difficult for a language as wordy as it is.  It&#8217;s almost like programming in Ada, except Ada makes sense!</p>
<p>The only real languages are Assembly Language, C, Ada95, Prolog, Forth, Lisp and Smalltalk.  The others can be thrown in the trash as wasted space.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ronaldo</title>
		<link>http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/#comment-131</link>
		<dc:creator>Ronaldo</dc:creator>
		<pubDate>Sat, 05 Apr 2003 21:45:42 +0000</pubDate>
		<guid isPermaLink="false">http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/#comment-131</guid>
		<description>I understand how you feel. I'm frustrated that mainstream languages don't offer any real advances over what was being used 30 years ago. Unfortunately, as it's today, marketing has final say about what is an accepted language. So, Java and C# are the languages of the new generation because Sun and Microsoft say so. At least C# is a lot better than C++, and in the future it may even give raise to a better (evolved) programming language.

Python has great potential. It's already one the mainstream languages for Linux (and is starting to conquer Windows), but it also doesn't offer many advances over older languages except that it borrows a good enviroment from Lisp that makes it perfect for fast prototyping as you mentioned. I guess Python filled the gap left by Perl's lack of updates. It is successful, but I don't think it brings anything new to the table.

As to Smalltalk and Lisp, they are really different worlds. It has been said that when you come to understand Lisp, your vision of programming is forever changed. This is true of Smalltalk as well. I think it is due to their unusual development cycles and environments, which make for faster and more powerful development. Fortunately, they seem to be getting more attention recently, and I believe they will be considered good alternatives for development in the future.</description>
		<content:encoded><![CDATA[<p>I understand how you feel. I&#8217;m frustrated that mainstream languages don&#8217;t offer any real advances over what was being used 30 years ago. Unfortunately, as it&#8217;s today, marketing has final say about what is an accepted language. So, Java and C# are the languages of the new generation because Sun and Microsoft say so. At least C# is a lot better than C++, and in the future it may even give raise to a better (evolved) programming language.</p>
<p>Python has great potential. It&#8217;s already one the mainstream languages for Linux (and is starting to conquer Windows), but it also doesn&#8217;t offer many advances over older languages except that it borrows a good enviroment from Lisp that makes it perfect for fast prototyping as you mentioned. I guess Python filled the gap left by Perl&#8217;s lack of updates. It is successful, but I don&#8217;t think it brings anything new to the table.</p>
<p>As to Smalltalk and Lisp, they are really different worlds. It has been said that when you come to understand Lisp, your vision of programming is forever changed. This is true of Smalltalk as well. I think it is due to their unusual development cycles and environments, which make for faster and more powerful development. Fortunately, they seem to be getting more attention recently, and I believe they will be considered good alternatives for development in the future.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gregory Graham</title>
		<link>http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/#comment-130</link>
		<dc:creator>Gregory Graham</dc:creator>
		<pubDate>Fri, 04 Apr 2003 23:32:19 +0000</pubDate>
		<guid isPermaLink="false">http://log.reflectivesurface.com/2003/03/26/the-evolution-of-programming-languages/#comment-130</guid>
		<description>I've been working in a research group for several years, and in '95, we were looking into alternatives to C++ for our company's product development. Several us learned Smalltalk and built a prototype, and although there were things we liked, we ended up moving to the newly emerging Java.

Now I'm learning Python because it gives me a better prototyping environment than Java, and with Jython I can even mix my Java and Python code. I would be interested in using Lisp or Smalltalk but I always feel like they would be pulling me out of the mainstream. They really do seem like different worlds. I wonder why that is.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been working in a research group for several years, and in &#8216;95, we were looking into alternatives to C++ for our company&#8217;s product development. Several us learned Smalltalk and built a prototype, and although there were things we liked, we ended up moving to the newly emerging Java.</p>
<p>Now I&#8217;m learning Python because it gives me a better prototyping environment than Java, and with Jython I can even mix my Java and Python code. I would be interested in using Lisp or Smalltalk but I always feel like they would be pulling me out of the mainstream. They really do seem like different worlds. I wonder why that is.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
