QCon London 2012 Day 2: Fads and Fashions

Mens_fashion_1856

Another day of QCon London 2012 conference has brought along another day of bashing of object-oriented programming, which is the basis for some of the most widely used programming tools and techniques, such as Java or Object-Relational Mappers. I must say  that I fully agree with the arguments behind the criticism and that object-oriented programming has clearly not fulfilled its promise. But on the other hand, I can vividly remember the summer of 1989 when I first read about inheritance, polymorphism, encapsulation and other fundamental features and concepts behind object-oriented approach. These concepts seemed so natural and self-evident at that time that I had no doubts that object-oriented approach is the future of programming. I've read over and over again the two pages of the local computer newspaper where all these concepts were explained until I was certain that I fully understands everything about it. And once I got the hold of Turbo Pascal 5.5 I've created all this elaborate class hierarchies and dreamed about perfect applications where everything is reusable and one could build this great edifice out of well-defined building blocks. I was a 13 years old kid at that time with just a few years of programming experience and only elementary knowledge of life. Little did I know that object-oriented approach will bring along its own set of problems. That it will couple things that actually shouldn't be coupled and that it will breed a special type of people called abstraction astronauts. I think that the jury will be out for quite many decades to come, whether object-oriented era is something that would be better to skip altogether or it represented an essential step in the evolution of programming.