Functional Programming is the New Trend

Warning! Some information on this page is older than 3 years now. I keep it for reference, but it probably doesn't reflect my current knowledge and beliefs.

23:37
Wed
02
May 2012

Functional Programming is the New Trend

Some time ago I've written about data-oriented design as a popular trend among game developers, opposite to the belief that object-oriented programming is the silver bullet for all challenges and complexities of programming. Mike Acton, Engine Director at Insomniac Games and the creator of #AltDevBlogADay, is probably the biggest evangelist of this idea.

Now I can see that functional programming is a concept gaining popularity and it seems to follow similar mindset. Of course we won't start coding our games and programs in Lisp or Haskell tomorrow, but some of the ideas coming from functional languages can be applied to thinking about our everyday C++ code, instead of seeing design patterns, singletons and class inheritance everywhere. This can mean, for example, making data const (immutable) wherever possible and writing functions as pure - returning processed data that depend only on input data and not mutating or accessing any global state. This makes code simpler to read and understand, debug and unit-test, as well as to parallelize.

I've seen some voices in gamedev advocating that functional programming is the future even years ago. I can remember slides from some conference about it, I can't find it now though. But recently more and more programmers seem to be interested in learning some functional languages, writing about it, like explaining what the monad is etc. Some really recent, interesting blog posts about applying idea of functional programming in the real code:

Life Without Objects by Chris Turner
(Almost) functional programming tips for C++ by Bryan St. Amour
And finally, a post from #AltDevBlogADay by John Carmack: Functional Programming in C++.

By the way, it really impresses me how despite all his experience, fame and success, Carmack still tweets and blogs about programming, down to its dirtiest details, instead of writing about management, leadership, enterpreneurship, money, psychology, recruitment etc., like many other professionals do.

Comments (1) | Tags: c++ | Author: Adam Sawicki | Share

Comments

wty123
2016-03-23 07:42:32
A Man http://www.maccosmetics.net.co/ who http://www.rayban-wayfarer.in.net/ passes http://www.adidas.com.se/ his evening http://www.asics-outlet.us.com/ as http://www.newbalance-shoes.org/ I had passed http://www.northfaceoutlet.com.co/ mine, http://www.air-max.com.de/ may http://www.burberryoutlet-canada.ca/ go http://www.michael-korshandbags.org.uk/ to http://www.asicsgels.de/ bed http://www.christianlouboutin.org.uk/ afterward http://www.oakley-sunglassoutlet.net/ if http://www.cheap-raybans.com/ he http://www.cheap-oakleyglasses.us.com/ has http://www.nike-skor.com.se/ nothing http://nike.shoesoutlet.us.com/ better to http://www.oakleys-sunglasses.us.com/ do. http://www.gucci-outletstore.com/ But http://www.michael-kors.net.co/ he http://www.nike-shoes-canada.ca/ must http://www.converse-shoes.net/ not http://www.jordanretro.org/ rank http://www.tiffanyandco.net.co/ among http://www.swarovskicanada.ca/ the http://www.toms--outlet.com.co/ number http://www.louis--vuitton.org.uk/ of http://www.longchamp-handbags.us.com/ his http://www.truereligionjeans.net.co/ reasonable http://www.oakleys-glasses.us.com/ anticipations http://www.soccer-shoes.us.com/ the http://www.newbalance.com.es/ expectation http://www.yoga-pants.net.co/ of getting http://www.polo-ralph-lauren.de/ a http://www.abercrombie-hollister.nl/ night’s http://www.longchamp.com.de/ rest. The http://www.tomsshoes-outlet.us.com/ morning http://www.abercrombie-fitchs.us.com/ was well http://www.michael--kors.us.com/ advanced, http://www.pandora-charms.org.uk/ and http://www.toryburchsale.com.co/ the http://www.moncler-outlet.us.org/ hotel was http://www.hollister-abercrombie.com.se/ astir, http://www.uggboots.net.co/ before http://www.chanelhandbags.net.in/ I http://www.pradahandbags.net.co/ at http://www.hollisters-canada.ca/ last closed http://www.babyliss-pro.us.com/ my http://www.timberlandbootsoutlet.us.com/ eyes http://www.abercrombie-fitchsale.com/ in http://www.cheapoakley-sunglasses.in.net/ slumber. http://www.lululemoncanada.ca/ When http://www.coco-chanel.com.de/ I http://www.hermesbags.jp.net/ awoke, http://www.burberryoutlet-sale.in.net/ my http://www.michaelkors.co.nl/ watch informed http://www.poloralphlaurenoutlet.net.co/ me http://www.cheap-baseballbats.net/ that http://www.weddingdressesuk.org.uk/ it http://www.nikemercurial.in.net/ was http://airmax.misblackfriday.com/ close http://www.bcbg-dresses.com/ on noon.


