View mode: basic / threaded / horizontal-split · Log in · Help
February 08, 2011
Re: Another Phobos2 test
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
Re: Another Phobos2 test
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
Re: Another Phobos2 test
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
Re: Another Phobos2 test
"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.
Top | Discussion index | About this forum | D home