Someone wrote sth along the line of "How egotistical! Some want this and want that. D doesn't get better or more popular by wanting ever more things".
I'll very soon begin to work on a project. Originally it was planned to it in Ada. Relevant feature sets are roughly equal with D offering a little more (like comfortable unittests) and Ada being well proven. I *want* to go D. And I would, of course, gladly tell everyone who doesn't run away fast enough that our application is developed in D.(The application will quite probably have a good, even international visibility but by no means be major or widely known. The major (and very well useable, not "crippled") part of it will be free, btw.) In other words: One can contribute also by using (and talking about) D - not only by defending it teeth and claws or by writing code for or around D itself. Here is my current resumee: - dmd not debuggable -> not an acceptable solution, no matter how fast it compiles. - gdc possibly still buggy (Disclaimer: Probably it was just bad luck that I fell over a bug (not even an important one) and am a little wary now - No offense intended. I'm immensely grateful that with gdc there is an alternative and, even better, GDB *works* with gdc - hurray!!) - gdc (2): I have to either use an old version (4.63) or build it myself along with gcc, which is a major hurdle -ldc not yet tried. Dunno. - Windoze stuff not yet tried. But the mere thought that D might force me to use Windoze puts dark shadows over D, sorry. - IDEs: Some existing. Using geany with good support for D is perfectably acceptable (Me not liking fat IDEs anyway). It comes down to a very acceptable editor with some gadgets (like class viewer) with a small engine driving builds and a debugger interface (or do I mix that up with Code:Blocks?)) Summary: Good starting grounds. Perfection and dreamland can be reached later. - libraries: Looks between regrettable (lots of old/broken/pre alpha stuff) and uncomfortable (equals increased development cost/time). Major problem: No readily available mechanism (I know of and would trust/use) to 2/4 automate C lib binding. The situation being that I must, and pretty soon, make a decision, it - for me - comes down to: - dmd would be used for coverage and doc and possibly profiling but not for compilation. - Can I trust the GDC guys, are they professionals? My impression so far: Yes. That's important to me because GDC clearly is the compiler I'd go with. - Will they provide at least GDC 4-7 binaries (they did for GDC 4-6 (debian)) - dunno. Would be a very big Plus. - IDE *is* a major issue for general language uptake. For myself though I'd have a quite acceptable base. Worst case: Fumble and finetune in Scite engine for D. No sweat. As for libs and stuff D looks lousy and unorganized. For me that's not a problem, I'll bite and find my way through. For general language uptake and acceptance though that's about as attractive as the more remote corner of a used car shop. Red line: When in a project I have to "fight" the project - not the tools; those must simply work reliably. The community seems quite OK. Very little flames and hate, quite professional with a tendency to be friendly; they strongly seem to prefer to discuss and elaborate minute details, work-arounds and hacks, and seems to react rather pissed to any critical remark on D, but I feel that there would basically always an answer if one had a question. Andrei (sorry, the core people *are* important because they shape language and community) is a matter for itself and W. Bright would rather discuss the availability of TV programs than to answer, even when addressed directly, if he doesn't like someone or consider him unworthy because being newb or whatever. The layer around them though seems more open and accessible. Good enough, no, actually even quite good. In summary, my resumee is quite positive (if with quite some bumps) but *THE* go or break issue is debugging with dmd and GDC being reliable. For the former I don't hold my breath, for the latter I'm quite positively looking ahead. Now destroy me. A+ -R