I http://www.louis-vuitton-australia.com.au/ rang the http://www.mcmhandbags.com.co/ bell. http://www.nike.org.es/ My http://www.abercrombie-and-fitch.us.com/ servant appeared http://www.wedding--dresses.ca/ with http://www.ugg-uggboots.net/ a http://www.mizuno-running.net/ letter http://www.nike-rosherun.nl/ in http://www.salvatoreferragamo.in.net/ his http://www.iphone-cases.net.co/ hand. It had http://www.hollister-clothing.in.net/ been http://www.tory-burchshoesoutlet.net/ left http://www.converse.net.co/ for http://www.burberry-handbagsoutlet.com.co/ me, http://www.uggsaustralia.com.co/ three http://www.bebeclothing.in.net/ hours http://www.michael-kors-taschen.com.de/ since, http://www.longchampoutlet.com.co/ by http://www.louis-vuitton-taschen.com.de/ a lady http://www.burberry-outletonlinesale.in.net/ who had http://www.reebok.com.de/ driven http://www.adidas-superstar.nl/ to http://www.michaelkorsoutlet.ar.com/ the http://www.thenorthfacejackets.net.co/ hotel http://www.bottegaveneta-bagsoutlet.com/ door http://www.tiffany-jewelry.net/ in http://www.lauren-ralph.co.uk/ a http://www.ralph-lauren.com.au/ carriage, http://www.michael-kors.com.co/ and http://www.michaeljordan.com.de/ had http://www.burberrysoutlet2016.com/ then http://www.adidas-superstar.de/ driven http://www.tiffanyandco-canada.ca/ away http://mcmbackpack.co-om.com/ again. The http://www.hollisterclothingstore.org/ man http://www.new-balance-schuhe.de/ had http://www.bcbg-max-azria.ca/ found http://www.nike-air-force.de/ me sleeping http://www.outlet-burberry.net.co/ when http://www.nike-roshe-run.com.es/ he http://www.beatsbydrdre.co.com/ entered http://www.nike-roshe-run.de/ my http://www.ralphlaurenonlineshop.de/ bed-chamber, and, http://www.nfl-jersey.us.com/ having http://www.toms-shoes.net.co/ received no orders http://www.ugg-boots-australia.com.au/ to http://www.timberlandshoes.net.co/ wake http://www.tnf-jackets.us.com/ me http://www.levisjeans.com.co/ overnight, http://www.beatsbydre.com.co/ had http://www.nikeskos.dk/ left http://www.rolex-watches.us.com/ the http://www.beats-headphone.com.co/ letter http://www.swarovski-online-shop.de/ on http://www.canadagooses-2016.com/ the http://www.newoutletonlinemall.com/ sitting-room http://www.mk-outlet.us.com/ table http://www.omegarelojes.es/ until http://www.louisvuitton-outlet.com.co/ he http://www.cheapshoes.com.co/ heard http://www.cheap-michaelkors.com/ my http://www.giuseppezanotti.com.co/ bell.


