I just think that Toady may want to 'eat his own dogfood' for a day before he releases.
I am pretty sure he does it all the time, also dogfood is hardly appropriate for one of the most in-depth and entertaining games on the market. If you take a look at the bug reports, you see that the main part of the game is working just fine, but the details are not. And given a game of this complexity, you cannot expect a single man to test all the details before every release, or we wouldn't have a release for the next few years. What Toady lacks is a professional team that supports him, but then such a team eventually demands salary, and that means DF needs to come with a price-tag, and that means certain features like graphics need to be adjusted to please the customers. A tantrum spiral of intense magnitude.
Incorrect on both counts. You do have a toolchain - you execute java bytecode, not java code directly. In fact you have to compile it yourself with javac, contrasted with something like python. For the other point - try working with RS232, or even some of the more esoteric SSL items - case in point, at my last job we had a major nightmare because our SSL code didn't work on IBM iSeries, but it did work on Windows and Linux. Regarding the other bit, RS232 worked on some platforms and on others the support simply didn't exist - got some weird JRE errors when that happened.
Well ok... if you call the one compiler tool a chain. Ok technically you could add Ant to that list, however I usually start counting the tool chain at the first item that I need to worry about, and thats 0 with Java, because all I need to do to release is to press one button and then wait for a second. If I compare that to the C/C++ nightmares where I need to make sure that really everyone kept the make files up to date, and that 20-30 minutes compile time on larger projects. I really gives me the creeps just remembering it.
Esoteric things as you describe are not supported by Java, and you can hardly blame a tool for not working properly with something that is not supported. And yes I do know the pain, I once run a RS232 project in Java and initially told the customer that this should be a day's work... we never finished it.
On the other hand the benefits of coding in Java: 64 bit is the new thing? Supported without even touching the code. So people now do have more than one CPU? Give me a minute... aaand we are multi-threaded. So your program crashed? There is a detailed error log that tells me where and why so I can fix it. Always.