My first real foray into world of programming was through the use of Java (I had done some Turing but that doesn't count). Therefore I would say my initial teachings of computer science are heavily object oriented with principles in design patterns. I remember first learning of the most well known design patterns (observer, singleton etc...) and thinking to myself what a great a tool I know have at my disposal.
However did I fall into the pit trap of seeing every problem as a nail now that I have found my hammer?
Its corporations and business who want you to think in design patterns, so that they can make money. In functional style a design pattern is simply a higher order function. Everything is much much much more light weight. Design patterns are not extensible and often non composable. One you choose to use one of them you are stuck, for the rest of the life of the application. Design patterns are top-down approach and therefore they "claim" they know the "future" of the application. Since no one can predict how an application will evolve, forget about top-down design and software architects. Software arichtects means incompetence. Use bottom-up and no-patterns.
The above quote I read while looking into ideas for an undo framework for an application I am developing at work. Although I understand/comprehend the point of view I'm not sure I have been swayed. I have not written much in large scale applications but if there is a point where the design pattern used no longer fits the application it would seem that the application itself has evolved into something quite different.
Not sure how far to go into the subject; but rather stick to the point of "Is heavy OOP always the right way to go ?. For now I never mind setting up the overhead that is OOP.
5 archived comments
farid.m.zakaria · 2009-07-14
Someone had posted a reply (maliciously so I had deleted it) although I did like one of the comments they made
“You’re a programmer. You do what you’re told. Your only creative freedom is to decide how to do what your told. Just like all of us. Pawns under the corporations that run this world. If only money wasn’t so relevant.”
I disagree with the comment made. My current position I get to play the part of part designer & part developer as the team is relatively small. I find that for a co-op student in my position I am given a pretty substantially large creative freedom. I feel sad in fact for people who strictly believe the view expressed above.
Jason Stathom · 2009-07-14
You can’t advance in a career when you are seen as a great developer.
Q: Who wants the nerd who builds GUI’s running the money. A: Nobody.
Why? Because you’re essential to the company. Why should they pay to do anything else besides program?
I’m just telling you to give up now or go for broke. The real world is a tough cookie to crack. You need to find legitimate reason to justify your cause. I find nothing in this blog.
Jason Stathom · 2009-07-14
Things that are wrong with this blog:
QED
farid.m.zakaria · 2009-07-14
I think he was arguing that. Here is the blog I read the comment.
(You have to scroll to the comments at the bottom)
Jason Stathom · 2009-07-15
Well, I’d like to note that the posting with enumeration (The list of numbers and the QED at the bottom) is an impostor. Although he does bring several valid points to the table.
Get out of my J.Sate. Bitch.