On Monday, 4 March 2024 at 13:37:53 UTC, Fidele wrote:
I want to start learning D programming language it looks interesting

Answering thread question:

It can be complicated, D has a lot of features and mastering it will take quite a lot of time.

Since D is statically typed compiled system programming language it is still will be harder to grasp than say Python.

The core language is pretty neat and shouldn't cause much trouble, by core here I mean basic templates, basic mixins, basic classes and operator overloading, version conditioning and such.

Ranges and the standard library approach to "Design-by-Introspection" will definitely require some time to get used to, so expect to dive into std sources a lot for real world examples.

Advanced templates is still not as hard as C++ though, and there is no some of the more quirks that C++ has.

Few things to avoid until you absolutely know what you are doing is @nogc and betterC.

There is also a "system" part in it that ultimately will require you to understand what is actually a executable file and what is a linker, knowing how to use debuggers, etc...


Finally, D is flexible enough to delay touching some of those features until you are ready, and unlike practically any other language it doesn't forces any philosophy or zen or whatever ideology on you.

Before you started though - note that D is not considered "enterprisey" enough language so don't expect your favorite JetBrains IDE or other fancy tooling, the debuggers are just minimally working, and generally any other ecosystem tools (if any) too. This means you have to understand more about how these things works and this may add extra complexity and make you think the whole language is not there yet.

Reply via email to