Re: Is D programming friendly for beginners?

2024-05-06 Thread Rishika Sharma via Digitalmars-d-announce

On Tuesday, 12 March 2024 at 19:07:25 UTC, M.M. wrote:
On Tuesday, 12 March 2024 at 18:03:43 UTC, Lance Bachmeier 
wrote:

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.


I was always wondering about this debate on a suitable "first" 
programming language in a CS curriculum. I largely observe one 
dividing point: to start with a strongly-typed language or not. 
(After that, it probably does not matter so much which language 
is chosen; alas, it should be available on Windows, Linux, and 
Mac OS). Do you observe similar sentiment in the discussions in 
the university settings?


D programming language, while powerful and feature-rich, may not 
be the most beginner-friendly choice for those new to 
programming. Unlike languages such as Python or JavaScript, which 
prioritize simplicity and ease of learning, D is designed with a 
focus on performance, efficiency, and low-level system 
programming. As a result, beginners may find the syntax and 
concepts of D more challenging to grasp initially.


CETPA Infotech, a reputable technical training institute, may 
offer courses in various programming languages, including D. 
However, for beginners seeking their first programming language, 
CETPA Infotech might suggest alternatives like Python or Java, 
which have more beginner-friendly syntax and a larger ecosystem 
of learning resources and community support.


Nevertheless, for individuals with a strong interest in systems 
programming, game development, or performance-critical 
applications, D can be an excellent language to learn. It offers 
modern features such as automatic memory management, strong 
typing, and support for concurrent programming, making it a 
compelling choice for certain domains.


CETPA Infotech's D programming courses may cater to students with 
prior programming experience or those looking to specialize in 
areas where D is commonly used. These courses likely cover 
fundamental programming concepts, D syntax, data structures, 
algorithms, and practical exercises to reinforce learning. 
Additionally, CETPA Infotech may provide experienced instructors 
and supportive learning environments to help beginners overcome 
the initial challenges of learning D programming.


Overall, while D programming may not be the most 
beginner-friendly language, CETPA Infotech's courses in D 
programming can provide valuable learning opportunities for 
individuals with a specific interest in systems programming and 
performance optimization. Beginners may benefit from building a 
strong foundation in more beginner-friendly languages before 
diving into D programming to maximize their learning experience.


Re: Is D programming friendly for beginners?

2024-03-13 Thread bachmeier via Digitalmars-d-announce

On Tuesday, 12 March 2024 at 19:07:25 UTC, M.M. wrote:

I was always wondering about this debate on a suitable "first" 
programming language in a CS curriculum. I largely observe one 
dividing point: to start with a strongly-typed language or not. 
(After that, it probably does not matter so much which language 
is chosen; alas, it should be available on Windows, Linux, and 
Mac OS). Do you observe similar sentiment in the discussions in 
the university settings?


I'm not a CS person so I'll have to defer to others (their needs 
are very different). My grad students are doing more complicated 
programming for data analysis and simulation. I focus on 
recursion and using a functional programming approach, because 
that simplifies things so much for these types of problems. All I 
need is a language that supports that.


Re: Is D programming friendly for beginners?

2024-03-13 Thread Martin Tschierschke via Digitalmars-d-announce

On Monday, 4 March 2024 at 13:37:53 UTC, Fidele wrote:
I want to start learning D programming language it looks 
interesting


The free digital book from Ali, is written to fit your need:

https://ddili.org/ders/d.en/index.html


Re: Is D programming friendly for beginners?

2024-03-13 Thread M.M. via Digitalmars-d-announce

On Tuesday, 12 March 2024 at 22:27:11 UTC, Mike Shah wrote:

On Tuesday, 12 March 2024 at 20:40:49 UTC, Meta wrote:

On Tuesday, 12 March 2024 at 16:20:29 UTC, matheus. wrote:

[...]


