Jump to page: 1 2
Thread overview
Is D programming friendly for beginners?
Mar 04
Fidele
Mar 04
Sergey
Mar 04
evilrat
Mar 05
thinkunix
Mar 11
Doigt
Mar 12
Mike Shah
Mar 12
matheus.
Mar 12
Mike Shah
Mar 12
M.M.
Mar 13
bachmeier
Mar 12
Meta
Mar 12
Mike Shah
Mar 13
M.M.
March 04

I want to start learning D programming language it looks interesting

March 04

On Monday, 4 March 2024 at 13:37:53 UTC, Fidele wrote:

>

I want to start learning D programming language it looks interesting

Please use "Learn" Group of the forum, this part of the forum for Announcements.

Here are some useful links:

March 04

On Monday, 4 March 2024 at 13:37:53 UTC, Fidele wrote:

>

I want to start learning D programming language it looks interesting

Answering thread question:

It can be complicated, D has a lot of features and mastering it will take quite a lot of time.

Since D is statically typed compiled system programming language it is still will be harder to grasp than say Python.

The core language is pretty neat and shouldn't cause much trouble, by core here I mean basic templates, basic mixins, basic classes and operator overloading, version conditioning and such.

Ranges and the standard library approach to "Design-by-Introspection" will definitely require some time to get used to, so expect to dive into std sources a lot for real world examples.

Advanced templates is still not as hard as C++ though, and there is no some of the more quirks that C++ has.

Few things to avoid until you absolutely know what you are doing is @nogc and betterC.

There is also a "system" part in it that ultimately will require you to understand what is actually a executable file and what is a linker, knowing how to use debuggers, etc...

Finally, D is flexible enough to delay touching some of those features until you are ready, and unlike practically any other language it doesn't forces any philosophy or zen or whatever ideology on you.

Before you started though - note that D is not considered "enterprisey" enough language so don't expect your favorite JetBrains IDE or other fancy tooling, the debuggers are just minimally working, and generally any other ecosystem tools (if any) too.
This means you have to understand more about how these things works and this may add extra complexity and make you think the whole language is not there yet.

March 05
Fidele via Digitalmars-d-announce wrote:
> I want to start learning D programming language it looks interesting

Get familiar with https://dlang.org/ web site, you'll use it a lot.
Do the Tour, https://tour.dlang.org/

Books, full list here:  https://wiki.dlang.org/Books
I would recommend starting with these.  I found them easy to read
and they just make sense.
* Learning D by Mike Parker and
* Programming in D by Ali ร‡ehreli

I also highly recommend Mike Shah's video series available on youtube
and on his web site:
https://courses.mshah.io/courses/d-language-dlang-programming

The advantages of Mike Shah's site are:
* no youtube distractions
* you can track your progress
* it's FREE!

You can get started with just a text editor and one of the D compilers.

Lastly, as others mentioned, get on the D-Learn mailing list, or use
the forum https://forum.dlang.org/ instead of D-announce.
Lurk for a while.  Read and try some of the code snippets you see go by.
It will help you understand the language.

Welcome to D!
scot
March 11

On Monday, 4 March 2024 at 13:37:53 UTC, Fidele wrote:

>

I want to start learning D programming language it looks interesting

Depends what you mean by "beginner". If you've never programmed before and D is your first language, then the answer is a definite no.

March 12

On Monday, 11 March 2024 at 12:30:10 UTC, Doigt wrote:

>

On Monday, 4 March 2024 at 13:37:53 UTC, Fidele wrote:

>

I want to start learning D programming language it looks interesting

Depends what you mean by "beginner". If you've never programmed before and D is your first language, then the answer is a definite no.

Why definitely not?

https://youtu.be/V2YwTIIMEeU?si=j3cQzzN4jsUQrN9C&t=682

-- Bastiaan.

March 12

On Tuesday, 12 March 2024 at 14:03:30 UTC, Bastiaan Veelo wrote:

>

On Monday, 11 March 2024 at 12:30:10 UTC, Doigt wrote:

>

On Monday, 4 March 2024 at 13:37:53 UTC, Fidele wrote:

>

I want to start learning D programming language it looks interesting

Depends what you mean by "beginner". If you've never programmed before and D is your first language, then the answer is a definite no.

Why definitely not?

https://youtu.be/V2YwTIIMEeU?si=j3cQzzN4jsUQrN9C&t=682

-- Bastiaan.

I really think D would be a wonderful first language. ๐Ÿ™‚ Fast feedback, no need to manage memory, and easy to use built-in data structures would make for a nice intro course.

March 12
On Tuesday, 12 March 2024 at 14:52:32 UTC, Mike Shah wrote:
> ...
> I really think D would be a wonderful first language. ๐Ÿ™‚ Fast feedback, no need to manage memory, and easy to use built-in data structures would make for a nice intro course.

If you say that D would be a good language to learn in lieu C++/Rust I'd agree, but as a First Language neither one would be my choice.

Most here already program and know things, but as a first language forget, at least where and when I did college (Already knowing how to program), most people were lost with all the concepts of C++ for example.

Bitwise shifts like << >> and the same operators being used in cin/cout may be OK for most people already in programming and using shell, but for those learning was a hell.

Matheus.
March 12
On Tuesday, 12 March 2024 at 16:20:29 UTC, matheus. wrote:
> On Tuesday, 12 March 2024 at 14:52:32 UTC, Mike Shah wrote:
>> ...
>> I really think D would be a wonderful first language. ๐Ÿ™‚ Fast feedback, no need to manage memory, and easy to use built-in data structures would make for a nice intro course.
>
> If you say that D would be a good language to learn in lieu C++/Rust I'd agree, but as a First Language neither one would be my choice.
>
> Most here already program and know things, but as a first language forget, at least where and when I did college (Already knowing how to program), most people were lost with all the concepts of C++ for example.
>
> Bitwise shifts like << >> and the same operators being used in cin/cout may be OK for most people already in programming and using shell, but for those learning was a hell.
>
> Matheus.

I agree (and I've made my case from my DConf talk with some data) D is much more productive than C++ for students (especially in the scope of a quarter or semester long course).

I probably would recommend in the general case that someone who wants to try programming to start with Python or JavaScript -- purely because the start up cost is smaller, and the vast amount of packages let beginners do something interesting quickly.

That said, in a university curriculum (where students have multiple semesters), D could prove nice as an intro language as it has the ability to scale up in difficulty over time. I think D is friendly enough that it would not immediately turn away beginners from computer science programs (But ultimately Python probably wins for now in this category).

As a note, the 'which language is best for CS 1' debate has long been debated -- but at least in a school setting, I've found the quality/enthusiasm/encouragement of the teacher to be the most important aspect regardless of language choice.
March 12

On Tuesday, 12 March 2024 at 17:03:42 UTC, Mike Shah wrote:

>

As a note, the 'which language is best for CS 1' debate has long been debated -- but at least in a school setting, I've found the quality/enthusiasm/encouragement of the teacher to be the most important aspect regardless of language choice.

As someone that's been teaching beginners to program at a university for a long time (but not in a CS department) I've come to see the choice of language as largely unimportant. You have to decide what you want to teach them and then eliminate the languages that aren't suitable. D is one of many languages that would work with the right content. Other languages, like C++, add unnecessary overhead and thus should not be used.

It's often said "X is a complicated language" but that's the wrong way to look at it. You're teaching a set of programming concepts, not a language. The question is how well a particular language works for learning those concepts.

« First   ‹ Prev
1 2