Thread overview
John Carmack on Functional Programming in C++
Nov 16, 2014
Walter Bright
Nov 16, 2014
MachineCode
Nov 16, 2014
David Nadlinger
Nov 16, 2014
Max Samukha
Nov 18, 2014
H. S. Teoh
November 16, 2014
http://gamasutra.com/view/news/169296/Indepth_Functional_programming_in_C.php

Anything John writes is well worth reading, this article included. He includes as shout out to D!

"It seems like there is a sound case for a pure keyword in future C/C++ standards. There are close parallels with const – an optional qualifier that allows compile time checking of programmer intention and will never hurt, and could often help, code generation. The D programming language does offer a pure keyword. Note their distinction between weak and strong purity – you need to also have const input references and pointers to be strongly pure."

On reddit:

https://www.reddit.com/r/programming/comments/2meuco/john_carmack_on_functional_style_in_c/

https://news.ycombinator.com/item?id=8614253
November 16, 2014
On Sunday, 16 November 2014 at 18:06:32 UTC, Walter Bright wrote:
> http://gamasutra.com/view/news/169296/Indepth_Functional_programming_in_C.php
>
> Anything John writes is well worth reading, this article included. He includes as shout out to D!
>
> "It seems like there is a sound case for a pure keyword in future C/C++ standards. There are close parallels with const – an optional qualifier that allows compile time checking of programmer intention and will never hurt, and could often help, code generation. The D programming language does offer a pure keyword. Note their distinction between weak and strong purity – you need to also have const input references and pointers to be strongly pure."
>
> On reddit:
>
> https://www.reddit.com/r/programming/comments/2meuco/john_carmack_on_functional_style_in_c/
>
> https://news.ycombinator.com/item?id=8614253

if I knew this article is new and valuble to the D guys I had posted it myself. :) I read it a while ago and was re-posted on reddit more than twice (at least, I can remember). It's really worth reading.
November 16, 2014
On Sunday, 16 November 2014 at 18:06:32 UTC, Walter Bright wrote:
> http://gamasutra.com/view/news/169296/Indepth_Functional_programming_in_C.php
>
> Anything John writes is well worth reading, this article included. He includes as shout out to D!

This article is well over two years old at this point. A previous mention: http://forum.dlang.org/post/llzwwxmdgnwydqcyfznn@forum.dlang.org

David
November 16, 2014
On Sunday, 16 November 2014 at 18:06:32 UTC, Walter Bright wrote:
> http://gamasutra.com/view/news/169296/Indepth_Functional_programming_in_C.php
>
> Anything John writes is well worth reading, this article included. He includes as shout out to D!
>

Also https://www.youtube.com/watch?v=1PhArSujR_A, where he's
talking about functional programming, Haskell and stuff.
November 18, 2014
On Sun, Nov 16, 2014 at 10:06:33AM -0800, Walter Bright via Digitalmars-d wrote:
> http://gamasutra.com/view/news/169296/Indepth_Functional_programming_in_C.php
> 
> Anything John writes is well worth reading, this article included. He includes as shout out to D!
> 
> "It seems like there is a sound case for a pure keyword in future C/C++ standards. There are close parallels with const – an optional qualifier that allows compile time checking of programmer intention and will never hurt, and could often help, code generation. The D programming language does offer a pure keyword. Note their distinction between weak and strong purity – you need to also have const input references and pointers to be strongly pure."
[...]

Interesting article... He makes a pretty strong case for immutability and purity in D, actually. He didn't mention TLS, but with immutable, pure, and TLS by default, D could stand a pretty good chance of doing well with concurrent programming. The imperative paradigm may not be such a killer if you have TLS for almost all your data and keep most of your code pure. Even if it's not strongly pure, in many cases it's still thread-safe, unlike in C/C++ where the equivalent of __gshared by default means that if you want to do multithreading, your code is unsafe by default and you'll have a big headache trying to eliminate race conditions.

This is a pretty valuable combination that D has, that we should pay more attention to; it has long-term benefits for D.


T

-- 
Shin: (n.) A device for finding furniture in the dark.