<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>LinuxQuestions.org - Blogs - PatrickNew</title>
		<link>http://www.linuxquestions.org/questions/blog.php?u=230304</link>
		<description>LinuxQuestions.org offers a free Linux forum where Linux newbies can ask questions and Linux experts can offer advice. Topics include security, installation, networking and much more.</description>
		<language>en</language>
		<lastBuildDate>Mon, 23 Nov 2009 19:20:41 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>http://e1h7.simplecdn.net/lqcdn/images/questions/images/misc/rss.jpg</url>
			<title>LinuxQuestions.org - Blogs - PatrickNew</title>
			<link>http://www.linuxquestions.org/questions/blog.php?u=230304</link>
		</image>
		<item>
			<title>What do you like in a programming language?</title>
			<link>http://www.linuxquestions.org/questions/blog.php?b=1617</link>
			<pubDate>Thu, 19 Feb 2009 05:55:16 GMT</pubDate>
			<description><![CDATA[As a hobby/educational project, I'm writing the specification and reference compiler for a programming language.  Although education and experience...]]></description>
			<content:encoded><![CDATA[<div>As a hobby/educational project, I'm writing the specification and reference compiler for a programming language.  Although education and experience are my primary motivators, I really want write a language that people would use.<br />
<br />
So here's my question: What makes a programming language good? Specifically, I'm looking at a strongly, statically typed object-oriented language with some functional aspects, with templating tossed in.<br />
<br />
Here's what I've got so far. They are in no particular order. Remember, this is just a wishlist, I'm not claiming to deliver all this by next month :).<br />
<ul><li>Efficiency<ul><li>Allows for (but doesn't require) optimizations.</li>
<li>Doesn't waste (note: 'waste', not 'use') CPU cycles.</li>
<li>Doesn't waste (note: 'waste' not 'use') RAM.</li>
</ul></li>
<li>Clarity<ul><li>Clean syntax.</li>
<li>Intuitive semantics.</li>
</ul></li>
<li>Safety<ul><li>Audited and tested implementation of standard libraries.</li>
<li>Support for exceptions.</li>
<li>Support for interfaces and their enforcement (in some incarnation or another).</li>
</ul></li>
<li>Openness<ul><li>A liberally licensed reference compiler.</li>
<li>A CPAN-like repository of code.</li>
</ul></li>
<li>Bind-ability<ul><li>Ability to use extenral libraries.</li>
<li>Ability to export libraries to other languages.</li>
</ul></li>
<li>Feature Completeness<ul><li>Turing completeness (obviously).</li>
<li>Extensive standardized libraries.</li>
</ul></li>
<li>Extensibility<ul><li>Easy to create domain-specific sublanguages.</li>
<li>Some mechanism for conditional compilation.</li>
</ul></li>
<li>Scalability<ul><li>Full OO constructs.</li>
<li>Package/Namespace system.</li>
<li>Loadable modules where they are supported.</li>
</ul></li>
<li>Portability<ul><li>To various OS's.</li>
<li>To various CPU's.</li>
</ul></li>
<li>Concurrency - Able<ul><li>Good support for threads.</li>
<li>Good synchronization primitives.</li>
<li>Good communication primitives.</li>
</ul></li>
</ul></div>

]]></content:encoded>
			<dc:creator>PatrickNew</dc:creator>
			<guid isPermaLink="true">http://www.linuxquestions.org/questions/blog.php?b=1617</guid>
		</item>
	</channel>
</rss>
