My first experience as a D Newbie

Rion Rion at rion.com
Fri Oct 13 15:29:54 UTC 2017


On Friday, 13 October 2017 at 13:14:39 UTC, Steven Schveighoffer 
wrote:
> Thanks for replying. I did not mean my post as a slight against 
> your knowledge, but really about my ignorance -- I don't know 
> what the expectations of a Windows user are. I think the 
> Windows users we do have on the core team (Walter being the 
> main one) probably aren't typical Windows developers. But my 
> experience seems to be most of the "I've tried to use D for 10 
> days and it sucks!" rants come from the Windows side, and they 
> are mostly about installation and IDE woes. On my mac, I just 
> do "dvm install 2.076.0" and I'm up and running.
>
> I think at some point, an actual company will pick up the 
> maintenance of a good D IDE for windows, and will solve this 
> problem. Unfortunately, we have to rely on volunteers right 
> now, and that company hasn't materialized.
>
> One note about your requirements, auto-completion I think is 
> something that I love about IDEs for other languages (I would 
> be lost in xcode without it) and is something I've never used 
> with D (all my attempts have been disasters). It's definitely 
> something we need to improve the experience on.

As one of those Windows users that has a love/hate relationship 
with D, i can only state that the issues that the OP has faced, 
are similar to those that i seen.

DMD in general installs good on Windows ( minus the path at times 
not getting registered and the need to logout/reboot ).

The issues mostly come from the editor support and at times 
horrible dub package breaking. D has the habit of breaking 
backward comparability in specific releases, mostly from improper 
testing the compiler vs the dub packages.

The issue with with code-d, serve-d and other VSC solutions that 
go from the above mentioned path issues, dub package breaking, 
support packages refusing to compile, the simple fact that some 
maintainers assume that GIT is standard installed, ...

The list is long and currently code-d and serve-d are broken 
again. At times they work, reinstall them on a other system and 
they break.

Its probably the main reason why i do not use D for any big 
projects. The feeling that things break constantly or do not work 
the same on almost the exact systems. D and everything around it 
on Windows feels fragile, that is the best way to describe it. 
Same with some of the user friendliness of the compile options 
the moment you step outside simple run/build and start playing 
with shared libraries etc. Trust me when saying that a lot of 
other languages feel more complete.

Even the D error output feels year 2000, compared to Rust, 
Crystal etc... Probably very usable for D experts but lackluster 
for a language that seeks adoption in 2017. Same issue with the 3 
different compilers and different command options. The steps 
needed to figure out cross compiling is bigger then Go, Rust, ... 
Let alone the above mentioned shared libraries.

D is a marvelous project with a clear C++ developers focus, and i 
can only conclude that C++ developers are people who are into 
sadomasochism based upon some of the friendliness features :)

That is always the issue with a language that focuses on a 
specific group of developers, with a mindset that they can find 
there way around similar design. But it does not work so well on 
developers who like the current new generation of languages that 
make things more easy on the brain.

The issue is not only located in the Windows issue but also 
somewhat in the design mentality it seems. That give the 
impression that Windows is just a side project and people who do 
not come from a C/C++ background there complaints are reduced to 
complainers.

Instead of focusing on adding new features, do a  audit and fix 
the library its GC reliance, better documentation, more user 
friendly compiler options, better (universal) editors support for 
people who do not use the dlangide/visualstudio plugin, ... you 
know, the boring stuff.

I have probably put in a few hundred hours try to learn D and get 
going. And half that time was pure wasted on bugs, editor issues, 
frustration, hours looking up something that is so easy in other 
languages, ...

Recently i was helping a developer who was benchmarking D+Vibe.d, 
on his OsX he never got parallel support to work ( error fault 11 
)  for Vibe.d, resulting in vibe.d running single core and losing 
to Crystal and Rust big time ( single core tests ). I do not 
expect him to pick up D based upon those results. That was two 
developers trying to find the correct way to force vibe.d to work 
parallel on his system. Lets not count the hours lost for use 
both.

So currently i am more then a bit salty about D again. Its always 
something left or right that just does not work properly.

His response was Go simply works even if it was slower then D. I 
can state the same that despite Go its fault, it simply works, 
same with the editor support etc. And that is frankly bad 
advertisement for D.

Now excuse me as i prepare for a long trip. Maybe its better to 
simply pick up Go again, then keep hitting my head against the 
wall. As i started this long blog, love and hate relationship 
with D.


More information about the Digitalmars-d mailing list