www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Newbie to D, first impressions and feedback on the 5 (and more) first

reply llaine <darksioul6 gmail.com> writes:
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
May 24 2016
next sibling parent reply Daniel Kozak via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> writes:
Dne 24.5.2016 v 17:27 llaine via Digitalmars-d-learn napsal(a):

 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.
On Archlinux this is even easier than on Mac just sudo yaourt -Sy dlang dub
 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).
As I said earlier it is fedora who should be blamed here :D
 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).
Again on Archlinux just run this command: yaourt -Sy workspace-d and you are done :)
 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
May 24 2016
parent reply llaine <darksioul6 gmail.com> writes:
On Tuesday, 24 May 2016 at 16:17:25 UTC, Daniel Kozak wrote:
 Dne 24.5.2016 v 17:27 llaine via Digitalmars-d-learn napsal(a):

 [...]
On Archlinux this is even easier than on Mac just sudo yaourt -Sy dlang dub
[...]
As I said earlier it is fedora who should be blamed here :D
 [...]
Again on Archlinux just run this command: yaourt -Sy workspace-d and you are done :)
 [...]
Thank your for your answer! Maybe all thoses are Fedora related yes :) But I guess that for the moment I have to keep it unfortunatly but that's OK, let's try to make dlang great on fedora !
May 25 2016
parent reply Russel Winder via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> writes:
On Wed, 2016-05-25 at 07:43 +0000, llaine via Digitalmars-d-learn
wrote:
[=E2=80=A6]
=20
 Thank your for your answer! Maybe all thoses are Fedora related=C2=A0
 yes :) But I guess that for the moment I have to keep it=C2=A0
 unfortunatly but that's OK, let's try to make dlang great on=C2=A0
 fedora !
D is a problem on Fedora: dmd, gdc, and dub are not packaged. ldc is so there is that =E2=80=93 many would argue that having ldc is much more impor= tant than dmd or gdc. =C2=A0Yes there are dmd and dub rpms but it is all very manual. There needs to be a repository for Fedora rpms as there is one for Debian debs. I do not really have the proper resources to host such a repository and because of this I have not built one. I know I should rather than just moan, but Debian is my main platform and that is covered. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
May 25 2016
next sibling parent reply llaine <darksioul6 gmail.com> writes:
On Wednesday, 25 May 2016 at 09:41:10 UTC, Russel Winder wrote:
 On Wed, 2016-05-25 at 07:43 +0000, llaine via 
 Digitalmars-d-learn
 wrote:
 […]
 [...]
D is a problem on Fedora: dmd, gdc, and dub are not packaged. ldc is so there is that – many would argue that having ldc is much more important than dmd or gdc.  Yes there are dmd and dub rpms but it is all very manual. There needs to be a repository for Fedora rpms as there is one for Debian debs. I do not really have the proper resources to host such a repository and because of this I have not built one. I know I should rather than just moan, but Debian is my main platform and that is covered.
So in your opinion Debian is the best platform for D development? Which IDE/Editor to you use?
May 25 2016
parent Russel Winder via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> writes:
On Wed, 2016-05-25 at 09:54 +0000, llaine via Digitalmars-d-learn
wrote:
 [=E2=80=A6]
=20
 So in your opinion Debian is the best platform for D development?=C2=A0
 Which IDE/Editor to you use?
Use of Debian is not really a D thing , but because of D-Apt Debian is good for D working. I am sure Arch is as well.=C2=A0 I mix between Emacs and IntelliJ IDEA, Eclipse if necessary. D is fairly well supported in Emacs. There is DDT for Eclipse. For IntelliJ IDEA there is the beginnings of support from Kingsley. This needs more work and if it is aggreed that the plugin can move from being Java implemented to being Kotlin implemented, I may well wade in to it's development. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
May 25 2016
prev sibling next sibling parent reply Richard Delorme <abulmo club-internet.fr> writes:
On Wednesday, 25 May 2016 at 09:41:10 UTC, Russel Winder wrote:

 D is a problem on Fedora: dmd, gdc, and dub are not packaged. 
 ldc is so there is that – many would argue that having ldc is 
 much more important than dmd or gdc.
