Archive for January, 2007

DMD 1.001

Wednesday, January 24th, 2007

The latest release of DMD contains a handful of bug fixes, but the spotlight is on a shiny new garbage collector implementation.  The new implementation aims to improve performance by being type-aware. This has the potential to break existing code that does a lot of casting between types. It is suggested that if you plan to cast a variable to another type, you should declare it as void[] memory. Here’s an example Walter gave in an earlier NG post:

struct Foo { … };

Foo[] f;

p = new void[100];

f = cast(Foo[])p;    // ok

byte[] b = cast(byte[])p;

f = cast(Foo[])b;    // ok, GC still regards memory as void[]

p = new byte[100];

f = cast(Foo[])p;    // will likely eventually corrupt memory

So watch out for that. If you need to revert to the old GC, you can do so via a runtime call: std.gc.setV1_0().

Wow, two of my biggest gripes about D (debugging and GC performance) have been addressed this week. If this keeps up, I’ll have nothing to complain about! I’m also starting to feel guilty for choosing C over D for a project I’m working on now. Please, stop with all of the improvements, Walter!

Technorati Tags: , , , ,

DDBG

Tuesday, January 23rd, 2007

One of the biggest gripes about D, and rightly so, is the lack of a solid debugger. Sure, we have the antiquated WinDbg on Windows and tooth-pulling gdb on Linux, but there are quirks with how they handle D data types. Windows users, at least, can now rejoice. Jascha Wetzel is putting together a D-specific, debugger called DDBG. It understands the Codeview symbols DMD outputs on Windows as well as D data types. Currently, it is in an ‘alpha state’, but Jascha has made it available for your use anyway.

This is a project I’ve been hoping to see for a while now. It will be great to finally have a debugger that understands D.

Technorati Tags: , , , , , ,

The Future is Now

Sunday, January 21st, 2007

Kevin Bealer has put together a project called Futurism over at DSource. If you’ve done a deal of multithreaded programming in different langauges or have read up on multithreaded techniques, you will likely have stumbled across “futures” at one point or another. Different implementations allow for different degrees of functionality, but the core of the concept is that when a return value is expected from an asynchronous operation, a future can be used to store its result. Futurism is an implementation of futures for D. Questions and comments should be directed to the project forums.

Technorati Tags: , , ,

gdcwin Binaries Updated

Wednesday, January 17th, 2007

Anders has uploaded the 0.21 binaries of gdcwin to the project page. One change is that you can now install gdcwin on other platforms to build applications that target windows:

…there are now GDC installers for
Windows (EXE), plus Linux (RPM) and Darwin (TGZ).
On the non-Windows platforms, it’s usually invoked
as “i386-mingw32-gdc” or as “i386-mingw32-gdmd”.

For testing the programs, WINE is recommended…

Anders also says that GCC-3.4.2-20040916-1 is now deprecated and suggests upgrading to GCC-3.4.5-20060117-1.

Technorati Tags: , , , , ,

powered by performancing firefox

The One With D Turns 1

Tuesday, January 16th, 2007

The first post to this blog, Introducing D, was made one year ago. I had a vague idea that I would use the blog to post my opinions of D, perhaps share some source examples, and to rehash news from the newsgroups, DSource forums, and anywhere else D popped up. This was one way I saw that I could contribute to the ever-growing D community that I had come to enjoy being a part of. As it turned out, the news posts became the primary focus — they’re a lot quicker to write!

Site and feed statistics show a steady growth in traffic. There are a lot more people visiting the blog than there were a year ago, that’s for sure. While I don’t foresee the format changing drastically, I do hope to expand this blog a bit over the next year. Now that DMD 1.0 is here, I expect we’ll see several new projects launching. I hope to include here regular interviews with people using D in projects, commercial or otherwise, so that others may use their feedback to help in evaluating the language for their own projects. I already have a couple of interviews in mind to get that kick-started, so look for that in the next couple of months.

If you made an announcement that didn’t get commented on here, it wasn’t intentional. Sometimes I miss things. And Wordpress has the weird bug that keeps cropping up every time I try to post something about Kirk McDonald’s project (I’m afraid that if I type the name here this post won’t go through). If you do notice that I’ve missed something, be sure to let me know. I know some readers use this blog to keep up on current D events because they don’t have time to pore through the NG or the different forums regularly. Plus, I get a lot of search engine hits for different D-related searches. Posting an announcement here can get a few extra eyes on it that otherwise wouldn’t have seen it.

I’m looking forward to the next year of blogging D. I’m sure there will be many great things to write about. And thanks to you for reading and giving me a reason to keep posting. (insert catchy D battle cry here)

powered by performancing firefox