ifacethoughts

OOP And FP

I always like to confirm my understandings of the technology world with the real world. I always like to express benefits of technology in the layman’s language. Why? Because I feel that technology is just a means of solving problems and providing value in the real world. My peace of mind with Object Oriented Programming (OOP) stems from my conviction that it helps build the software as close as possible to the real world, which is the best possible case of automation. All my understanding of OOP is based on interface, not the keyword, but the concept. Things like these help me convince others why and what difference OOP can make. In business terms, provide the bottom-line justification.

Not Just A Programming Paradigm

I am preparing some slides for tutorials for Object Oriented Programming (OOP). I pulled out Object Oriented Analysis And Design With Applications by Grady Booch from my stack of books to reconnect with the basics. Basics are funny because each time you go to them you can extract something new from the same teachings. I realised this time that OOP is not just a programming paradigm. It is a problem solving approach, it is a way of representing the real world digitally, it is a methodology for analysis and design. Maybe there are different terms like OOAD but they are just branches of the same tree.

The good thing about OOP is that it has evolved out of studying software complexities. To quote from the book:

As Brooks suggests, “The complexity of software is an essential property, not an accidental one”.

The intent of acknowledging the complexity has helped make OOP ready for it. As you read the book, especially the five attributes of a complex system, you realise that OOP knows about the problems and can help solve them. This feeling comes not because of understanding of principles or patterns, but because of the realisation that the OOP approach is about the real world and for the real world.

Functional Programming Roots

I developed interest in Functional Programming (FP) because of its unique ability to express logic being associated closer to Mathematics. My study of Functional Programming (FP) and some experiments with Haskell have convinced me about its benefits quite a lot. I know the benefits of functions as first class citizens, of no side-effects because of referential transparency and of leaner and cleaner code. However I have not been able to provide bottom-line justifications, or that the benefits are limited to the programming domain. I have come across some real world problems which FP can solve better, but they are only some. The nirvana and ultimate joy of programming is what I have heard and read of FP.

In spite of being convinced of benefits of FP as a programmer I have not been able to reaffirm them as a software engineer.

OOP And FP

There have been instances of part unions between OOP and FP. For example languages like Ruby are object oriented languages with a lot of features borrowed from FP. They are being added to a lot of other languages too.

It would be better if there can be case-studies of how the benefits of FP impacted the problem domain or the business. In my opinion, the basic advantage of ability to understand a real world system by decomposing it in OOP takes the cake. We need instances of being able to relate FP to the real world. And it should not be about the programming features, but about the features of the concept.

Say your thought!

Who are you?

If you want to use HTML you can use these tags: <a>, <em>, <strong>, <abbr>, <code>, <blockquote>. Closing the tags will be appreciated as this site uses valid XHTML.

freshthoughts

contactme

Abhijit Nadgouda
iface Consulting
India
+91 9819820312
Y!: anadgouda
GTalk: anadgouda@gmail.com
MSN: anadgouda@hotmail.com
Skype: anadgouda
My bookmarks

currentproject

Complete Wellbeing

badgesand...

This is the weblog of Abhijit Nadgouda where he writes down his thoughts on software development and related topics. You are invited to subscribe to the feed to stay updated or check out more subscription options. Or you can choose to browse by one of the topics.

Twitter - #mumbai - The city has started working today. The fears are still there, but the spirit will help in fighting it.