Why do you continue to use D?

FunkyD MrFunky at YourDaddy.com
Mon Jun 8 13:09:20 UTC 2020


On Wednesday, 3 June 2020 at 17:59:37 UTC, Jan Hönig wrote:
> On Wednesday, 3 June 2020 at 11:14:13 UTC, aberba wrote:
>>
>> Oops, what about you?
>
> As a PhD Student I do lot of coding in Python. We use it (and 
> other languages) to generate high performant C/C++ code.
>
> Why am I curious about D and like working with it?
> 1) Using Python and other dynamic typed languages makes me 
> forget how to program with statically typed languages. I don't 
> like being tied up to only functional (Haskell), to weird 
> templates (C++) or to the JVM (Kotlin). Go doesn't have the 
> expressiveness and I haven't really tried Rust, but I suspect 
> the same.
>
> 2) I think D's motto "write fast, read fast, run fast" 
> describes the language pretty well. The syntax is nice. Once 
> you understood "you want to use structs" and "ranges are cool" 
> it really is nice to look at.
>
> 3) D's compile time capabilities are fantastic (CTFE, Templates)
>
> 4) Community. Lot's of nice and most notably competent people 
> here.
>
> 5) I hope to get rid of Python -> C++ some day.


You should just learn D, it is not difficult. Then you can make 
the decision.

If you already know several languages you should be able to pick 
up D quite naturally, specially if you can program in C\C++. Just 
learn it. As a language, for the most part, it is quite easy. 
Templates are quite natural. They are sort of just an extension 
of a typed language. That is, "templates" types are just abstract 
types.

You can always use D for certain things that you find natural 
once you have learned it. Don't expect much and you won't have 
any problems.

D can be used in other languages so once you know enough about it 
you'll have an additional tool. I don't use D mainly because the 
ecosystem, but I have little problem with the language itself. 
There are a few hairballs but overall it's worth learning. Far 
better than python, C, C++.  Of course, a language is a tool. 
Ultimately you must use the right tool for the job... but if you 
have no idea how to use a tool how can you possibly know if it's 
right?

For me, D is good at small utilities. Not much more. Any time I 
try to write a large app I always come to some issues that makes 
me want to kill myself. I always think "Man, I'll be able to use 
all the amazing meta programming to do really cool stuff" and I 
do but then something basic that I need always destroys any 
progress I made with meta programming. D is a special language 
for special people... kinda anal retentive autistics.



More information about the Digitalmars-d mailing list