Is modern D ready for "embedded first" paradigm?

IGotD- nise at nise.com
Fri Dec 8 22:45:05 UTC 2023


On Tuesday, 10 October 2023 at 06:39:14 UTC, Dmitry Ponyatov 
wrote:
> Reading some posts about the D language here and there I found 
> some opinion that D is not popular because it still did not 
> find its kill features set and application domain.
>
> What do you think about promoting D lang as a main development 
> language for embedded, IoT, and real-time multimedia & 
> automation applications?
>
> Is D ready in its current state (including runtime, stdlib and 
> side libraries) to follow the cross-compile way as a main 
> method of its usage? (GDC/LDC)
>
> Many decades the classical C and some limited set of C++ plays 
> in this area, but nowadays embedded (Arduino, Raspberry, etc) 
> raised its usage among hobbits and not so qualified and 
> non-professional programmers and users. Maybe this directon can 
> push the D language in its evolution and popularity, as people 
> now needs some multiplatform optimizing compiler for rich and 
> handy language but not so complex as classical C, or 
> mbed/Arduino-like C++ dialects?

D is about in the same league as C++. D has better C (or stripped 
object.d) in order to compile directly to object code without the 
need of any library. When you try to port the library, C++ and D 
both has the problem with that you need to port a lot of 
functionality in the STL/Clib first.

You have to keep in mind you need to separate small embedded 
systems (about 128K and less) IoT, multimedia. IoT and multimedia 
requires a full "rich OS" with a graphics stack and networking, 
which means full D and you would probably not use better C or 
similar.

For Arduinos and such which is commonly call microcontrollers, D 
can serve a purpose with better C. To be honest, **the advantage 
of D starts to pay off when complexity goes up**. If you want to 
blink a LED, then additional features of D isn't that much worth 
it and you probably will use the SDK that comes with the 
microcontroller.



More information about the Digitalmars-d mailing list