<?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 for timburrell.net</title>
	<atom:link href="http://timburrell.net/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://timburrell.net</link>
	<description>All that is Tim Burrell</description>
	<pubDate>Thu, 21 Aug 2008 18:17:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>Comment on D Postmortem by Tim.</title>
		<link>http://timburrell.net/blog/2008-06-22/d-postmortem/#comment-175</link>
		<dc:creator>Tim.</dc:creator>
		<pubDate>Sat, 28 Jun 2008 18:34:55 +0000</pubDate>
		<guid isPermaLink="false">http://timburrell.net/?p=358#comment-175</guid>
		<description>Simon: Agreed... especially in regards to the documentation bit.  Most people probably don't know this, but D actually has code documentation built into the compiler (similar to how doxygen spits out html or tex or whatever you want based on markup).

Walter had a great idea thinking that code documentation should be built into the language spec, but unfortunately it ended up having the reverse effect on the language.

The markup isn't doxygen compatible so doxygen can't be used, but the theory is that should be okay since the compiler has built in docgen.  Unfortunately because it's built into the compiler, and you don't want your compiler to require various graphing and other strange libraries as dependencies, clearly no compiler based docgen is ever going to be as good as an add on tool.

And, because there is support built into the compiler, clearly no one's going to put effort into adding D docgen support to existing tools.

