DMD 0.149 release - What is missing from D?
Don Clugston
dac at nospam.com.au
Mon Mar 13 00:04:18 PST 2006
Charles Hixson wrote:
> MicroWizard wrote:
>
>>> My general experience with people who say "D is a great language, but I
>>> won't use it because of <minor nitpick> because <minor nitpick> is the
>>> most important thing in the world" is that they won't use it anyway, and
>>> are just looking for an excuse.
>> Absolutely agree.
>> I have told to many "friends" to check D site and tell me their opinions.
>> Most of them had excuses: no IDE, no GUI, no ... bla-bla-bla
>> And they use Visual Studio with Intellisense and such crap.
>>
>> (I use DMD as regular compiler for small inhouse projects for two years.
>> And I really like it.)
>>
>> D is not for every "code writer", it is for developers.
>>
>> Tamas Nagy
> The "no GUI" really *IS* a valid reason, not just an excuse. It depends on
> what your project is. I currently have two projects in mind. For one of
> them I may choose D, for the other...no stable GUI is a project killer.
>
> N.B.: This is not unique to D. Every new language comes to this problem,
> which may be condensed into a simple word: LIBRARIES!!! This is why a
> GOOD connection to C is so important to D. (And it's why an automated
> build tool that can add C code and D code together is important.) In the
> early days I remember a comment where Walter was looking at adding an
> automatic conversion of C header files into D files ... and decided that it
> was too difficult a job to do in a general way. (He also pointed at his C
> or C++ [I forget which] compiler, and showed how to use it as a
> preprocessor...which didn't help me as I'm using Linux, but demonstrated
> that he DID understand the problem.)
>
> Actually, a version of this is why I've chosen Python over Ruby for some
> projects. I think that Ruby is a much better language, but Python started
> earlier, so Python has the libraries.
>
> This is a serious problem, and I don't know any way to solve it. It can
> "sort of" be handled by just continuing on, and developing libraries in
> passing. Over time the most critical libraries will be added. But note
> that Ruby is STILL severely behind Python. This is not a problem that can
> be handled quickly in this way. A solution would dissolve the problem by
> allowing transparent access to, e.g., C libraries. (Even this wouldn't be
> a total solution, because then there will be the problem of
> documentation...where the documentation for the libraries will all be
> directed at users of the original language.) This is probably a problem
> that we must be satisfied with handling rather than solving. Over time it
> will decrease in importance. Currently, while the GUI and database
> libraries are missing/primitive/fragile ... well, a lot of the time D won't
> be the correct language, even though as a language it would be the correct
> choice.
I completely agree with this. I think the language is good enough now
that future progress will be limited by the quality of the libraries.
The most severe symptom is that right now, D doesn't even have proper
windows headers!
IMHO, it's not currently suitable for anything that involves I/O other
than reading and writing files.
The 'implib' tool has done a lot to improve the situation with respect
to C libraries -- now at least we can link to them. We just need a
header file converter.
I've been trying to understand the 'problem space' for C -> D header
conversion. It seems to me, that it is a solvable problem, once you
accept that because of ambiguities in the C preprocessor, a fully
automatic conversion is impossible. My proposed solution is to have a
prepreprocessor, which modifies a C header into a format without
ambiguities, which can then be converted automatically.
I think that if we had such a tool, D would be vastly more usable.
I think this issue is about to become 'mission critical' for D.
More information about the Digitalmars-d-announce
mailing list