Crockford On Monads And Gonads
Written by Ian Elliot   
Friday, 14 December 2012

If you have wondered what monads are all about. Doug Crockford, author of "JavaScript The Good Parts", stars in a video explaining functional programming and monads in general.

In this evening keynote from YUIConf 2012, Douglas Crockford discusses one of the most elusive of all programming concepts: Monads. To quote:

In addition to it begin useful, it is also cursed and the curse of the monad is that once you get the epiphany, once you understand - "oh that's what it is" - you lose the ability to explain it to anybody.

In this talk, Crockford attempts to break the long-standing Monad tutorial curse by explaining the concept and applications of monads in a way that is actually understandable to the audience.

On the way he discusses first class functions and JavaScript's role in making them commonplace. He also compares the programmer's approach to functions and the mathematician's approach. He also discusses how to convert JavaScript into a pure functional language and why you really don't want to.

The second half of the video seems to diverge  onto concurrency and asynchronous programming, which is also worth seeing for  an insight into why threads are evil. However, the twist is that promises are monads.

Watch this video, it may be an hour long but it will increase your understanding:

 

The short version of the message is that monads are a way of getting around the immutability that is a central principle of functional programming. This means that within a language that has mutable data structures and functions, monads aren't really relevant and you don't need to worry about them.

 monaddiagram

And don't miss the gem right at the start:

Fortran was developed before lowercase was invented so everything is in uppercase.

and the wonderful insult  about syntax coloring -

"..to make it easier for kindergarteners to do programming... everything's a different color. For some people that seems to make a lot of difference. I find it doesn't do much for me because I'm more of a grown up."

and on Java:

"Sometimes it seems that Java was optimized for creating null pointer exceptions."

Related Articles

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.

 

 

blog comments powered by Disqus

Banner


Plan 28 Makes Progress In Understanding Babbage's Mechanical Notation
23/04/2015

Plan 28 is a project to build Charles Babbage's Analytical Engine by the 2030s, two hundred years after it was originally designed. Recent work has been on Babbage's notational design language, which  [ ... ]



Introduction To Programming Nanodegree
06/05/2015

Enrollment opens today for Udacity's Nanodgree programs. This month's line up includes a new set of courses: Introduction To Programming. There's also a one-time offer of a reimbursement of half your  [ ... ]


More News

Last Updated ( Friday, 14 December 2012 )
 
 

   
RSS feed of news items only
I Programmer News
Copyright © 2015 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.