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