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