www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Should I brush up on my C before plunging fully into D?

reply Chris Nelson <xradionut555 gmail.com> writes:
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?)
Oct 14 2016
next sibling parent bachmeier <no spam.net> writes:
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
Oct 14 2016
prev sibling next sibling parent Ryan <ryan a_fake_email.non> writes:
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.
Oct 14 2016
prev sibling next sibling parent Nicholas Wilson <iamthewilsonator hotmail.com> writes:
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.
Oct 14 2016
prev sibling parent WhatMeForget <kheaser gmail.com> writes:
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.
Oct 14 2016