Thread overview
Should I brush up on my C before plunging fully into D?
Oct 15, 2016
Chris Nelson
Oct 15, 2016
bachmeier
Oct 15, 2016
Ryan
Oct 15, 2016
Nicholas Wilson
Oct 15, 2016
WhatMeForget
October 15, 2016
I'm mainly a scripting language, .NET, and SQL programmer. I've been looking for a good programming language for Linux/BSD other than Python. I've surveyed the options and D appears to be a sane modern choice for me. (Thanks Ali Çehreli and others!)

The only hitch is that many of the projects and libraries I'm interested in using or maybe porting are mainly C based. (My overall C-fu is weak...) Should I review a good C book or tutorial before jumping in to fully learning D? Or should I just eschew any C exposure until I master D?

(As a side note, many of the C libraries I'm interested in seem to be confusing messes of header files and "organic" code. But who am I to judge?)
October 15, 2016
On Saturday, 15 October 2016 at 01:46:52 UTC, Chris Nelson wrote:
> I'm mainly a scripting language, .NET, and SQL programmer. I've been looking for a good programming language for Linux/BSD other than Python. I've surveyed the options and D appears to be a sane modern choice for me. (Thanks Ali Çehreli and others!)
>
> The only hitch is that many of the projects and libraries I'm interested in using or maybe porting are mainly C based. (My overall C-fu is weak...) Should I review a good C book or tutorial before jumping in to fully learning D? Or should I just eschew any C exposure until I master D?
>
> (As a side note, many of the C libraries I'm interested in seem to be confusing messes of header files and "organic" code. But who am I to judge?)

Jump in and learn C as you go. C can be a beast at times, particularly if it involves the C preprocessor, and delaying learning D won't help.

Have you seen
https://github.com/jacob-carlborg/dstep
October 15, 2016
On Saturday, 15 October 2016 at 01:46:52 UTC, Chris Nelson wrote:
> I'm mainly a scripting language, .NET, and SQL programmer. I've been looking for a good programming language for Linux/BSD other than Python. I've surveyed the options and D appears to be a sane modern choice for me. (Thanks Ali Çehreli and others!)
>
> The only hitch is that many of the projects and libraries I'm interested in using or maybe porting are mainly C based. (My overall C-fu is weak...) Should I review a good C book or tutorial before jumping in to fully learning D? Or should I just eschew any C exposure until I master D?
>
> (As a side note, many of the C libraries I'm interested in seem to be confusing messes of header files and "organic" code. But who am I to judge?)

I came from a python/java background when I started to learn D. I had a programming class many-many years ago in C, and I only knew it well enough to do small programs. I started learning D almost 2 years ago, and then started in on C++ after that.

I think D is by far the easiest compiled language to "learn". You can get into to it pretty easy (easier than C++) and write something useful pretty quick. Then there's always more to learn.

October 15, 2016
On Saturday, 15 October 2016 at 01:46:52 UTC, Chris Nelson wrote:
> I'm mainly a scripting language, .NET, and SQL programmer. I've been looking for a good programming language for Linux/BSD other than Python. I've surveyed the options and D appears to be a sane modern choice for me. (Thanks Ali Çehreli and others!)
>
> The only hitch is that many of the projects and libraries I'm interested in using or maybe porting are mainly C based. (My overall C-fu is weak...) Should I review a good C book or tutorial before jumping in to fully learning D? Or should I just eschew any C exposure until I master D?
>
> (As a side note, many of the C libraries I'm interested in seem to be confusing messes of header files and "organic" code. But who am I to judge?)

It is possible to write in a C style in D and they are similar enough (when writing like C) that learning D should cover you for most of the C (sans macros), but obviously D can do a whole lot more.
D has the philosophy that it should work the same way as C or not compile at all.

As always Ali's book is excellent (and free!), so start with that.

There are many bindings for C libraries available for D, see code.dlang.org or try dstep as mentioned above.
October 15, 2016
On Saturday, 15 October 2016 at 01:46:52 UTC, Chris Nelson wrote:
> I'm mainly a scripting language, .NET, and SQL programmer. I've been looking for a good programming language for Linux/BSD other than Python. I've surveyed the options and D appears to be a sane modern choice for me. (Thanks Ali Çehreli and others!)
>
> The only hitch is that many of the projects and libraries I'm interested in using or maybe porting are mainly C based. (My overall C-fu is weak...) Should I review a good C book or tutorial before jumping in to fully learning D? Or should I just eschew any C exposure until I master D?
>
> (As a side note, many of the C libraries I'm interested in seem to be confusing messes of header files and "organic" code. But who am I to judge?)

I would jump right into D and then veer off into C on a need to know basis. This link might be of interest:

https://dlang.org/ctod.html

Also, are you aware of the libraries at the DUB registry?

And finally, Chapter 9 of Mike Parker's "Learning D" has lots of info on libraries.