Easily http://www.uggs-onsale.net/ guessing http://www.nikefree-run.net/ who http://www.pandora-charms-canada.ca/ my http://www.prada.com.de/ correspondent http://www.air-huarache.co.uk/ was, http://www.cheapjerseys.com.co/ I opened http://www.hermes-outlet.com.co/ the http://www.ralphslauren-outlet.co.uk/ letter. http://www.converse-shoesoutlet.com/ An http://www.thenorthface.com.de/ inclosure http://www.rolex-watch.me.uk/ fell out http://www.the-northfacejackets.us.com/ of http://www.hollister.us.org/ it http://www.replica-watches.com.co/ — http://www.michaelkors-outlet-online.com.co/ to which, http://www.tocoachoutlet.com/ for http://www.p90xworkout.us.com/ the moment, http://supra.shoesoutlet.us.com/ I http://www.burberryoutlet2016.us.com/ paid http://www.lululemon-australia.com.au/ no http://www.cheapuggboots.us.com/ attention. I http://www.michael-kors-handbags.us.com/ turned http://www.ralph-laurens.org.uk/ eagerly http://www.mkoutletonline.us.com/ to http://www.tiffany-und-co.de/ the http://www.salomon-schuhe.com.de/ first http://www.abercrombie-kids.us.com/ lines. http://www.vans-schuhe.com.de/ They http://www.oakley-sunglasses-canada.ca/ announced http://www.mcmbags.net/ that the http://www.michaelkors-uk.org.uk/ writer had http://www.tommy-hilfiger-canada.ca/ escaped me for http://www.fashionclothes.us.com/ the http://www.thejoreseproject.com/ second http://www.adidas--canada.ca/ time: http://www.basketballshoes.com.co/ early http://www.longchamphandbagsoutlet.net/ that http://www.michaelkors.com.se/ morning http://www.montblanc--pens.in.net/ she http://www.oakley--sunglasses.com.au/ had left http://www.ralphlaurenepolo.com/ Edinburgh. http://www.michaelkors.so/ The paper http://www.yoga-pants.ca/ inclosed http://www.pumaonline-shop.de/ proved http://www.coach-factoryoutlet.net.co/ to http://www.pradaoutlet.com.co/ be http://www.airmax-2015.org/ my letter http://www.tommyhilfiger.net.co/ of http://www.chanel-bags.com.co/ introduction http://www.oakley.org.es/ to http://www.nike-air-max.us/ the http://www.toms-shoes.com.co/ dressmaker http://www.ray-ban-outlet.us.com/ returned http://www.mmoncler-outlet.com/ to http://www.coach-factoryyoutletonline.net/ me.


I http://www.ralph-laurenoutlet.ca/ was http://www.barbour-factory.com/ more http://www.louboutin.jp.net/ than http://www.airmax-90.org/ angry http://www.swarovski-crystal.us.com/ with her http://www.nike-air-max.com.se/ — I felt http://www.louisvuitton.jp.net/ her http://www.beats-by-dre.com.co/ second http://www.tiffany-andco.com.au/ flight http://www.toms-shoesoutlet.net/ from http://www.rosheruns.us/ me http://www.guccishoes-uk.co.uk/ as http://www.louisvuitton.so/ a http://www.soft-ballbats.com/ downright http://www.cheap-jordans.net/ outrage. http://www.nike-free-run.de/ In http://www.ugg-boots.ca/ five http://www.nike-schuhe.com.de/ minutes http://www.canada-goosesjackets.us.com/ I http://www.guccishoes.in.net/ had hurried http://www.ghd-hairstraightener.net/ on http://www.zxcoachoutlet.com/ my http://www.adidas-schuhe-online.de/ clothes and http://www.michael-kors.com.es/ was http://www.cheapoakley-sunglasses.com/ on http://www.louisvuitton-outlets.us/ my http://www.ralphlaurenoutletonline.us.org/ way http://www.retro-jordans.com/ to http://coach.euro-us.net/ the http://www.michaelkorsoutletonline-sale.us.com/ inn http://www.longchamp-handbagsoutlet.us.com/ in http://www.tommyhilfigeroutlet.in.net/ the http://www.guccioutlet-sale.in.net/ Canongate as http://www.horloges-rolex.nl/ fast http://www.jordan-shoes.com.co/ as http://www.cheapmichaelkors.us.org/ a http://www.louis-vuittonblackfriday.com/ horse http://www.tomsoutletonline.net/ could http://www.woolrich-clearance.com/ draw http://www.christianlouboutinshoes.jp.net/ me.