I think it really depends on the person. My first language was 
C++, which was absolute hell to learn as a complete beginner 
to programming, but I really wanted to learn a language with 
low-level capabilities that could also do gamedev. Learning 
C++ as my first language was incredibly difficult, but it also 
made the programming parts of my CS degree a breeze - 
especially courses like machine level programming. Nobody else 
in the class even understood what a pointer was for the first 
couple weeks.


I've been at institutions where C++ is the first language and 
for most folks who were sure they wanted to do programming it 
was a fine enough language (when taught with care) to teach. In 
fact, it benefited me (and other instructors) quite a bit when 
I saw those students later and taught them computer graphics 
(usually taught in C++ to prepare them for job market).


For folks who were not sure if they wanted to study computer 
science, unfortunately they were scared away as they thought 
this was the only path for programming (i.e. C++, assembly, 
etc.). For this reason, a language that is gentler (e.g. 
Python, JavaScript, or I also suspect a large subset of D) 
would all have been better choices. More universities these 
days are offering courses with gentler options (e.g. 
Programming for non-majors) which usually take this approach to 
more slowly ramp students up -- which I think is a good thing 
to have these offerings. And then later on in the program, 
these students can learn the good stuff (i.e. systems, 
compilers, graphics, etc. :) )


I understand that outside of CS, something like Python is a fine 
choice, hiding many low-level details. But within a 
CS-curriculum, one needs to come beyond basics-of-programming to 
something like efficient algorithm-design-and-data-structures; 
isn't a typed language better here? (Like the quote of Knuth 
says: if you do not understand the hardware behind, your programs 
will look weird. I have observed this a lot with current 
data-science students, which use a map/dictionary for everything, 
largely ignoring the existence of arrays).


Re: Is D programming friendly for beginners?

2024-03-12 Thread Mike Shah via Digitalmars-d-announce

On Tuesday, 12 March 2024 at 20:40:49 UTC, Meta wrote:

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 think it really depends on the person. My first language was 
C++, which was absolute hell to learn as a complete beginner to 
programming, but I really wanted to learn a language with 
low-level capabilities that could also do gamedev. Learning C++ 
as my first language was incredibly difficult, but it also made 
the programming parts of my CS degree a breeze - especially 
courses like machine level programming. Nobody else in the 
class even understood what a pointer was for the first couple 
weeks.


I've been at institutions where C++ is the first language and for 
most folks who were sure they wanted to do programming it was a 
fine enough language (when taught with care) to teach. In fact, 
it benefited me (and other instructors) quite a bit when I saw 
those students later and taught them computer graphics (usually 
taught in C++ to prepare them for job market).


For folks who were not sure if they wanted to study computer 
science, unfortunately they were scared away as they thought this 
was the only path for programming (i.e. C++, assembly, etc.). For 
this reason, a language that is gentler (e.g. Python, JavaScript, 
or I also suspect a large subset of D) would all have been better 
choices. More universities these days are offering courses with 
gentler options (e.g. Programming for non-majors) which usually 
take this approach to more slowly ramp students up -- which I 
think is a good thing to have these offerings. And then later on 
in the program, these students can learn the good stuff (i.e. 
systems, compilers, graphics, etc. :) )


Re: Is D programming friendly for beginners?

2024-03-12 Thread H. S. Teoh via Digitalmars-d-announce
On Tue, Mar 12, 2024 at 08:40:49PM +, Meta via Digitalmars-d-announce wrote:
[...]
> I think it really depends on the person. My first language was C++, which
> was absolute hell to learn as a complete beginner to programming, but I
> really wanted to learn a language with low-level capabilities that could
> also do gamedev. Learning C++ as my first language was incredibly difficult,
> but it also made the programming parts of my CS degree a breeze - especially
> courses like machine level programming. Nobody else in the class even
> understood what a pointer was for the first couple weeks.

People who are more than casually interested in computers should
have at least some idea of what the underlying hardware is like.
Otherwise the programs they write will be pretty weird.
-- D. Knuth

;-)


T

-- 
Just because you can, doesn't mean you should.


Re: Is D programming friendly for beginners?