The main problem is that ldc, dmd and gdc cannot share the same runtime library yet. So the three compilers do not cohabit well in a system wide environment. The manual installation puts each compiler in their own /opt/<compiler> or /usr/local/<compiler> directory with a lot of stuffs duplicated (gdc come with its own gcc compiler, etc.). I do not known how Debian or ArchLinux deal with that, but I guess Fedora maintainers judge this situation unsustainable. The choice of ldc is probably the best one, to gather both a recent druntime and a compiler producing fast executable.
  Yes there are dmd and dub rpms but it is all very manual. 
 There needs to be a repository for Fedora rpms as there is one 
 for Debian debs.
Yes, that may be a good thing. Another one would be to detach the development of phobos from dmd, and that the developer of phobos take care not to break the compatibility of the library with other compilers. -- Richard
May 25 2016
parent reply Russel Winder via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> writes:
On Wed, 2016-05-25 at 10:18 +0000, Richard Delorme via Digitalmars-d-
learn wrote:
[=E2=80=A6]
 The main problem is that ldc, dmd and gdc cannot share the same=C2=A0
 runtime library yet. So the three compilers do not cohabit well=C2=A0
 in a system wide environment. The manual installation puts each=C2=A0
 compiler in their own /opt/<compiler> or /usr/local/<compiler>=C2=A0
 directory with a lot of stuffs duplicated (gdc come with its own=C2=A0
 gcc compiler, etc.). I do not known how Debian or ArchLinux deal=C2=A0
 with that, but I guess Fedora maintainers judge this situation=C2=A0
 unsustainable. The choice of ldc is probably the best one, to=C2=A0
 gather both a recent druntime and a compiler producing fast=C2=A0
 executable.
Sadly, on Debian, the gdc packaging and the ldc packaging conflict over the search path for module sources and so gdc will not work if ldc is installed.=C2=A0 This turns out to be a real ####### pain for the SCons tests. The problem for Fedora is that there are no maintainers taking responsibility for D stuff other than ldc. Like Debian and Arch, Fedora relies on people volunteering and keeping going with packaging. ldc is packaged by all, which is good. Sadly no dub. [=E2=80=A6]
 Yes, that may be a good thing.
 Another one would be to detach the development of phobos from=C2=A0
 dmd, and that the developer of phobos take care not to break the=C2=A0
 compatibility of the library with other compilers.
I thought DMD and Phobos were separate. Given proper versioning (which I think we have) there should be no problem. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
May 25 2016
parent Seb <seb wilzba.ch> writes:
On Wednesday, 25 May 2016 at 11:24:44 UTC, Russel Winder wrote:
 […]
 [...]
I thought DMD and Phobos were separate. Given proper versioning (which I think we have) there should be no problem.
The problem are parts like std.math which contain compiler-specific optimizations. That being said I do think that it's on the roadmap to automatically test the newest Phobos with ldc / gdc - that would already be a good step :)
May 25 2016
prev sibling parent reply qznc <qznc web.de> writes:
On Wednesday, 25 May 2016 at 09:41:10 UTC, Russel Winder wrote:
 I do not really have the proper resources to host such a 
 repository and because of this I have not built one. I know I 
 should rather than just moan, but Debian is my main platform 
 and that is covered.
Yes, this is the core problem. There is no single person, which (a) cares enough about Fedora and (b) can fix it. Unless this champion appears, Fedora will continue to suck for newbies.
May 25 2016
parent Russel Winder via Digitalmars-d-learn <digitalmars-d-learn puremagic.com> writes:
On Wed, 2016-05-25 at 13:57 +0000, qznc via Digitalmars-d-learn wrote:
 On Wednesday, 25 May 2016 at 09:41:10 UTC, Russel Winder wrote:
 I do not really have the proper resources to host such a=C2=A0
 repository and because of this I have not built one. I know I=C2=A0
 should rather than just moan, but Debian is my main platform=C2=A0
 and that is covered.
