Newbie to D, first impressions and feedback on the 5 (and more) first minutes.

ZombineDev via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed May 25 01:27:46 PDT 2016


On Tuesday, 24 May 2016 at 15:27:45 UTC, llaine wrote:
> Hi everybody,
>
> As written in the description I'm really new to D, I discovered 
> it a few weeks ago thanks to the D Conf in Berlin.
>
> After playing around for couple of days with it, I wanted to 
> share my journey with you guys on several points.
>
>
>
> 1 - Installation (DMD and DUB)
>
> I'm running Fedora 23 on a daily basis and the installation was 
> OK. Not as easy as on mac but still.
> I can't say that that it was easy, because I had to curl 
> dub.rpm package and compile it from source. But it doesn't 
> matter because for a linux user thoses things a pretty usual.
>
>
> 2 - Play-around
>
> That is the good part, after setting up my evt creating a Hello 
> World project and something a bit more complicated was really 
> easy.
> Thank's to DUB which take care of everything for me I was able 
> to create a website using Vibe.d project.
> Congratulations on this point to all the people who made dub. 
> Programming in 2016 should be like this.
>
> The only bad point I can see here is that it looks like it's 
> more easy easy to get ready on a mac than on a linux machine.
> (I tried all this with a friend who is running the latest 
> version of mac).
>
>
>
> 3 - Library
>
> That part was also good. Clicking on the packages menu on the 
> website and searching for the things I need was indeed super 
> easy. Everything in a big registery that's cool.
> I have a to say that I'm fucking amazed by the dlang.org 
> website which is super fast (WOW).
>
> 4 - Documentation (For a newbie)
>
> This part was a bit different. By being a total newbie to the D 
> language I don't really know where to begins.
> Of course I went to the getstarted.html page but as a newbie 
> with no system programming background I feel there are too many 
> choices for me.
> IMHO the best solution here would some kind of step by step 
> tutorial that go through all thoses points with very basic 
> explanation.
> After trying every of thoses pages, I finally try the "D Web 
> Development Kai Nacke" book which is pretty interesting.
>
> The only bad point here is that I can't find a "Effective D" 
> page. A document that gives tips for writing clear, idiomatic D 
> code. A must read for any new D programmer. It augments the 
> tour and the language specification, both of which should be 
> read first. (Like in golang for example)
>
> 5 - Tools
>
> Well in one word. It sucks. I've tried to setup an editor with 
> all the features that we can see in the wiki matrix.
> The only one which take them all is vscode. But for setup the 
> plugin I had to compile the workspace-d package (which at the 
> end didn't worked 
> https://github.com/Pure-D/workspace-d/issues/16#issuecomment-221274965).
> So I folded over Sublime Text to have autocompletion but it's 
> only available for the standard library (and not for Vibe.d, 
> the things that i'm looking to use).
>
> However I had to say that I was amazed by the rapidity of speed 
> answer over my github issue, WebFreak001 is doing really great 
> job here!!
>
>
> So, my plan here is to get more knowledge about the dlang in 
> near future. I'll be active on forum to annoy you guys.
>
> Ps : I'm looking for up to date benchmark such as Dlang vs Go 
> vs Nodejs vs Swift vs TurboPascal ;) (Actually without pascal).
>
> Cheers

Thanks for the detailed experience report!

Just one question about the installation - have you tried the 
install.sh script on http://dlang.org/download? I really like it 
because it is simple, allows you to manage several versions of 
the language and even provides easy access to the nightly builds.

About the benchmarks - you should know that any benchmark 
actually measures the speed of the generated code by a particular 
implementation of the language and also particular library 
functions, so you can't objectively compare languages that way, 
because all languages allow you to solve the same problem in 
different ways and also becuase different compilers can generate 
different code from the same D source file.
Of the languages you have listed, D gives you the most 
unrestricted access to the hardware, which would allow you to 
squeeze every bit of performance. However, unlike other systems 
programming languages, it allows you to write your code almost as 
easily as with scripting languages, which allows you to get a 
working prototype quickly and later (if you so desire) you can 
optimize it.
My general advice is to use DMD for its quick edit-compile-debug 
cycle, and then use LDC or GDC for measuring perfomance. 
Currently I would recommend LDC as it is more up-to-date with DMD 
at the moment, than GDC.



More information about the Digitalmars-d-learn mailing list