Search This Blog

Showing posts with label Functional language. Show all posts
Showing posts with label Functional language. Show all posts

Wednesday, October 27, 2010

That "Lambda Calculus" thingy again, please!

I came across this presentaion on InfoQ last week and tried to listen to the speaker talking about Functional-Languages-101
No doubt, the speaker is qualified, but after 5mins, she starts to mentioning the term "lambda-calculus" thingy. The presentation starts to smell "academic".
The speaker forgot that her presentation slide has a "101" to it.
Therefore, her presentation joined a long list of  unsuccessful FP proponents and evangelists who failed to convince the masses of the power of FP. Sorry. Nice try.
Someone commented on the presentation sums up my thoughts nicely, which I quoted verbatim:
"Without diving into the discussion of imperative and Functional Programming (FP), my biggest concern about FP is not that we as a programmer don’t understand what a FP is all about; but how to write reusable and readable code.

All the experts feeding us the idea how beautiful FP is, never mentioned a single word about code reusability and readability. OO paradigm has been a success not because it was technically superior than Functional paradigm and vice versa, but because you can see the whole software as a blue print just looking at the API, and it is so easy to maintain and read someone else code.

I don’t claim to be an expert of programming paradigms especially FP, but say it for surety that no FP expert can convince you that reading and maintain the FP code is the easiest thing to do.
"

Wednesday, January 6, 2010

Functional Language: Gut feelings

In my last post, I written about my email to Barbara Liskov and raised some issues about Functional language.
I let out my feeling that something is not "right". That gut feeling.
Today, I came across Ted Neward's blog post on his 2010 prediction.
One of  his 2010 crystall ball point  seems to resonate with what I was trying to express then.

Quote:

"... functional languages will start to see a backlash. I hate to say it, but "getting" the functional mindset is hard, and there's precious few resources that are making it easy for mainstream (read: O-O) developers make that adjustment, far fewer than there was during the procedural-to-object shift. If the functional community doesn't want to become mainstream, then mainstream developers will find ways to take functional's most compelling gateway use-case (parallel/concurrent programming) and find a way to "git 'er done" in the traditional O-O approach, probably through software transactional memory, and functional languages like Haskell and Erlang will be relegated to the "What Might Have Been" of computer science history. Not sure what I mean? Try this: walk into a functional language forum, and ask what a monad is. Nobody yet has been able to produce an answer that doesn't involve math theory, or that does involve a practical domain-object-based example. In fact, nobody has really said why (or if) monads are even still useful. Or catamorphisms. Or any of the other dime-store words that the functional community likes to toss around."

I would hate to see Functional Language assuming the status of  Brahminian dialect, like Latin.
But again, who is to say folks are not motivated to learn and master Latin?

Veni. Vedi. Vici. 

Monday, January 4, 2010

On Barbara Liskov's Power of Abstraction, Functional language and PCP

Barbara Liskov  OOPSLA keynote at InfoQ site is worth listening to. 
She is best known for formulating the Liskov Substitution Principle(LSP)
Her presentation is very clear and well-delivered.

She's is not convinced of functional programming and emphasized readability and hinted  that DSLs could introduced cacophony into the language landscape.
Managed yesterday to fire off an email to her about some concerns I have about Functional language. After all,  I have begin to dip into Clojure for a few weeks now.
I got a reply this morning.
The gist is that readability may not be an issue with Functional languages but it could be due to something else. I felt that something is not natural or right. Maybe its my time and familiarity with Object-Oriented language for long time?. Or is it a paradigm change?.

Could Functional language be walking down the metaphor road of the new Sorcerer's Apprentice?

"That old sorcerer has vanished
And for once has gone away!
Spirits called by him, now banished,
My commands shall soon obey.
Every step and saying
That he used, I know,
And with sprites obeying
My arts I will show"


I don't know but I hope  PCP ("praise, certainty and perfection") is not at work. 

Only time will tell. Meanwhile, I got a copy of "Programming F#" by Chris Smith and started to read it for comparison with Clojure.