built in import c header files

Alexis Kyaw alexis at kyaw.de
Sat Apr 17 08:36:41 UTC 2021


On Tuesday, 6 October 2020 at 20:59:54 UTC, 12345swordy wrote:
> I remember reading a reddit comment saying that if d were to 
> import c header files directly without any 3rd party libraries 
> it would be a game changer. The question is: how difficult to 
> implement a C AST parser for the dmd front end?
>
>
> -Alex

This would indeed be a total game changer.

I just looked at D in the course of checking out newer 
programming languages and it turns out that I think none of them 
will be really successful replacing C (or C++) because there's no 
direct compatibility with C (Priority 1) and C++ (Priority 2) and 
ideally not only using the C (and potentially C++) binaries 
directly, but also creating header files to allow using the D 
binaries smoothly "on the other side".

There is just some much existing code that you would totally on 
the winner side with this and your totally out in the desert 
without it. Just like the biggest argument for Java is it's 
ecosystem, this would make all C (and maybe even C++) libraries 
part of the D ecosystem.

For this to be really an argument, it must be an in-built feature 
of the language toolchain and a priority in all future 
developments.

Just imagine what this would mean: a clean way forward from 
existing C code to write bulletproof applications on top of all 
the existing code. And a way to use the new code from new 
libraries written in D without any hassle.

A potential external tool would a C to D converter which also 
allows easy migration of C code. Just imagine converting a 
complete Linux implementation to D, compile it and having a full 
D-based Linux.

Then you could start migrating the code base to use the advanced 
features of D and start a new age for the whole industry.

This would make the world listen.

Actually it looks as if this is not such an ambitious goal for D, 
so I'm surprised it's not under way. If had time I'd maybe look 
at it myself, unfortunately I have project work and 3 children, 
leaving really very little time for extra projects.





More information about the Digitalmars-d mailing list