On Wednesday, 31 July 2019 at 18:38:02 UTC, Alexandre wrote:
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
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
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