Jump to page: 1 25  
Page
Thread overview
Help me decide D or C
Jul 31, 2019
Alexandre
Jul 31, 2019
Andre Pany
Jul 31, 2019
Paul Backus
Jul 31, 2019
Ali Çehreli
Jul 31, 2019
Alexandre
Jul 31, 2019
matheus
Jul 31, 2019
bachmeier
Jul 31, 2019
Alexandre
Aug 01, 2019
Kagamin
Aug 01, 2019
JN
Aug 01, 2019
matheus
Aug 02, 2019
Tony
Jul 31, 2019
SashaGreat
Jul 31, 2019
bachmeier
Jul 31, 2019
SashaGreat
Aug 01, 2019
bachmeier
Aug 01, 2019
rikki cattermole
Aug 01, 2019
Bert
Aug 01, 2019
bachmeier
Aug 01, 2019
Russel Winder
Aug 02, 2019
bachmeier
Aug 02, 2019
Jonathan M Davis
[OT] Re: Using Haskell for teaching [was: Help me decide D or C]
Aug 02, 2019
Russel Winder
Aug 01, 2019
a11e99z
Aug 01, 2019
a11e99z
Aug 01, 2019
Alexandre
Aug 02, 2019
Bastiaan Veelo
Aug 02, 2019
bachmeier
Aug 02, 2019
ryuo
Aug 02, 2019
IGotD-
Aug 02, 2019
Guillaume Piolat
Aug 02, 2019
berni
Aug 02, 2019
Daniel Kozak
Aug 02, 2019
SashaGreat
Aug 02, 2019
berni
Aug 03, 2019
Russel Winder
Aug 02, 2019
Alexandre
Aug 02, 2019
Bastiaan Veelo
Aug 02, 2019
Russel Winder
Aug 02, 2019
Alexandre
Aug 03, 2019
Russel Winder
Aug 02, 2019
Jon Degenhardt
Aug 03, 2019
Russel Winder
Re: [OT] Re: Using Haskell for teaching [was: Help me decide D or C]
Aug 03, 2019
Jonathan M Davis
Aug 03, 2019
Russel Winder
July 31, 2019
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!

July 31, 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!

Hi Alexandre,

As you are deciding between C and D I can give you a tipp. Almost all C tutorials and knowledge you can use directly in D. Even the C library is available in D. You can program C within D if you like and switch whenever you need or like to higher concepts which will ease the development.
Also other C libraries you can use within D.

I would say, you loose nothing while starting with D.

Kind regards
Andre
July 31, 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!

If you're looking for a language with lots of learning resources available, both C and Python are excellent choices. C is a good choice if you want to learn about how your programs interact with the hardware, and get an idea of how higher-level languages work "under the hood." Python is probably a better choice if you have a specific project in mind that you'd like to work on, like a web application or a game.

I would not recommend D as a beginning language, both because there are fewer beginner-oriented resources available for it than for C and Python (the only one I know of is Ali Çehreli's book [1]), and because it's a bigger, more complicated language.

[1] http://www.ddili.org/ders/d.en/index.html
July 31, 2019
n 07/31/2019 12:05 PM, Paul Backus wrote:

> I would not recommend D as a beginning language, both because there are
> fewer beginner-oriented resources available for it than for C and Python
> (the only one I know of is Ali Çehreli's book [1]), and because it's a
> bigger, more complicated language.
>
> [1] http://www.ddili.org/ders/d.en/index.html

Ali here... :) Thanks for the link and I agree that D is much larger than C. At least for that reason, learning C first or on the side would still be good for the OP.

Regarding "Programming in D", although it covers most[1] of the language, it specifically targets beginners; so, it may not be too difficult for the OP. Just give it a try... :)

Ali
[1] Unfortunately, copy constructors and some of the other recent features are still missing.


July 31, 2019
On Wednesday, 31 July 2019 at 18:38:02 UTC, Alexandre wrote:
> ...
> Should I go for C and then when I become a better programmer change to D?
> Should I start with D right now?
> ...

I think it depend your intent, but right now for a beginner between C and D I would go with C, because as you noted there are plenty of resources for C, C++, Python etc.

In some colleges where I live, 10+ years ago they used to start CS class with C and then C++ or Java, now they start with Python and then C and so on.

