How do you use D?

Neia Neutuladh via Digitalmars-d digitalmars-d at puremagic.com
Thu Aug 3 20:16:12 PDT 2017


On Friday, 28 July 2017 at 14:58:01 UTC, Ali wrote:
> How do you use D?

I use D for pretty much everything in my personal life at the 
moment. I've found some things that I thought were better in 
other languages, but either D's ecosystem has improved (which is 
why I'm rewriting my RSS reader from C# to D -- when I wrote it, 
vibe.d wasn't a thing) or I was proven false (scraping websites 
in Python led to a ton of inscrutable encoding errors; 
implementing a parser in C# was about 900 times slower than the D 
version until I wrote my own UTF8 string struct and made some 
other optimizations, at which point it was merely 3.5 times 
slower).

By count, most of what I'm using it for is small scripts for 
simple simulations. Recurrences that I can't solve mentally in a 
reasonable amount of time, so I need a program for it. In ages 
past, I'd use Python, since it tends to be convenient. However, 
while it's a bit more convenient than D, type safety is worth a 
lot.

I tend not to finish projects, but the ones I've worked on in the 
past week or strongly intend to get back to are:

* An init system (mainly for learning).
* A procedural generator for a witch's spellbook [1]
* A rewrite of my RSS reader (70% complete)
* A MUD involving procedurally generated sky islands

As for the mechanism by which I use D: I've mainly stuck to vim. 
I've tried out vscode plus code-d, but that doesn't work for me. 
And in the past, I've used Eclipse plugins for D. Vim, NERDTree, 
and tmux make for a good editing experience -- it's what I use 
for Java at work.

> Did you introduce D to your work place?

I used D to write a tool to extract and update vbulletin 
templates from a directory of templates. This meant we could 
store things in source control. (Vbulletin stores templates in 
its database. This makes their hosted solution much better, I'm 
sure. It makes my life more annoying.)

Unfortunately, I was the only one who preferred source control 
rather than editing live.


[1] Sample spellbook, only one spell (it needs some work):
> The Book of Vile Darkness
> a witch's guide to necromancy with friends
>
> 𐀛𐀲 𐀔𐀼 𐀗 𐀩𐀴 𐀬𐀤 𐀢𐀂 𐀳𐀘 𐀓𐀝 𐀓𐀴 𐀅 𐀹𐀶, a spell to banish spirits
>
> You will need:
>  * graveyard soil
>  * bronze mirror
>
> reduce graveyard soil to a paste
> boil paste, bronze mirror in a size 6 cauldron
> mix paste thoroughly


More information about the Digitalmars-d mailing list