1. You will become dependent on the framework and less likely to move to new languages/tools.
"But..., but, but the framework does so much for me. I cannot, will not, leave without her." Run, fast. If your framework has a brain, she will take out a restraining order on you. Seriously, you have begun to think in terms of how fast, and only how fast you can finish a project. This is dangerous. By thinking in these terms and allowing the framework to handle all the complexities of web development plumbing and abstraction, we have unwittingly stopped thinking of new and exciting ways to solve problems. I know, I know, we are probably going to reinvent an old way to solve our problems, but that is not the point. The relevant point is that we are exercising our brain and developing our own thoughts. Remember a quote of Einstein's that I believe wholly applicable to software developers who only use frameworks.
Any man who reads too much and uses his own brain too little falls into lazy habits of thinking - Einstein
2. Do not worry about your next job interview because you do not know framework “X”.
I speak from experience as I conduct the technical job interviews for the company I work for. I will not ask you questions about a framework. I repeat; I will not ask you questions about a framework. We may discuss a framework, but this would be more a case where I want to see if you are thinking critically concerning a framework’s design decisions. Why in Hades would I ask you about frameworks? I want to know what you know about file processing, data structures, language, design, testing, and most importantly, are you capable of developing your own thoughts and thinking critically on these topics. We do not even have to agree, just so long as you are willing to think and present your arguments coherently and professionally.
3. Every web framework that has ever been, and ever will be, is incessantly described as the easiest framework to learn that has ever come into existence.
Guess what, most are pretty easy to learn. Therefore if you know and understand data structures, file processing, regular expressions, testing, design, the language involved and the language’s associated web APIs then I am not worried about your ability to learn framework “X”.
4. In two to five years that shiny and magical framework will turn ugly and undesirable.
If you work in enterprise, it is not likely that you were able to use ROR after the first alpha release, indeed, you likely did not even smell ROR until around 2006 or even last year. Therefore, by the time you and your cohorts are ready to make the leap, the leap has become a step and the step after is the, let us hope gentle, downward slope. For example, I believe the ROR hype is now in full decline and new frameworks are filling the voices of the horde in the important nerd news aggregator sites such as reddit.
5. The framework's code base and the project's code base are now inseparable.
I would rather have my project tied to a language and web server, than language, web server, and framework. When is it ever a good idea to include new dependencies into a project? And you, the developer of a web framework, want me to stake my livelihood on what you proudly coded in a weekend, no thanks. I despise using even simple third party libraries of any kind, unless there is a very good reason. After deciding I do need a third party, I am going to first shop open source in the event there is a defect and the library developers are not cooperative in correcting the offending source. To sum this point: I can live with an Apache/mod_python , Java/Tomcat, or IIS/C# dependency, but please do not add Django, Struts, or the infamous “runat=server”.
2 comments:
Hype Cycle. First it's unknown, then it's "OMG so cool". After that people go "It sux because x,y,z" then everybody shuts up and gets back to work.
Guess where Rails is right now.
Why is it dangerous to think in terms of finishing a project fast? I get paid for delivering my projects. I can only exercise my brain in my spare time.
Post a Comment