Linked by Thom Holwerda on Mon 14th Jan 2013 23:15 UTC, submitted by MOS6510
General Development "Programming languages are living phenomena: They're born, the lucky ones that don't die in infancy live sometimes long, fruitful lives, and then inevitably enter a period of decline. Unlike real life, the decline can last many, many years as the presence of large legacy codebases means practiced hands must tend the code for decades. The more popular the language once was, the longer this period of decline will be."
Thread beginning with comment 548835
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Comment by RareBreed
by moondevil on Tue 15th Jan 2013 10:33 UTC in reply to "Comment by RareBreed"
moondevil
Member since:
2005-07-08

The functional programming is going to be just another tool of multi-paradigm programming languages, I think.

From my enterprise experience I think functional programming has more chances of success by being integrated into mainstream languages (C#, Scala, ...) as pure functional only.

People finally discovered that single paradigm languages are not a good idea.

Reply Parent Score: 4

RE[2]: Comment by RareBreed
by hhas on Tue 15th Jan 2013 12:37 in reply to "RE: Comment by RareBreed"
hhas Member since:
2006-11-28

People finally discovered that single paradigm languages are not a good idea.


I disagree. Maintaining a clear, precise focus is a Very Good Thing (see: Coupling and Cohesion 101). You never see a joiner using the same tool to do everything from slice wood to turn screws to drive nails to apply varnish. There's a reason for that.

I think the real problem is developers not being able to hop quickly and effortlessly between different languages within a project. That may be partly down to bridging and tools not being good enough to allow seamless mixing and matching. But I suspect the biggest barrier is developers themselves lacking the mental agility to switch between languages and idioms. That, compounded by a self-indulgent fondness for inventing complex solutions using tools they already know rather than seeking out simple solutions involving tools they don't. The modern trend for Computer Science courses to silently retool as Software Engineering, and from there to lowest-common-denominator Java diploma mills, probably doesn't help either; but that's another debate.

Reply Parent Score: 2

RE[3]: Comment by RareBreed
by moondevil on Tue 15th Jan 2013 12:47 in reply to "RE[2]: Comment by RareBreed"
moondevil Member since:
2005-07-08

I share the same opinion, although I do like multi-paradigm languages.

I loathe the way some developers seem to try to bend a given language to use it in ever conceivable scenario.

Don't mix Software Engineering with CS names. My university degree when I took it, was called Software Engineering in my mother language, but the actual contents were what is known as CS in other countries.

Reply Parent Score: 3

RE[3]: Comment by RareBreed
by RareBreed on Wed 16th Jan 2013 20:50 in reply to "RE[2]: Comment by RareBreed"
RareBreed Member since:
2011-10-10

Perhaps FP is a special case, but it only takes one mutable piece of data or a function with a side effect to make it useless (in a concurrent/parallel context).

So I agree that single paradigm languages have their place. Also, many of the things done in OOP can be done in FP but using a different way of thinking.

And I think that is the crux of the problem. People don't want to have to learn a new way of thinking. They are ok with learning new API's or even new languages that fit their mold (OO, imperative, Relational, logical etc), but having to think in a new way is too much work for many people.

Reply Parent Score: 2

RE[2]: Comment by RareBreed
by Delgarde on Tue 15th Jan 2013 20:33 in reply to "RE: Comment by RareBreed"
Delgarde Member since:
2008-08-19

The functional programming is going to be just another tool of multi-paradigm programming languages, I think.


Agreed. Over the years, I've found very little value in purely-functional languages - but I find a *lot* of value in having functional elements within more traditional procedural or OO languages.

Reply Parent Score: 2

RE[3]: Comment by RareBreed
by satsujinka on Tue 15th Jan 2013 22:09 in reply to "RE[2]: Comment by RareBreed"
satsujinka Member since:
2010-03-11

"The functional programming is going to be just another tool of multi-paradigm programming languages, I think.


Agreed. Over the years, I've found very little value in OO languages - but I find a *lot* of value in having objects in more traditional procedural or functional languages.
"

Fixed that for ya ;)

Serious now.

It's true, pure functional is only a marginal improvement over impure functional. It's sort of like the distinction between weak and strong typing. But just as we prefer strong typing for the guarantees it gives us we should prefer pure functional to impure.

Reply Parent Score: 2

RE[2]: Comment by RareBreed
by RareBreed on Wed 16th Jan 2013 20:46 in reply to "RE: Comment by RareBreed"
RareBreed Member since:
2011-10-10

I would disagree here. The problem is that it only takes one mutable piece of data or one function with a side effect to ruin an entire call chain. Mixing and matching pure FP with anything else renders your code non-pure and thus you may as well not have written in an FP style at all.

Less seriously, it forces users to think multiple ways. I saw many java developers complain vehemently about the upcoming lambdas in Java 8. So one developer might write code in an OO style, and another in an FP style, and now everybody has to learn both ways of doing it.

Reply Parent Score: 2