Python was "more" friendly for beginners to understand variable/algorithm, and after that they would go with data types, pointers... more easily.

Good luck,

Matheus.
July 31, 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!

What is your goal? In my opinion, learning C is a waste of time in 2019 unless you have something specific in mind related to a job. C is mostly "fun with segmentation faults". Most of your time is not spent solving problems. If you want to be productive, choose D, Go, Rust, C++, or just about anything but C.
July 31, 2019
On Wednesday, 31 July 2019 at 22:16:42 UTC, bachmeier wrote:
> On Wednesday, 31 July 2019 at 18:38:02 UTC, Alexandre wrote:
>> [...]
>
> What is your goal? In my opinion, learning C is a waste of time in 2019 unless you have something specific in mind related to a job. C is mostly "fun with segmentation faults". Most of your time is not spent solving problems. If you want to be productive, choose D, Go, Rust, C++, or just about anything but C.


My goals:

1) Improve as a programmer
2) Have fun doing programs

Thats it basically. I am planning to study all "free" time I have. I am doing basically this since last year.
July 31, 2019
On Wednesday, 31 July 2019 at 20:04:39 UTC, Ali Çehreli wrote:
> n 07/31/2019 12:05 PM, Paul Backus wrote:
>
> > I would not recommend D as a beginning language, both because
> there are
> > fewer beginner-oriented resources available for it than for C
> and Python
> > (the only one I know of is Ali Çehreli's book [1]), and
> because it's a
> > bigger, more complicated language.
> >
> > [1] http://www.ddili.org/ders/d.en/index.html
>
> Ali here... :) Thanks for the link and I agree that D is much larger than C. At least for that reason, learning C first or on the side would still be good for the OP.
>
> Regarding "Programming in D", although it covers most[1] of the language, it specifically targets beginners; so, it may not be too difficult for the OP. Just give it a try... :)
>
> Ali
> [1] Unfortunately, copy constructors and some of the other recent features are still missing.

I am considering reading your book + Andrei's book + documentation on the site. That would be my plan to learn D. Good job with your book btw, I enjoyed a lot the parts I've read.


July 31, 2019
On Wednesday, 31 July 2019 at 22:16:42 UTC, bachmeier wrote:
> What is your goal? In my opinion, learning C is a waste of time in 2019 unless you have something specific in mind related to a job. C is mostly "fun with segmentation faults". Most of your time is not spent solving problems. If you want to be productive, choose D, Go, Rust, C++, or just about anything but C.

Interesting because you asked his goal and no matter what you pretty much just said to avoid C. So why the goal matters here?

Kernel, embedded systems, LIBs (In fact there is libspng right now on front page of Reddit - /r/programming) that still uses C.

I'm not saying that he should go with C, but if someone is learning I really would avoid D or C++ for the matter.

For example there is a lot of things with those languages (D or C++) like attributes: scope, ref, pure, share and so on that is useful but not for beginner.

Sasha.
July 31, 2019
On Wednesday, 31 July 2019 at 22:49:10 UTC, SashaGreat wrote:
> On Wednesday, 31 July 2019 at 22:16:42 UTC, bachmeier wrote:
>> What is your goal? In my opinion, learning C is a waste of time in 2019 unless you have something specific in mind related to a job. C is mostly "fun with segmentation faults". Most of your time is not spent solving problems. If you want to be productive, choose D, Go, Rust, C++, or just about anything but C.
>
> Interesting because you asked his goal and no matter what you pretty much just said to avoid C. So why the goal matters here?

"In my opinion, learning C is a waste of time in 2019 unless you have something specific in mind related to a job."

> Kernel, embedded systems, LIBs (In fact there is libspng right now on front page of Reddit - /r/programming) that still uses C.

That's very specialized, but sure, some things are still written in C.

> For example there is a lot of things with those languages (D or C++) like attributes: scope, ref, pure, share and so on that is useful but not for beginner.

You can write, say, a CGI app using D without having to get into all of that. I generally don't mess with attributes, templates, or any of that cognitively challenging stuff, and I've been writing D code for six years. Someone that has programmed before could work through Adam's cookbook or Mike's book easily.

« First   ‹ Prev
1 2 3 4 5