<?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: D Postmortem</title>
	<atom:link href="http://timburrell.net/blog/2008-06-22/d-postmortem/feed/" rel="self" type="application/rss+xml" />
	<link>http://timburrell.net/blog/2008-06-22/d-postmortem/</link>
	<description>All that is Tim Burrell</description>
	<pubDate>Wed, 07 Jan 2009 14:39:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
		<item>
		<title>By: Tim.</title>
		<link>http://timburrell.net/blog/2008-06-22/d-postmortem/#comment-172</link>
		<dc:creator>Tim.</dc:creator>
		<pubDate>Tue, 24 Jun 2008 11:13:22 +0000</pubDate>
		<guid isPermaLink="false">http://timburrell.net/?p=358#comment-172</guid>
		<description>Hey Marko,

I actually spent most of my time with gdc as I'm a Linux guy and a Tango fan.  Unfortunately gdc + windows + tango is still a bit of an issue as well, so when compiling on windows I had to use dmd.

If you have no need to use dmd your mileage will probably be quite a bit better, as almost all the major problems I encountered were with dmd... that being said it's still quite easy to ICE gdc, especially if you start playing with mixins or doing any template metaprogramming.  Other small issues with gdc:  default function parameters being assigned via static struct / class opCalls can segfault the compiler.  Little things like that, fortunately which are mostly easily worked around.

My intent with the post wasn't to dissuade people from playing with D (which I still think is a great language), I just wanted to make sure people are aware of the real deal when it comes to developing with D.  