2024-03-12 Thread Meta via Digitalmars-d-announce

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 think it really depends on the person. My first language was 
C++, which was absolute hell to learn as a complete beginner to 
programming, but I really wanted to learn a language with 
low-level capabilities that could also do gamedev. Learning C++ 
as my first language was incredibly difficult, but it also made 
the programming parts of my CS degree a breeze - especially 
courses like machine level programming. Nobody else in the class 
even understood what a pointer was for the first couple weeks.


Re: Is D programming friendly for beginners?

2024-03-12 Thread Andrea Fontana via Digitalmars-d-announce

On Tuesday, 12 March 2024 at 19:12:03 UTC, H. S. Teoh wrote:
I don't know how CS programs are carried out these days, but 
back when I was in university, the choice of language is 
largely irrelevant, because the whole point of a programming 
course isn't to teach you a specific language, but to teach you 
the *principles* that underlie programming in general. There 
are really only a small handful of different paradigms that you 
need to learn; once you learned the principles behind them, 
they can be applied to any language out there.  You wouldn't 
need anyone to teach you a new language then; you could just 
learn it yourself by applying these same principles.


The rest, as they say, is just details. ;-)


T


I agree.

Andrea


Re: Is D programming friendly for beginners?

2024-03-12 Thread H. S. Teoh via Digitalmars-d-announce
On Tue, Mar 12, 2024 at 06:03:43PM +, Lance Bachmeier via 
Digitalmars-d-announce wrote:
> 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.

I don't know how CS programs are carried out these days, but back when I
was in university, the choice of language is largely irrelevant, because
the whole point of a programming course isn't to teach you a specific
language, but to teach you the *principles* that underlie programming in
general. There are really only a small handful of different paradigms
that you need to learn; once you learned the principles behind them,
they can be applied to any language out there.  You wouldn't need anyone
to teach you a new language then; you could just learn it yourself by
applying these same principles.

The rest, as they say, is just details. ;-)


T

-- 
The irony is that Bill Gates claims to be making a stable operating system and 
Linus Torvalds claims to be trying to take over the world. -- Anonymous


Re: Is D programming friendly for beginners?

2024-03-12 Thread M.M. via Digitalmars-d-announce

On Tuesday, 12 March 2024 at 18:03:43 UTC, Lance Bachmeier wrote:

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.


I was always wondering about this debate on a suitable "first" 
programming language in a CS curriculum. I largely observe one 
dividing point: to start with a strongly-typed language or not. 
(After that, it probably does not matter so much which language 
is chosen; alas, it should be available on Windows, Linux, and 
Mac OS). Do you observe similar sentiment in the discussions in 
the university settings?


Re: Is D programming friendly for beginners?

2024-03-12 Thread Lance Bachmeier via Digitalmars-d-announce

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.


Re: Is D programming friendly for beginners?

2024-03-12 Thread Mike Shah via Digitalmars-d-announce

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.


Re: Is D programming friendly for beginners?

2024-03-12 Thread matheus. via Digitalmars-d-announce

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.


Re: Is D programming friendly for beginners?

2024-03-12 Thread Mike Shah via Digitalmars-d-announce

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


Re: Is D programming friendly for beginners?

2024-03-12 Thread Bastiaan Veelo via Digitalmars-d-announce

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=682

-- Bastiaan.


Re: Is D programming friendly for beginners?

2024-03-11 Thread Doigt via Digitalmars-d-announce

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.


Re: Is D programming friendly for beginners?

2024-03-05 Thread thinkunix via Digitalmars-d-announce

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


Re: Is D programming friendly for beginners?

2024-03-04 Thread evilrat via Digitalmars-d-announce

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.




Re: Is D programming friendly for beginners?

2024-03-04 Thread Sergey via Digitalmars-d-announce

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:
* Tour - https://tour.dlang.org
* Online Book - http://ddili.org/ders/d.en/index.html
* Other materials in Wiki - 
https://wiki.dlang.org/The_D_Programming_Language


Is D programming friendly for beginners?

2024-03-04 Thread Fidele via Digitalmars-d-announce
I want to start learning D programming language it looks 
interesting