Hello, folks! Newbie to D, have some questions!

Daniel Kozak via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat Feb 18 13:51:34 PST 2017


Dne 18.2.2017 v 21:15 timmyjose via Digitalmars-d-learn napsal(a):

> Hello folks,
>
> I am interested in learning D (just starting out, did a few of the 
> exercises on the D tour), and had some questions before I decide to 
> jump right in. My questions are genuinely motivated by my experiences 
> and expectations, so please forgive me if some questions don't come 
> across as well as my intentions!
>
> 1. I have some experience with both C and C++, and have been learning 
> Rust for a while, but a few things put me off about the whole business -
>
> a). The core language appears to be simple enough, but becomes 
> increasingly complex as I begin writing larger programs.
>
> b). The whole ownership system is easy to understand, but the APIs 
> become very complicated and unwieldy, and more time appears to be 
> spent on understanding and ensuring that memory is being used 
> correctly than on the core program logic.
>
> c). The whole community seems infused with both the Feminism/SJW (I 
> don't care about those communities, but it feels weird having a 
> programming community get sidetracked by all that bullshit), and too 
> much of Ruby-on-Rails culture (probably started with Steve Klabnik) so 
> that it doesn't feel like any real systems programmers are focusing on 
> that language, and finally, d). The whole language feels like a bit of 
> patchwork of random ideas, and also the whole "safety" and "no 
> segfaults" guarantees seem to have lesser and lesser RoI as time goes by.
>
> Sorry for the rant, I didn't realise I was quite that frustrated! 
> That's just to give some background about me and my recent 
> experiences! :D
>
> In that regard, I suppose I'll get a better feel of the community here 
> as I interact more, but I have high hopes that it'll be much more 
> technical than purely social!
Hi, welcome in D community
>
> 2. I am more interested in learning D as a pure systems programming 
> language so that I can develop my own tools (not looking to develop an 
> OS, just some grep-scale tools to start off with). In that regard, I 
> have a few concerns about the GC. My rudimentary knowledge of the D 
> ecosystem tells me that there is a GC in D, but that can be turned 
> off. Is this correct? Also, some threads online mention that if we do 
> turn off GC, some of the core std libraries may not fully work. Is 
> this presumption also correct? In this regard, I am curious to know if 
> I would face any issues (with my intent in mind), or will I do just 
> fine? If you could share your experiences and domains of use, that 
> would also be very helpful for me
>

Yes, by default D use GC. And yes there is a some part of D standard 
library which uses GC. But it is something you can avoid if you want. I 
am using D for many years and for almost anything and never have issue 
with GC.

> Secondly, how stable is the language and how fast is the pace of 
> development on D?
>
> Again, sorry for my ignorance if I have been wrong-footed on some (or 
> all) points.

D stability is good, really good, for many of us too good :P. I have 
been using D for many years (five or six). And right now there is a big 
effort to never break anything until it makes really sense.

OTOH D development is quite fast. So there are many improvements with 
every release

>
>
> 2. I am also curious as to what would be the best path for a complete 
> beginner to D to learn it effectively? I am a relatively fast learner 
> (and I learn better by context, as in, some core unifying idea 
> described and then elucidated through big examples instead of learning 
> in bits and pieces). How did you folks learn D? I'm sure hearing your 
> experiences would be helpful too. Are there any books/video tutorials 
> that you would recommend (aside from this site itself).
I can't help here because I am using D for a long time, so I do not 
remember how I have learned it.
>
> 3. Are there some small-scale Open Source projects that you would 
> recommend to peruse to get a feel for and learn idiomatic D?

It is maybe not small-scale but idiomatic D code is in phobos itself.

>
> 4. I have heard good reports of D's metaprogramming capabilities 
> (ironically enough, primarily from a thread on the Rust user group), 
> and coming from a Common Lisp (and some Racket) background, I am 
> deeply interested in this aspect. Are D macros as powerful as Lisp 
> macros? Are they semantically similar (for instance, I found Rust's 
> macros are quite similar to Racket's)?
I do not know Lisp macros, but AFAIK there are not semantically similar. 
OTOH D metaprogramming is really powerful and there has been some 
proposals to improve that https://wiki.dlang.org/DIP50
>
> 5. Supposing I devote the time and energy and get up to speed on D, 
> would the core language team be welcoming if I feel like I can 
> contribute?
>
> That's all off the top of my head at the moment. Perhaps I'll have 
> more questions as I read the responses. Thanks in advance!
>
> Cheers.
>
>



More information about the Digitalmars-d-learn mailing list