[LINK] Functional Programming

Stephen Loosley stephenloosley at outlook.com
Fri Jul 11 02:16:32 AEST 2014










Rick (and Jim) note,

> > Facebook went with a novel programming methodology,
> > called functional programming,
> Novel, eh? .. Novel to the reporter does not novel make.

Yes, indeed true Rick :-)

Mind you, I also think this reporter has indeed spotted the beginningof a major new direction in programming for future web based clouds.

For example, also reporting another functional programming initiative:
http://www.pcworld.idg.com.au/article/547567/won_t_believe_what_programming_language_wall_street_firm_uses/

Another reporter, Simon Bisson, also notes "Functional languages are here to stay. So are you ready to completely change the way you code?" 
http://www.zdnet.com/f-and-functional-computing-languages-out-of-the-lab-and-into-your-business-7000031309/ 
He writes .. "The sands of the IT world are shifting, as the cloud and mobile move from being secondary to the old n-tier+web model that's dominated for much of the last decade. That sea change is shifting the languages and tools we use, away from the C family of languages (such as C++, C#, and Java) to one that descends from more formal languages such as Lisp.

Functional programming languages were, until recently, languages for computer science. Based on a pure mathematical approach to programming, they were the basis of much modern computer science research, with languages such as ML, Haskell, and oCaml. One of the first commercialised functional programming languages was Erlang, developed to reduce the risk of errors in telephone networks. But now they're shifting to the desktop, and, more importantly,  to mobile devices, as well as programming cloud hosted PaaS platforms. 

It's important to understand the difference between traditional imperative programming techniques and functional programming. Functional programming is stateless, with mathematical functions at the heart of its operation. A function will always give the same result for the same inputs; it's never dependent on results from another function. That makes it easier to understand how a program will behave, something that's important when you're working with a range of external inputs — especially if you're working with streamed or asynchronous cloud data.

To get a feel for working with F# and functional programming, Microsoft Research runs an online F# interactive tutorial, where you can write code without leaving your browser.  http://www.tryfsharp.org/

Functional programming is a powerful technology, and one that's finally making its way from the research lab into your favourite IDE. You're probably using apps written using these languages already, as they're running the back ends of many major cloud services, as well as running complex financial systems — and social games. But it's in our pockets that it's going to make a difference, giving developers tools to write reliable, and predictable, code that copes with the complexities of the modern mobile network.
--


 		 	   		  


More information about the Link mailing list