October 21, 2014
On Tuesday, 21 October 2014 at 09:14:08 UTC, ketmar via Digitalmars-d-learn wrote:
> On Tue, 21 Oct 2014 09:01:32 +0000
> Kapps via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com> wrote:
>
>> no template magic
> that's very bad. it's time to stop making people think that templates
> are inevitably arcane.


People think templates are magic, due to their skillset.

I see that all the time in the enterprise, when we get people on projects that would already have issues using something like Clipper/VB back in the day.

--
paulo

October 21, 2014
On Tue, 21 Oct 2014 11:20:42 +0000
Paulo Pinto via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com>
wrote:

> People think templates are magic, due to their skillset.
and other people keep pointing at languages without templates and metaprogramming as "good for learing". it's closed circle.


October 21, 2014
On Tuesday, 21 October 2014 at 11:43:56 UTC, ketmar via Digitalmars-d-learn wrote:
> and other people keep pointing at languages without templates and metaprogramming as "good for learing". it's closed circle.

The problem with template-programming in XSLT/C++/D is that if you want to learn functional programming you are better off using a good functional language.
October 21, 2014
On Tue, 21 Oct 2014 11:51:16 +0000
via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com> wrote:

> The problem with template-programming in XSLT/C++/D is that if you want to learn functional programming you are better off using a good functional language.
templates arent about FP only. yet i agree that Scheme is a very good starting point, SICP rocks.


October 21, 2014
On Tuesday, 21 October 2014 at 09:14:08 UTC, ketmar via Digitalmars-d-learn wrote:
> On Tue, 21 Oct 2014 09:01:32 +0000
> Kapps via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com> wrote:
>
>> no template magic
> that's very bad. it's time to stop making people think that templates
> are inevitably arcane.

I like D's templates, it's one of the things that makes me like D more than C#. But they can definitely get quite complex. C# limits templates to generic types, like List<int>, and for a beginner I think that's an easier way to handle things.
October 21, 2014
On Tue, 21 Oct 2014 21:48:14 +0000
Kapps via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com> wrote:

> I like D's templates, it's one of the things that makes me like D more than C#. But they can definitely get quite complex. C# limits templates to generic types, like List<int>, and for a beginner I think that's an easier way to handle things.
nobody forcec any beginner to write complex templates from the start. not even use them: alot of things can be done without phobos, as excercises. yet i think that it's good to start with the language that has powerful templates and metaprogramming, so more and more advanced features can be gently introduced when there is time.

we can't (ok, we can, but this is very-very hard) teach people how to use metaprogramming properly if their language of choice aren't supporting metaprogramming at all, for example.

start from using templates as generics, then add some sugar, some type consitions, some CTFE and so on. with C# we will stop right after "generics", 'cause there is no other things there.


October 21, 2014
On Wed, 22 Oct 2014 00:57:59 +0300
ketmar via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com>
wrote:

> consitions
i don't even know what this word means. honestly.


October 22, 2014
On Tuesday, 21 October 2014 at 21:58:09 UTC, ketmar via Digitalmars-d-learn wrote:
> start from using templates as generics, then add some sugar, some type
> consitions, some CTFE and so on. with C# we will stop right after
> "generics", 'cause there is no other things there.

That's quite inadequate criticism. If you don't know, what features generics have, you can't criticize them.
October 22, 2014
On Thursday, 16 October 2014 at 22:26:51 UTC, RBfromME wrote:
> I'm a newbie to programming and have been looking into the D lang as a general purposing language to learn, yet the D overview indicates that java would be a better language to learn for your first programming language. Why?  Looks like D is easier than Java...

D is far more complex programming language than Java. I do D programming for over decade, and Java for ~9 years (before I was a C++ programmmer). Just take a look at number of types you have in D, storage classes, pointers, modules (that will soon come to Java too), etc... D generics are superior to Java. However, Java generics are superasy.

Java is designed to be an easy programming language, D is designed to be pragmatic. If people new to programming were about to start with D as the first language, I suggest them to start with an easy subset of it, and I humbly believe that subset will look very, very similar to Java.

PS. this is not Java advocacy here, I am just trying to be fair and realistic. I just love D but if I said D is as easy as Java, that would be a lie.
October 22, 2014
On Tuesday, 21 October 2014 at 12:19:43 UTC, ketmar via Digitalmars-d-learn wrote:
> templates arent about FP only. yet i agree that Scheme is a very good starting point, SICP rocks.

It is available for free online:

http://mitpress.mit.edu/sicp/

Scheme is good for teaching because it is a minimalistic language, so you quickly learn the semantic model which is more hidden in Haskell.

But I really enjoyed this one:

http://tryhaskell.org/

D should have a similar intro when the current quirks have been ironed out.