[OT] - C++ exceptions are becoming more and more problematic

Guillaume Piolat first.last at gmail.com
Sun Feb 27 21:03:54 UTC 2022


On Sunday, 27 February 2022 at 19:32:47 UTC, Paulo Pinto wrote:
>
> How do you start a new project in D for PlayStation 
> 5/Switch/XBox

You get LDC/GCC to emit binary code for whatever platform they 
are using, and port the needed system headers (with agreement 
from the vendor) to your desired language. Chances are, the 
headers are in C or C-ABI C++ for that reason.


> or get a AUTOSAR certification for deployment of D written 
> software?

People are writing software for ships with D, so probably they 
can use D for cars.


> Unless one is willing to do the work Unity has been doing with 
> C#, or Ferrous Systems is doing with Rust, D isn't going to the 
> choice, rather those.

You can write bindings for just the API you need. Plus if you go 
the BindBC way, it break all linking dependencies, making it 
really easy to port and possibly be more portable than the native 
vendor SDK. Bonus points: build fast and you avoid, say, an IDE 
lock-in.

For Auburn Sounds we translated headers and implemented 
VST2/VST3/AU/AAX/LV2 and Apple headers. We re-used X11 headers 
translated by somebody in the D community. All this work is 
manual and not particularly heroic, as you pay it only _once_. 
Others have done this for Java, C# or Delphi.

Writing GPGPU in D is not any more complicated than adding the 
DUB line for derelict-cuda or derelict-opencl really.

It's really simple, writing bindings and platform support is 
usually a one-time cost to pay, while using an unproductive 
language is a lifetime and mental cost that will close product 
opportunities by being annoying day-in, day-out.

If you want to use D (and you should) you are going to make the 
platform support as you go.

A freelancer wouldn't recoup the cost, but a product-based 
business will.


More information about the Digitalmars-d mailing list