=20 Yes, this is the core problem. There is no single person, which=C2=A0 (a) cares enough about Fedora and (b) can fix it. Unless this=C2=A0 champion appears, Fedora will continue to suck for newbies.
Are there enough people around such that we can make a start at something that is not separate as d-apt is from Debian, but is an integral stepping stone to the Fedora repository. It may be that doing a Fedora equivalent of d-apt is a first step. Given the relatively low traffic initially, I can host a repository at some URL such as fedora.dlang.org or some such, we can experiment with fedora.winder.org.uk maybe. The issue is setting up a Git build framework that does all the RPM builds automatically. This is the successful basis for Debian, Fedora and I suspect d-apt. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
May 29 2016
prev sibling next sibling parent Basile B. <b2.temp gmx.com> writes:
On Tuesday, 24 May 2016 at 15:27:45 UTC, llaine wrote:
 Hi everybody,
 [...]

 5 - Tools
I've seen your comment on the DCD issue related to DUB (#198). It mays be the plugin (and not DCD ) that doesn't register well vibe-d. Also it's possible that it didn't work because vibe-d was not yet fetch.
May 24 2016
prev sibling next sibling parent reply cy <dlang verge.info.tm> writes:
On Tuesday, 24 May 2016 at 15:27:45 UTC, llaine wrote:
 I'm running Fedora 23 on a daily basis and the installation was 
 OK. Not as easy as on mac but still.
Yeah, rpm based distributions like Fedora/Redhat/etc have historically been a real pain when it comes to installing stuff. Depending on individual files with no indication what package those files are in for instance. I recommend something based on "pacman" these days, though you'll have to hunt a while if you want one that hasn't gone and added a bunch of binary linkage to systemd to their entire dependency tree. portage is also alright, but a little tricky to use, and you need a speedy CPU to compile quickly.
 Congratulations on this point to all the people who made dub. 
 Programming in 2016 should be like this.
It does have its issues, but dub is awesome.
 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.
A Fedora machine. Installing dub on Arch or Debian should work just fine.
 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.
Oh, I don't think system programming is the issue here. It is kind of intimidating that the first place it points you for a basic total newbie tutorial is a big dead tree book that you can buy. It seems to me there could be something simpler than that for newbies, but a little more extensive than just the random code snippet it shows on the home page.
 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.
Wow, good luck there. I think D programmers are pretty unopinionated as to how you should write code. The language is complex enough that it keeps things in line pretty well on its own. And "idiom" is another word for "opinion" so ultimately how you should code depends more on who you're working with than the language itself. I would appreciate a tips and tricks page though, with advice like separate large amounts of code into separate projects to get it to compile faster, or use ld.gold since D has ludicrous amounts of linkage going on, or my trick of throwing in --nodeps after the first compile that fixes dub's issues with eager dependency tracking. Or how you make parsing easier by importing inside functions instead of globally to the module. I wonder if there should be a wiki page like that, hm... https://wiki.dlang.org/Tutorials by the way
 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.
Uh... huh. I just use emacs, because sometimes I'm coding on a netbook that isn't running X.
 autocompletion
Not as simple as it sounds. What should auto-complete? Module names? Misspellings? Potential imports? Download the list of package imports? File names? function names? Local variables? How's it going to detect the names of local variables? How's it going to detect which function the cursor is in? Autocomplete is something I don't really like, because it requires that your editor be some big dumb kitchen sink IDE in order to manage all that complex logic of guessing what you mean when you hit <TAB>. There is one autocompletion bug that irritates the pants off of me, though. gdb. Why can't they fix their stupid debugger so that it let you auto-complete across the '.' character? gdb's written in 69 megabytes of solid C though, not D.
May 24 2016
parent reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
On 05/24/2016 10:05 AM, cy wrote:
 On Tuesday, 24 May 2016 at 15:27:45 UTC, llaine wrote:
 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.
