Thread overview
Re: Another Phobos2 test
Feb 08, 2011
bearophile
Feb 08, 2011
Andrew Wiley
Feb 08, 2011
Jonathan M Davis
Feb 08, 2011
Nick Sabalausky
February 08, 2011
Jonathan M Davis:

> Regardless of what language you're programming in, it's generally best to program in the typical paradigms of that language. Trying to contort it to act like another language is _not_ going to result in optimal code.

D supports functional style too now. In Bugzilla I have put most of the requests I think are useful. So if you have specific comments please add to those.

Bye,
bearophile
February 08, 2011
On Mon, Feb 7, 2011 at 6:36 PM, bearophile <bearophileHUGS@lycos.com> wrote:

> Jonathan M Davis:
>
> > Regardless of what language you're
> > programming in, it's generally best to program in the typical paradigms
> of that
> > language. Trying to contort it to act like another language is _not_
> going to
> > result in optimal code.
>
> D supports functional style too now. In Bugzilla I have put most of the requests I think are useful. So if you have specific comments please add to those.


That's not the point. No matter what styles of programming D supports, it
will support them differently from other languages. This is true for pretty
much any language, so direct comparisons don't really get you much.
I come from the Java world with some Scala experience, and I frequently find
myself trying to write code the Java make-everything-an-object way, and I
just as frequently find that D can do things much more simply if I blend the
OO with imperative code and chuck in a few functional elements where useful.
I can appreciate what you're trying to do, but doing a line by line
comparison of D and Python and asking for features to make D look more like
Python just feels like you're trying to contort D into something it never
claimed to be. It's not entirely wrong, but it's not entirely right either.


February 08, 2011
On Monday, February 07, 2011 16:55:02 Andrew Wiley wrote:
> On Mon, Feb 7, 2011 at 6:36 PM, bearophile <bearophileHUGS@lycos.com> wrote:
> > Jonathan M Davis:
> > > Regardless of what language you're
> > > programming in, it's generally best to program in the typical paradigms
> > 
> > of that
> > 
> > > language. Trying to contort it to act like another language is _not_
> > 
> > going to
> > 
> > > result in optimal code.
> > 
> > D supports functional style too now. In Bugzilla I have put most of the requests I think are useful. So if you have specific comments please add to those.
> 
> That's not the point. No matter what styles of programming D supports, it
> will support them differently from other languages. This is true for pretty
> much any language, so direct comparisons don't really get you much.
> I come from the Java world with some Scala experience, and I frequently
> find myself trying to write code the Java make-everything-an-object way,
> and I just as frequently find that D can do things much more simply if I
> blend the OO with imperative code and chuck in a few functional elements
> where useful. I can appreciate what you're trying to do, but doing a line
> by line comparison of D and Python and asking for features to make D look
> more like Python just feels like you're trying to contort D into something
> it never claimed to be. It's not entirely wrong, but it's not entirely
> right either.

Agreed. I like Haskell, and I like programming in a functional style in D (I _love_ how you can effectively process ranges like s lists), but I don't try and program in D like I would in Haskell. They're two different languages. I don't even try and program in D like I would in C++. Sure, a lot is similar, and what you know about other programming languages and styles informs how you program in D (or any other language), but if you properly use a particular programming language, you often end up doing things differently than you would in other programming languages even if you _can_ program in the same way that you would in another programming language.

- Jonathan M Davis
February 08, 2011
"Jonathan M Davis" <jmdavisProg@gmx.com> wrote in message news:mailman.1384.1297127779.4748.digitalmars-d@puremagic.com...
>
> I don't even try and program in D like I would in C++.

Neither would I. For instance, if I were about to do some coding in C++, I would begin by bashing my head into a brick wall. Sure, that would prevent me from getting much done, but it would make the whole experience quicker and less painful. With D, by contrast, the head-into-brick-wall idiom is much less practical.