Sounds like a small problem right?  Well unfortunately no, it's not.  The whole reason Tango's (and nearly all D projects, including D itself) documentation is so crappy is because it needs to be built with D's docgen.  The output of candydoc is really terrible compared to other tools: it doesn't alphabetize functions, can't insert equations via LaTeX, etc, etc.  Basically it's just a mess.</description>
		<content:encoded><![CDATA[<p>Simon: Agreed&#8230; especially in regards to the documentation bit.  Most people probably don&#8217;t know this, but D actually has code documentation built into the compiler (similar to how doxygen spits out html or tex or whatever you want based on markup).</p>
<p>Walter had a great idea thinking that code documentation should be built into the language spec, but unfortunately it ended up having the reverse effect on the language.</p>
<p>The markup isn&#8217;t doxygen compatible so doxygen can&#8217;t be used, but the theory is that should be okay since the compiler has built in docgen.  Unfortunately because it&#8217;s built into the compiler, and you don&#8217;t want your compiler to require various graphing and other strange libraries as dependencies, clearly no compiler based docgen is ever going to be as good as an add on tool.</p>
<p>And, because there is support built into the compiler, clearly no one&#8217;s going to put effort into adding D docgen support to existing tools.</p>
<p>Sounds like a small problem right?  Well unfortunately no, it&#8217;s not.  The whole reason Tango&#8217;s (and nearly all D projects, including D itself) documentation is so crappy is because it needs to be built with D&#8217;s docgen.  The output of candydoc is really terrible compared to other tools: it doesn&#8217;t alphabetize functions, can&#8217;t insert equations via LaTeX, etc, etc.  Basically it&#8217;s just a mess.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on D Postmortem by Simon</title>
		<link>http://timburrell.net/blog/2008-06-22/d-postmortem/#comment-174</link>
		<dc:creator>Simon</dc:creator>
		<pubDate>Sat, 28 Jun 2008 02:03:39 +0000</pubDate>
		<guid isPermaLink="false">http://timburrell.net/?p=358#comment-174</guid>
		<description>Thanks for sharing your D thoughts Tim.

Stability and a good library get my vote. Must haves!

From my short lived programming career back in the 80's and 90's the things that always stood out for me and my colleagues with the programming languages we used were the availability of well documented libraries and stability. D is still not stable enough to be a serious contender for serious projects. Tango is very much doing the dance around and beyond Phobos but it also still has some way to go before it's a well rehearsed rock solid stage ready production.

To Walter, given the age of D as a language it is a very impressive effort, but in my experience stability is still nagging at the edges.

To the Tango team, nice, saved me a heap of time on a recent small project, but documentation??

Stability and a good library. In my opinion both of these issues must be thrashed out to clear the way forward for D fof D (D Future OF D).</description>
		<content:encoded><![CDATA[<p>Thanks for sharing your D thoughts Tim.</p>
<p>Stability and a good library get my vote. Must haves!</p>
<p>From my short lived programming career back in the 80&#8217;s and 90&#8217;s the things that always stood out for me and my colleagues with the programming languages we used were the availability of well documented libraries and stability. D is still not stable enough to be a serious contender for serious projects. Tango is very much doing the dance around and beyond Phobos but it also still has some way to go before it&#8217;s a well rehearsed rock solid stage ready production.</p>
<p>To Walter, given the age of D as a language it is a very impressive effort, but in my experience stability is still nagging at the edges.</p>
<p>To the Tango team, nice, saved me a heap of time on a recent small project, but documentation??</p>
<p>Stability and a good library. In my opinion both of these issues must be thrashed out to clear the way forward for D fof D (D Future OF D).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on D Postmortem 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>Comment on D Postmortem by Marko Tosic</title>
		<link>http://timburrell.net/blog/2008-06-22/d-postmortem/#comment-171</link>
		<dc:creator>Marko Tosic</dc:creator>
		<pubDate>Tue, 24 Jun 2008 09:06:45 +0000</pubDate>
		<guid isPermaLink="false">http://timburrell.net/?p=358#comment-171</guid>
		<description>Hi Tim, 

firstable thanks for your insights. I was just starting to look into D and quite liked what i saw so far. However, to judge a language's potential you need to try it on a huge project as you obviously did, so you might have saved a lot of people a lot of time, at least for now. What i was wondering is: Did you only consider the  the Digital Mars Compiler or did you also try the GNU one (gdc)?</description>
		<content:encoded><![CDATA[<p>Hi Tim, </p>
<p>firstable thanks for your insights. I was just starting to look into D and quite liked what i saw so far. However, to judge a language&#8217;s potential you need to try it on a huge project as you obviously did, so you might have saved a lot of people a lot of time, at least for now. What i was wondering is: Did you only consider the  the Digital Mars Compiler or did you also try the GNU one (gdc)?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on D Postmortem 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>Comment on D Postmortem by Mike</title>
		<link>http://timburrell.net/blog/2008-06-22/d-postmortem/#comment-169</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Mon, 23 Jun 2008 15:31:33 +0000</pubDate>
		<guid isPermaLink="false">http://timburrell.net/?p=358#comment-169</guid>
		<description>P.S.  This blog software has no submit button!  (for me, Firefox 3 under Linux).

I'm submitting by hitting return with the cursor in the "Name" field, but many people wouldn't know that trick...</description>
		<content:encoded><![CDATA[<p>P.S.  This blog software has no submit button!  (for me, Firefox 3 under Linux).</p>
<p>I&#8217;m submitting by hitting return with the cursor in the &#8220;Name&#8221; field, but many people wouldn&#8217;t know that trick&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on D Postmortem by Mike</title>
		<link>http://timburrell.net/blog/2008-06-22/d-postmortem/#comment-168</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Mon, 23 Jun 2008 15:30:26 +0000</pubDate>
		<guid isPermaLink="false">http://timburrell.net/?p=358#comment-168</guid>
		<description>re Python: I would argue that Python's syntax *is* part of what makes it easier/faster to develop in.  Every comprehension I write, for example, would be half a page of ugly, difficult-to-read C++ code, for example.

Python's major virtue, in my mind, is its simplicity.  There's relatively little you have to learn and know to read and write Python programs.  Compare this to Perl or C++'s massive lists of "things you must know in order to be fluent".</description>
		<content:encoded><![CDATA[<p>re Python: I would argue that Python&#8217;s syntax *is* part of what makes it easier/faster to develop in.  Every comprehension I write, for example, would be half a page of ugly, difficult-to-read C++ code, for example.</p>
<p>Python&#8217;s major virtue, in my mind, is its simplicity.  There&#8217;s relatively little you have to learn and know to read and write Python programs.  Compare this to Perl or C++&#8217;s massive lists of &#8220;things you must know in order to be fluent&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on D Postmortem 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>Comment on D Postmortem 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>Comment on D Postmortem 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>
</channel>
</rss>
