Another Phobos2 test

Jonathan M Davis jmdavisProg at gmx.com
Mon Feb 7 17:14:37 PST 2011


On Monday, February 07, 2011 16:55:02 Andrew Wiley wrote:
> On Mon, Feb 7, 2011 at 6:36 PM, bearophile <bearophileHUGS at 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


More information about the Digitalmars-d mailing list