Does OOP suck? I think it does if you are from a functional programming background. Similarly, functional programming can be Greek to you if you are from the imperative programming background. [Continue]
skip to navigation | content
ifacethoughtsDoes OOP suck? I think it does if you are from a functional programming background. Similarly, functional programming can be Greek to you if you are from the imperative programming background. [Continue]
Some articles that I read about OOP give me a feeling that the dark side arguments are mostly based on the syntax and keywords of the programming languages. The pros and cons of various languages like C++, Java, Lisp creep in while discussing it. Because of this OOP comes out as a rigid set of todos, that in fact have been imposed because of the language. [Continue]
Gavin Bierman and Alisdair Wren published a paper that shows how to add first class relationships to Object Oriented Languages (pdf) (via LtU). At first instant I liked it. In some cases the relationships can be considered to be messages. [Continue]
One of my favorite authors has written on one of my favorite topics. Martin talks about role interface and header interface. A header interface is an explicit interface that mimics the implicit public interface of a class. [Continue]
In my recent training sessions on OOP I kept on stressing that it is more about the concept rather than the multitude of keywords like class, object or interface. Essentially, these concepts can be applied even in a procedural programming language, or a language that does not support OOP through constructs and keywords and enjoy its advantages. Tim Berners Lee pointed to the document Drupal Programming from an Object Oriented Perspective. [Continue]
Some people think that OOP makes software development overweight to pull through. It is not true. OOP is about spending more time with design which can lead to much lesser time on code, lesser bugs and quicker releases. [Continue]
I took a class on Object Oriented Programming (OOP) today for some developers. I had insisted on an early start, which might have been inconvenient for some, like it is for a lot of my friends. But this is what I have for my justification for an early start. [Continue]
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? [Continue]
Stable Abstractions Principle (SAP) can be considered to be a corollary of the Stable Dependencies Principle (SDP), which said that packages should depend only on more stable packages. The stability metrics showed that packages were instable if its classes depended on classes in another package. Applying the class design principles, especially the Dependency Inversion Principle (DIP), flexibility is built into a design by introducing abstract classes. [Continue]
All the design principles focus on getting the dependencies right between classes and then between packages. This enables high reusability and easier maintenance of software applications. As we have seen in Common Closure Principle, packages can be closed only for certain changes, an absolute closure is difficult. [Continue]
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 - IMHO, Epiphany is by far the best browser.