Oh, I don't think system programming is the issue here. It is kind of intimidating that the first place it points you for a basic total newbie tutorial is a big dead tree book that you can buy.
Yes, a link from that page points to a book that *can* be bought but it's available online as well: http://ddili.org/ders/d.en/index.html Although it's not as extensive as it should be, I think the index page is pretty useful too: http://ddili.org/ders/d.en/ix.html Ali
May 24 2016
parent reply cy <dlang verge.info.tm> writes:
https://p0nce.github.io/d-idioms/ I wanted to mention as well, if 
you like idioms. That guy has some good ideas.

On Tuesday, 24 May 2016 at 17:36:45 UTC, Ali Çehreli wrote:
 Yes, a link from that page points to a book that *can* be 
 bought but it's available online as well:
It's worth buying, but the question is who's going to be comfortable with reading all that? It's very involved, not exactly a quickly crafted tutorial to "learn D in 5 minutes."
May 24 2016
parent reply Seb <seb wilzba.ch> writes:
On Tuesday, 24 May 2016 at 18:03:17 UTC, cy wrote:
 https://p0nce.github.io/d-idioms/ I wanted to mention as well, 
 if you like idioms. That guy has some good ideas.

 On Tuesday, 24 May 2016 at 17:36:45 UTC, Ali Çehreli wrote:
 Yes, a link from that page points to a book that *can* be 
 bought but it's available online as well:
It's worth buying, but the question is who's going to be comfortable with reading all that? It's very involved, not exactly a quickly crafted tutorial to "learn D in 5 minutes."
I guess it's worth pointing out that in the future (=next week) the menu link "Learn" and the according text section will point to the new tour (tour.dlang.org), which we are still working on & it's exactly crafted to be a "learn D in 5 minutes". So any feedback about the tour is highly appreciated ;-)
May 24 2016
parent llaine <darksioul6 gmail.com> writes:
On Tuesday, 24 May 2016 at 19:32:11 UTC, Seb wrote:
 On Tuesday, 24 May 2016 at 18:03:17 UTC, cy wrote:
 https://p0nce.github.io/d-idioms/ I wanted to mention as well, 
 if you like idioms. That guy has some good ideas.

 On Tuesday, 24 May 2016 at 17:36:45 UTC, Ali Çehreli wrote:
 Yes, a link from that page points to a book that *can* be 
 bought but it's available online as well:
It's worth buying, but the question is who's going to be comfortable with reading all that? It's very involved, not exactly a quickly crafted tutorial to "learn D in 5 minutes."
I guess it's worth pointing out that in the future (=next week) the menu link "Learn" and the according text section will point to the new tour (tour.dlang.org), which we are still working on & it's exactly crafted to be a "learn D in 5 minutes". So any feedback about the tour is highly appreciated ;-)
All right, let me take the tour properly and then give you a feedback on this one!! Thank you all for your answer. I guess I'm going to keep strugling on it. I was thinking that maybe I can (for help) try to build somekind of the dlang.tour.org but more "learn D in 5 minutes" oriented. What do you guys think?
May 25 2016
prev sibling next sibling parent qznc <qznc web.de> writes:
On Tuesday, 24 May 2016 at 15:27:45 UTC, llaine wrote:
 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.
Thanks for writing this! The "First 5 Minutes" (or days) are an important aspect, which the D community tries to improve. Since active D users already forgot about their first contact with D, the only information on what to improve are newbies telling their experience.
May 24 2016
prev sibling next sibling parent ZombineDev <petar.p.kirov gmail.com> writes:
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.
May 25 2016
prev sibling parent Guillaume Piolat <first.last gmail.com> writes:
On Tuesday, 24 May 2016 at 15:27:45 UTC, llaine wrote:
 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)
I gather tips and tricks here https://p0nce.github.io/d-idioms/ with a bias towards the surprising stuff. I would say there is few actual idioms in there. For more quality and comprehensiveness I strongly recommend to get D books.
May 25 2016