What is holding back functional programming?
-
I went to a talk on Functional Programming (related to CQRS) and it just seems like such a natural match. This got me wondering - why isn't functional programming far more widely used than it is? (Thoughts I had - lack of visualisation tooling, and steep learning curve for juniors...?)
-
I went to a talk on Functional Programming (related to CQRS) and it just seems like such a natural match. This got me wondering - why isn't functional programming far more widely used than it is? (Thoughts I had - lack of visualisation tooling, and steep learning curve for juniors...?)
Because"the long established other paradigms do the job, so why change" ?
-
Because"the long established other paradigms do the job, so why change" ?
Yeah - that was what held back object-oriented programming...until it didn't.
-
Yeah - that was what held back object-oriented programming...until it didn't.
With the difference maybe that the multi-paradigm languages actually do a pretty good job.
-
With the difference maybe that the multi-paradigm languages actually do a pretty good job.
Object oriented languages (including C#) are truly awful in multithreaded / parallel situations, but we have got so used to working around this that we don't see it. I remember a similar thing with pre-OO code where we just couldn't imagine why you'd put the data and the code together.
-
Object oriented languages (including C#) are truly awful in multithreaded / parallel situations, but we have got so used to working around this that we don't see it. I remember a similar thing with pre-OO code where we just couldn't imagine why you'd put the data and the code together.
Duncan Edwards Jones wrote:
are truly awful in multithreaded / parallel situations
Which means that functional programming not ? Then I have to have a closer look at it :cool:
-
I went to a talk on Functional Programming (related to CQRS) and it just seems like such a natural match. This got me wondering - why isn't functional programming far more widely used than it is? (Thoughts I had - lack of visualisation tooling, and steep learning curve for juniors...?)
-
Object oriented languages (including C#) are truly awful in multithreaded / parallel situations, but we have got so used to working around this that we don't see it. I remember a similar thing with pre-OO code where we just couldn't imagine why you'd put the data and the code together.
In my not humble, but bloody good, opinion if the language needs to 'do multithreading' then you're doing it wrong. Write good code that does what it is supposed to do, then the process can be placed in a multithreaded do-hickey quantum runbot and your good to go. The amount of times I've had the same old argument, if you need to know how to set up queues and threads to handle them in the every day environment then you're application framework is FUBAR.
veni bibi saltavi
-
I went to a talk on Functional Programming (related to CQRS) and it just seems like such a natural match. This got me wondering - why isn't functional programming far more widely used than it is? (Thoughts I had - lack of visualisation tooling, and steep learning curve for juniors...?)
Duncan Edwards Jones wrote:
steep learning curve for juniors...?
And for not so juniors! It's like the shift from procedural to OO initially. Plus most of the line of business applications I do seem to have no need for it. I have dabbled a bit in F# though. I like to keep aware of what else is out there - for the day I may need it. :)
Kevin
-
Object oriented languages (including C#) are truly awful in multithreaded / parallel situations, but we have got so used to working around this that we don't see it. I remember a similar thing with pre-OO code where we just couldn't imagine why you'd put the data and the code together.
Duncan Edwards Jones wrote:
Object oriented languages (including C#) are truly awful in multithreaded / parallel situations, but we have got so used to working around this that we don't see it.
Actors is the latest fashion. I assume you've looked at the recently-released Akka.NET and MS Project Orleans? The former seems more approachable IMO, though I've only done "Hello World." Of course, Actors are "new" but not new since they were invented over 40 years ago! :) But it will appear new to most devs. Often the way with "new" tech.
Kevin
-
I went to a talk on Functional Programming (related to CQRS) and it just seems like such a natural match. This got me wondering - why isn't functional programming far more widely used than it is? (Thoughts I had - lack of visualisation tooling, and steep learning curve for juniors...?)
This answer by a former C# compiler developer (Eric Lippert) on SO is pretty good.
-
I went to a talk on Functional Programming (related to CQRS) and it just seems like such a natural match. This got me wondering - why isn't functional programming far more widely used than it is? (Thoughts I had - lack of visualisation tooling, and steep learning curve for juniors...?)
It took OOP a while to catch on, this is no different.
Jeremy Falcon