Learning D has had a major impact on my programming style, and what I've now come to demand from a language, so regardless of the fact that I won't be using D until some time in the future when the issues are sorted, I'm still grateful I took the time to learn it.</description>
		<content:encoded><![CDATA[<p>Hey Marko,</p>
<p>I actually spent most of my time with gdc as I&#8217;m a Linux guy and a Tango fan.  Unfortunately gdc + windows + tango is still a bit of an issue as well, so when compiling on windows I had to use dmd.</p>
<p>If you have no need to use dmd your mileage will probably be quite a bit better, as almost all the major problems I encountered were with dmd&#8230; that being said it&#8217;s still quite easy to ICE gdc, especially if you start playing with mixins or doing any template metaprogramming.  Other small issues with gdc:  default function parameters being assigned via static struct / class opCalls can segfault the compiler.  Little things like that, fortunately which are mostly easily worked around.</p>
<p>My intent with the post wasn&#8217;t to dissuade people from playing with D (which I still think is a great language), I just wanted to make sure people are aware of the real deal when it comes to developing with D.  </p>
<p>Learning D has had a major impact on my programming style, and what I&#8217;ve now come to demand from a language, so regardless of the fact that I won&#8217;t be using D until some time in the future when the issues are sorted, I&#8217;m still grateful I took the time to learn it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim.</title>
		<link>http://timburrell.net/blog/2008-06-22/d-postmortem/#comment-170</link>
		<dc:creator>Tim.</dc:creator>
		<pubDate>Mon, 23 Jun 2008 22:50:20 +0000</pubDate>
		<guid isPermaLink="false">http://timburrell.net/?p=358#comment-170</guid>
		<description>Mike: Hmm... good points!  I have to concede that syntax is definitely a factor, especially after you mention list comprehensions.  Python also has some other nice syntactual bits thrown in like the array slicing, collection iteration syntax, ranges, etc, that definitely speed up development time.

And totally agreed on the simplicity.

The cool thing about D is it has a lot of the syntactual niceties of Python -- array slices, built in strings and associative arrays, easy collection iteration, and is definitely way simpler than C++.  

One of the things that really (and I mean REALLY) shines about D though, is the Tango standard lib.  It's by far and above the best language runtime I've ever come across both in terms of design and quality, and for striking a perfect balance between including a nice full feature set, without offering too much (ie no Java's even-the-kitchen-sink-isn't-as-bloated-as-this-API issue).

Don't get me wrong, I'd never say that D is more efficient to develop in than Python or Ruby as a general statement -- obviously there's cases where Python is the right choice, and there's cases where D might be, or C++, or Objective-C, and so on.  I do, however, still hold to the statement that if D lived up to its potential, it really could fit the bill as a low-level system level language that can be as fast, or even faster, than some of the scripting languages (including Python) to develop in (for certain tasks).

And you're right the reason is part syntax, part standard library, and part simplicity.

If it weren't for the issues I discussed in the post D really would be a joy to develop in.

p.s. Thanks for the note on the Firefox 3 issue!  I'll look into that.</description>
		<content:encoded><![CDATA[<p>Mike: Hmm&#8230; good points!  I have to concede that syntax is definitely a factor, especially after you mention list comprehensions.  Python also has some other nice syntactual bits thrown in like the array slicing, collection iteration syntax, ranges, etc, that definitely speed up development time.</p>
<p>And totally agreed on the simplicity.</p>
<p>The cool thing about D is it has a lot of the syntactual niceties of Python &#8212; array slices, built in strings and associative arrays, easy collection iteration, and is definitely way simpler than C++.  </p>
<p>One of the things that really (and I mean REALLY) shines about D though, is the Tango standard lib.  It&#8217;s by far and above the best language runtime I&#8217;ve ever come across both in terms of design and quality, and for striking a perfect balance between including a nice full feature set, without offering too much (ie no Java&#8217;s even-the-kitchen-sink-isn&#8217;t-as-bloated-as-this-API issue).</p>
<p>Don&#8217;t get me wrong, I&#8217;d never say that D is more efficient to develop in than Python or Ruby as a general statement &#8212; obviously there&#8217;s cases where Python is the right choice, and there&#8217;s cases where D might be, or C++, or Objective-C, and so on.  I do, however, still hold to the statement that if D lived up to its potential, it really could fit the bill as a low-level system level language that can be as fast, or even faster, than some of the scripting languages (including Python) to develop in (for certain tasks).</p>
<p>And you&#8217;re right the reason is part syntax, part standard library, and part simplicity.</p>
<p>If it weren&#8217;t for the issues I discussed in the post D really would be a joy to develop in.</p>
<p>p.s. Thanks for the note on the Firefox 3 issue!  I&#8217;ll look into that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim.</title>
		<link>http://timburrell.net/blog/2008-06-22/d-postmortem/#comment-167</link>
		<dc:creator>Tim.</dc:creator>
		<pubDate>Mon, 23 Jun 2008 10:41:01 +0000</pubDate>
		<guid isPermaLink="false">http://timburrell.net/?p=358#comment-167</guid>
		<description>Markus: I know it's hard to believe a compiled language might be as fast to develop in as an ultra-handy scripted language like Python, but think about it this way: what actually makes Python and friends so fast to develop in?  

It's not the syntax, that much is clear.  In fact if anything the Python syntax is slower than C/C++/D.  No increment / decrement operators, no ternary operator, and just more verbose all around.

So what is it then?  It's language features and standard library.  Python is so handy because of its built in strings, associative arrays, and quick and easy to use runtime.  Python is actually a different case because it's a dynamic language so that helps in some cases and detracts in others, but D also makes some rounds in that area with its extensive traits system.

The thing that I argue puts D on par with languages like Python and Ruby is precisely those language features.  D has associative arrays, garbage collection, etc, and a super handy standard lib / runtime.  I'm just as much a Python user as a D developer, and I really do believe D can be faster to develop in -- they just serve different purposes, so you have to pick your task accordingly of course.

But... if you don't believe start playing with D and give it a go yourself!  Despite my post-mortem I'm still glad I picked up D.  It opened my eyes to the fact that there is a hole in the system-level language area, and although I don't think D covers it yet, maybe some day it will, or maybe something else will?  Maybe C++ will step up.  Who knows.</description>
		<content:encoded><![CDATA[<p>Markus: I know it&#8217;s hard to believe a compiled language might be as fast to develop in as an ultra-handy scripted language like Python, but think about it this way: what actually makes Python and friends so fast to develop in?  </p>
<p>It&#8217;s not the syntax, that much is clear.  In fact if anything the Python syntax is slower than C/C++/D.  No increment / decrement operators, no ternary operator, and just more verbose all around.</p>
<p>So what is it then?  It&#8217;s language features and standard library.  Python is so handy because of its built in strings, associative arrays, and quick and easy to use runtime.  Python is actually a different case because it&#8217;s a dynamic language so that helps in some cases and detracts in others, but D also makes some rounds in that area with its extensive traits system.</p>
<p>The thing that I argue puts D on par with languages like Python and Ruby is precisely those language features.  D has associative arrays, garbage collection, etc, and a super handy standard lib / runtime.  I&#8217;m just as much a Python user as a D developer, and I really do believe D can be faster to develop in &#8212; they just serve different purposes, so you have to pick your task accordingly of course.</p>
<p>But&#8230; if you don&#8217;t believe start playing with D and give it a go yourself!  Despite my post-mortem I&#8217;m still glad I picked up D.  It opened my eyes to the fact that there is a hole in the system-level language area, and although I don&#8217;t think D covers it yet, maybe some day it will, or maybe something else will?  Maybe C++ will step up.  Who knows.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim.</title>
		<link>http://timburrell.net/blog/2008-06-22/d-postmortem/#comment-166</link>
		<dc:creator>Tim.</dc:creator>
		<pubDate>Mon, 23 Jun 2008 10:34:53 +0000</pubDate>
		<guid isPermaLink="false">http://timburrell.net/?p=358#comment-166</guid>
		<description>Rob: Good point, I haven't been working with any 64 bit platforms... I've heard gdc and Tango are working okay on them now, but I know what was an issue for a while, and still is if you need to use DMD.</description>
		<content:encoded><![CDATA[<p>Rob: Good point, I haven&#8217;t been working with any 64 bit platforms&#8230; I&#8217;ve heard gdc and Tango are working okay on them now, but I know what was an issue for a while, and still is if you need to use DMD.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim.</title>
		<link>http://timburrell.net/blog/2008-06-22/d-postmortem/#comment-165</link>
		<dc:creator>Tim.</dc:creator>
		<pubDate>Mon, 23 Jun 2008 10:34:11 +0000</pubDate>
		<guid isPermaLink="false">http://timburrell.net/?p=358#comment-165</guid>
		<description>John: Totally agree... there's definitely a void in the system-level language coverage.  C++ isn't the be-all-end-all, but approaching its usefulness is really tough for a new language.  I think D could get there one day, it just needs to keep forging ahead and work out these little problems.</description>
		<content:encoded><![CDATA[<p>John: Totally agree&#8230; there&#8217;s definitely a void in the system-level language coverage.  C++ isn&#8217;t the be-all-end-all, but approaching its usefulness is really tough for a new language.  I think D could get there one day, it just needs to keep forging ahead and work out these little problems.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim.</title>
		<link>http://timburrell.net/blog/2008-06-22/d-postmortem/#comment-164</link>
		<dc:creator>Tim.</dc:creator>
		<pubDate>Mon, 23 Jun 2008 10:32:13 +0000</pubDate>
		<guid isPermaLink="false">http://timburrell.net/?p=358#comment-164</guid>
		<description>Jo: Hahah yes I guess it does... really what I meant was a post-portem for me -- I won't be using D any more until such issues are sorted.  In that case perhaps I'll write a post-post-mortem :).</description>
		<content:encoded><![CDATA[<p>Jo: Hahah yes I guess it does&#8230; really what I meant was a post-portem for me &#8212; I won&#8217;t be using D any more until such issues are sorted.  In that case perhaps I&#8217;ll write a post-post-mortem <img src='http://timburrell.net/smilies/yahoo_smiley.gif' alt='&#58;&#41;' class='wp-smiley' width='18' height='18' title='&#58;&#41;' />.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim.</title>
		<link>http://timburrell.net/blog/2008-06-22/d-postmortem/#comment-163</link>
		<dc:creator>Tim.</dc:creator>
		<pubDate>Mon, 23 Jun 2008 10:30:08 +0000</pubDate>
		<guid isPermaLink="false">http://timburrell.net/?p=358#comment-163</guid>
		<description>Chris: Thanks. and me too!</description>
		<content:encoded><![CDATA[<p>Chris: Thanks. and me too!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robvdl</title>
		<link>http://timburrell.net/blog/2008-06-22/d-postmortem/#comment-161</link>
		<dc:creator>Robvdl</dc:creator>
		<pubDate>Mon, 23 Jun 2008 08:59:06 +0000</pubDate>
		<guid isPermaLink="false">http://timburrell.net/?p=358#comment-161</guid>
		<description>Sadly what put me off D, when choosing a language for my last project about a year or so ago, was lack of 64 bit support. 64 bit support is pretty much essential now with every desktop CPU being released by Intel and AMD being 64 bit capable, even the lowly Celerons and Semprons. Although now there is the GCC D compiler, but I have not yet tried that, maybe I should...</description>
		<content:encoded><![CDATA[<p>Sadly what put me off D, when choosing a language for my last project about a year or so ago, was lack of 64 bit support. 64 bit support is pretty much essential now with every desktop CPU being released by Intel and AMD being 64 bit capable, even the lowly Celerons and Semprons. Although now there is the GCC D compiler, but I have not yet tried that, maybe I should&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
