Is D programming friendly for beginners?

evilrat evilrat666 at gmail.com
Mon Mar 4 15:39:43 UTC 2024


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.



More information about the Digitalmars-d-announce mailing list