The http://www.rayban.com.de/ servants http://www.louis-vuittonoutletcanada.ca/ could http://www.truereligion-outlet.com.co/ give http://www.cheapjerseys.us.org/ me http://www.christian-louboutinshoes.com.co/ no http://www.guccishoes.us.org/ information. http://www.nike-huarache.nl/ Her http://www.designerhandbagsoutlet.net.co/ escape http://michaelkors.euro-us.net/ had http://www.oakley.com.de/ been http://www.ugg-bootsclearance.com/ effected without http://www.michael-kors-outlet-online.us.org/ their http://www.michael-kors-australia.com.au/ knowledge.


The http://www.calvin-kleins.us.com/ landlady, http://www.insanity-workout.us.com/ to http://www.nikestore.com.de/ whom http://www.tommy-hilfiger.co.nl/ I http://www.pandorajewelry.top/ next http://www.burberrybags-outlet.com/ addressed http://www.toryburch-sandals.in.net/ myself, http://www.nikestore.us/ deliberately http://www.ralphlaurenoutletonline.in.net/ declined http://www.christian--louboutin.in.net/ to http://www.true-religion.com.co/ assist http://www.rayban.co.nl/ me http://www.tommy-hilfigeroutlet.com/ in http://www.barbour-jacketsoutlet.com/ any http://www.coco-chanels.us.com/ way http://www.airhuarache.co.uk/ whatever.


“I http://www.kate-spade.in.net/ have http://www.adidas.org.es/ given http://uggaustralia.misblackfriday.com/ the http://www.coach-factory.in.net/ lady http://www.ralphlaurenoutlet-online.us.com/ my promise,” http://www.christian-louboutin-shoes.ca/ said http://www.marcjacobs.us.com/ this http://www.hogan.com.de/ obstinate http://www.coachoutlet-online.com.co/ person, http://www.louisvuittons.com.co/ “to answer http://www.oakleyoutlet-online.us.com/ not http://www.chi-flatiron.us.com/ one word http://www.longchamp.us.org/ to http://www.instylers.us.com/ any http://www.polooutlets-store.com/ question http://www.uggsoutlet.com.co/ that http://www.swarovskijewelry.com.co/ you http://www.oakley-outletstore.in.net/ may http://www.adidasshoes.top/ ask http://www.burberryonlineshop.de/ me http://www.michael-kors-canada-outlet.ca/ about http://www.michaelkorsoutlet-online.ar.com/ her. http://www.ralphlaurenpolos.in.net/ In http://www.longchamp.com.co/ my http://www.gucci-taschen-outlet.de/ belief, http://www.juicycoutureoutlet.net.co/ she http://www.michael-kors-outlet.us.org/ is http://www.christianlouboutinoutlet.net.co/ acting http://www.vans-shoes.net/ as http://www.the-northface.net.co/ becomes http://www.coachoutletstore-online.com.co/ an http://www.michaelkorsbags.us.org/ honest woman http://www.nikefree-run.org.uk/ in http://airhuarache.shoesoutlet.us.com/ removing http://www.nike-air-max.com.de/ herself http://www.tommy-hilfiger.com.de/ from http://www.the-northface.com.co/ any http://www.guccihandbags.net.co/ further http://www.burberry-handbags2016.in.net/ communication http://www.ferragamo.com.co/ with http://www.new-balance.ca/ you. http://www.burberry-outlets.co.uk/ I http://www.cheap-nike-shoes.net/ saw http://www.ferragamoshoes.in.net/ you through http://www.rayban.org.es/ the http://www.coachoutletstore.net.co/ keyhole http://www.prada-handbags.com.co/ last http://www.edhardy.us.org/ night, http://www.uggs.co.nl/ sir. I wish http://www.vans-shoes.co.uk/ you http://www.jordanrelease-dates.us.com/ good-morning.”


