Help me decide D or C

IGotD- nise at nise.com
Fri Aug 2 10:23:25 UTC 2019


On Wednesday, 31 July 2019 at 18:38:02 UTC, Alexandre wrote:
> Hi everyone,
>
> I would like an honest opinion.
> I have a beginner level (able to do very small programs) in a 
> few languages  such as python, go, C, guile(scheme) and common 
> lisp. I want to pick a language and go deep with it and focus 
> on only one for at least the next 2 years or so.
>
> Should I go for C and then when I become a better programmer 
> change to D?
> Should I start with D right now?
>
> The reason I am considering starting with C: since I am a 
> beginner, obvious I will need lots of books, tutorials, videos 
> etc. And I believe C would have more resources and maybe a low 
> level to help with programming in general. And, when I need a 
> more powerful language, I would than learn D. Since you know 
> the good and the ugly of the D programming language I wonder, 
> what you would think would be the best to do right now?
>
> Thank you for your help!

It depends what you want to do.

C is a good language for low level, embedded programming. For 
"higher" level programming like web clients/servers, text 
processing, programs with graphical user interface then C is just 
awful because it has fewer built in primitives and libraries. 
Also with more complicated program C in general requires more 
boiler plate.

Then we have C++ but in general it has the same problems as I 
mentioned with C but programming is slightly more convenient as 
it has classes, exceptions and some more powerful libraries due 
to templates, operator overloading such things.

D is somewhere in the middle between Java and C++. Syntax is much 
better and intuitive than C++. Thanks to that it is more inspired 
by Java, the libraries are in general more convenient to use and 
cleaner.

I'd say D is a good choice for learning programming as it sits in 
the high seat of low level and high level. No, other language 
combines that as good as D I think.

Also if you start with D you can easily go to C++ or Java.

I'd say start with D and then learn C++ because it would be 
interesting to hear from a person who learn D first, thinks of 
C++.



More information about the Digitalmars-d-learn mailing list