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++.

Reply via email to