Returning http://www.polo-outlets.com.co/ to http://www.rayban-sunglassesoutlet.co.uk/ my hotel, http://www.nike-air-max.ca/ I left http://www.mcm-bags.in.net/ no http://www.tomsoutlet-online.com/ attempt http://www.jimmy-choos.com/ to discover http://www.uggs.in.net/ her http://www.guccishoes.com.co/ untried. http://www.bottega-veneta.us.com/ I traced http://www.ray--ban.ca/ the coachman http://www.the-north-face.ca/ who http://www.ralphlaurenoutlet.us.com/ had http://coachoutlet.euro-us.net/ driven http://www.cheaprayban.com.co/ her. http://www.toryburchoutlet-sale.us.com/ He http://www.eyeglassesonline.us.com/ had set http://www.oakleysunglasses-cheap.in.net/ her http://www.nikeshoesoutlet.org.uk/ down http://www.pandorajewellery.com.au/ at http://www.hollisteronlineshop.com.de/ a http://www.jimmy-chooshoes.com/ shop, http://www.lululemonoutlet.gb.net/ and http://www.nikerosherun.us/ had http://www.katespadeoutlet.gb.net/ then http://www.nike-shoesoutlet.us.com/ been http://www.pumashoes.in.net/ dismissed. http://www.ugg-boots.us.org/ I http://www.burberry2016.co.uk/ questioned http://www.celine-bags.org/ the shop-keeper. http://www.burberry-outlet.net.co/ He http://www.converse.com.de/ remembered http://www.nikeair-max.es/ that http://northfaceoutlet.co-om.com/ he http://www.pandora.com.de/ had http://www.handbagsoutlet.net.co/ sold http://www.hermesbirkin-bag.net/ some http://www.ralphs-lauren.co.uk/ articles http://www.oakley-sunglasses.mex.com/ of http://www.maccosmetics.gr.com/ linen http://www.nikefactory.org/ to http://www.coach-purseoutlet.net/ a http://michaelkors.co-om.com/ lady http://www.swarovski-australia.com.au/ with her http://www.replica-handbags.in.net/ veil http://www.pulseras-pandora.com.es/ down http://www.eyeglassframes.in.net/ and http://www.toms-outlets.us.com/ a http://www.mcmsworldwide.com/ traveling-bag in http://www.swarovski--uk.me.uk/ her hand, http://www.uggboots.com.de/ and http://www.airjordans.us/ he http://www.giuseppe-zanotti.net/ remembered no http://airmax.shoesoutlet.us.com/ more. http://www.rolexwatches-canada.ca/ I http://www.nikefree5.net/ circulated http://www.raybans-sunglassesoutlet.in.net/ a http://www.coachblackfriday.com/ description http://www.omega-watches.us.com/ of her http://www.rosherun.org.uk/ in the http://www.abercrombieand-fitch.ca/ different http://www.coachhandbags2016.us.com/ coach http://www.harrods-london.co.uk/ offices. http://www.prada-shoes.com.co/ Three http://www.designer-handbagsoutlet.us.com/ “elegant young http://www.rayban-sunglasses.us.org/ ladies, http://www.nike-air-max.com.au/ with http://www.juicycouture.com.co/ their http://www.ugg-australia.com.de/ veils http://www.uhren-shop.com.de/ down, and http://www.nike-schoenen.co.nl/ with http://www.raybans.us.org/ traveling-bags http://www.burberry-outletstore.net/ in http://www.christianlouboutinshoesoutlet.org/ their http://www.tommy-hilfiger-online-shop.de/ hands,” http://www.rolexwatchesforsale.us.com/ answered http://www.coach-outletonline.net.co/ to http://www.thomas-sabos.org.uk/ the description; http://www.supra-shoes.org/ and http://www.thomas-sabo.com.de/ which http://www.truereligion-outlet.us.org/ of http://monsterbeats.co-om.com/ the three http://www.chiflatiron.net.co/ was http://www.kate-spade.gb.net/ the http://www.thenorth-faces.co.uk/ fugitive of

http://www.newbalance-outlet.org/

Post comment

Nick *
Your name or nickname
E-mail
Your contact information (optional, will not be shown)
Text *
Content of your comment
Calculate *
(* - required field)
STAT NO AD [Stat] [Admin] [STAT NO AD] [pub] [Mirror] Copyright © 2004-2017 Adam Sawicki
Copyright © 2004-2017 Adam Sawicki