Thread overview
What's your opinion on Functional D?
Apr 16, 2008
Jesse Phillips
Apr 16, 2008
Craig Black
Apr 18, 2008
h010
Apr 18, 2008
Michael Rynn
April 16, 2008
A little shameless self-promotion here, but I'd really love to hear your opinions on the subject:

http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/ Discussion on Reddit: http://reddit.com/r/programming/info/6fyrd/comments

Regards

Hans-Eric Grönlund
April 16, 2008
On Wed, 16 Apr 2008 08:05:26 -0400, Hans-Eric Grönlund wrote:

> A little shameless self-promotion here, but I'd really love to hear your opinions on the subject:
> 
> http://www.hans-eric.com/2008/04/16/the-future-of-d-is-functional/ Discussion on Reddit: http://reddit.com/r/programming/info/6fyrd/comments
> 
> Regards
> 
> Hans-Eric Grönlund

I am actually looking forward to the release of D2. The large change in direction is definitely one that is likely to drive people away. In fact when I was first doing reading on function programming, I had thought about the possibility of having a language set, where you would have different languages that would each have their own paradigm, but easily used within one another.

In any case I do believe that D should go forward as incorporating the paradigms into one. Yes the original goal was to make a better C++, and it has been getting greater recognition. I think if D wishes to change its direction, now is the time to do it.

Of course I always like trying new things, but I would think that is common for a lot of users of D <g>.
April 16, 2008
I completely agree with this article.  Pure functions may have some utility, but the cost of complexity, both in the compiler implementaiton and the syntax may not be worth the benefit.  IMO, there are other abstractions that support threaded programming that fit better with imperative languages. Herb Sutter's idea for active classes comes to mind here.

-Craig


April 18, 2008
On Wed, 16 Apr 2008 08:05:26 -0400, Hans-Eric Grönlund <hasse42g@gmail.com> wrote:

>A little shameless self-promotion here, but I'd really love to hear your opinions on the subject:
>
Who has a real  informed opinion to give?  My imperative verbal troll brain has swirling questions from my functional parallel subconcious, and I have taken in only the basic concepts of functional (invariant style) programming, from following the references given so far in this news group.

what is the vision for functional D?

I would like to understand a broader example of how an application / library practical example can be coded in functional and imperative parts.  Little code bits do not mean much out of a practical task context.

Write the example, then craft the compiler to show it off. Tell us
what has been possible with the functional approach.
 How well functional approach helped in other functional capable
languages?  I presume its the hard part, getting  good productivity of
bug free code with reasonable performance from fallable human
programmers.

How will a largely imperative code application fire off multi-threaded functional parts and synchonize them  in the larger application design?. Or are we going to write largely functional programs which have allowed  bits of imperative code in them?

How much extra complexityin D?  Does it add coding cost (or simplification), for how much gain?  It must be hard to say  with something new and with imperfect knowledge of how its going to go. How much of current D will have to change?  How much futher for D2?

How long before a functional D implementation will be avaiable for
production code?
Will there be functional and imperative styled versions of libraries?

Is there a trade off between single  thread performance loss vs multithreaded performance gain? As a plodding imperative programmer I lack experience in the functional programming world.

If its an extra bonus for D as it is, additional functional programming choices sound great, as long as imperative capabilities not lost. If the compiler can do the grunt work for the programmer,if D has a functional destiny, go for it.   Is this the killer niche for D?

Michael Rynn
April 18, 2008
On Wed, 16 Apr 2008 08:05:26 -0400, Hans-Eric Grönlund <hasse42g@gmail.com> wrote:

>A little shameless self-promotion here, but I'd really love to hear your opinions on the subject:
>
Who has a real  informed opinion to give?  My imperative verbal troll brain has swirling questions from my functional parallel subconcious, and I have taken in only the basic concepts of functional (invariant style) programming, from following the references given so far in this news group.

what is the vision for functional D?

I would like to understand a broader example of how an application / library practical example can be coded in functional and imperative parts.  Little code bits do not mean much out of a practical task context.

Write the example, then craft the compiler to show it off. Tell us
what has been possible with the functional approach.
 How well functional approach helped in other functional capable
languages?  I presume its the hard part, getting  good productivity of
bug free code with reasonable performance from fallable human
programmers.

How will a largely imperative code application fire off multi-threaded functional parts and synchonize them  in the larger application design?. Or are we going to write largely functional programs which have allowed  bits of imperative code in them?

How much extra complexityin D?  Does it add coding cost (or simplification), for how much gain?  It must be hard to say  with something new and with imperfect knowledge of how its going to go. How much of current D will have to change?  How much futher for D2?

How long before a functional D implementation will be avaiable for
production code?
Will there be functional and imperative styled versions of libraries?

Is there a trade off between single  thread performance loss vs multithreaded performance gain? As a plodding imperative programmer I lack experience in the functional programming world.

If its an extra bonus for D as it is, additional functional programming choices sound great, as long as imperative capabilities not lost. If the compiler can do the grunt work for the programmer,if D has a functional destiny, go for it.   Is this the killer niche for D?

Michael Rynn