On Monday, 1 April 2024 at 02:08:20 UTC, Lance Bachmeier wrote:
On Saturday, 30 March 2024 at 05:01:32 UTC, harakim wrote:
It works well if you only need to work with a header. There are
still a few rough edges that get in the way if you're compiling
the full C sources (I filed bugs for all of them):
- Can't handle va_arg
- Can't cast to a pointer of a struct that's typedef'd
- Can't use complex numbers with the ternary operator
...
Once these final odds and ends are working, we have a killer
language feature.
Even though DMD can't compile some C code, that's pretty much a
non-issue for me anyway. In my environment the servers are all
Linux so "apt-get" (or equivalent) typically provides a
pre-compiled dependency. Being able to list a package as a
system dependency and then just call it from D with no interface
code is a Big Freaking Deal!
Compared to Python interfaces this is a huge improvement. It
makes D an even better replacement for the mixed mode python + C
development I was doing before switching to D for new projects.