Some problems are so complex that you have to be highly intelligent and well informed just to be undecided about them.
Laurence J. Peter
I am doing a startup!
Cross-browser testing from your browser!
I have written my fourth book!
Be faster than Larry Wall in the shell!
You're viewing a comment by Sandy and its responses.
Hi, I totally agree with you, but I have some other thoughts and lets just put aside the fact that jQuery is not a framework.
I have just spent 6 months wrangling Django, more specifically the admin side of the framework, and yes, it is an opinionated beast. Most frameworks are. They are built by developers who have an 'aha' moment about how things should work, then they build it, viola, a new framework. I agree that using a framework stifles creativity, but the irony is that a framework is a creative solution to a perceived problem.
SO was I able to use Django creatively... kind of, did I have to fight it to do what should be simple things... definitely. But when I needed to do something which the framework was built for... Oh the wonder and simplicity. I needed a database table to be searchable... ok, just give a list of searchable fields as a class member and bang... searchable database table. If I tried to code that from scratch, a) I would have just built the same thing over again, and b) it would have taken me far longer than setting a variable in a class.
To put it simply, frameworks are simply tools you can use to get a task or set of tasks done, without writing the code yourself. They are not meant to allow creativity, they are meant to be the hammer to the nail, nothing more. If I need to cut watermelon, will I choose a hammer? (That could actually be fun).
Another reason of why to choose a framework is recruitment. Yes, you can be super creative and solve heaps of things with your own code, but then any dev to come after you needs to understand your thought process, and style of coding. Why do you think the largest companies in the world think Python is great... one word... formatting. You can raise a pull request, and the way the code looks wont be very different between every dev on the team. So it's a productivity thing, If Company A uses framework Blurg, then it can hire Blurg developers, contract them in or out, and get productivity off the starting line. Otherwise every company you walk into would be like learning Angular all over again! Possibly worse if you happen to get hired by the PHPSpaghettiMonster.Org
Whats my point here? Basically, I don't think frameworks are evil, and I do think solving problems with your own creative code is a dying art. I want to blend both worlds, because writing the same boilerplate crap day in and day out is depressing, but trying to figure out why coolframework5 just wont stop converting all my strings to ALL CAPS is a pain I don't need.
Both approaches have their place, when used in the right way. We just need to learn when to use them!
BTW, I totally made Django my biatch. I killed off a bunch of plugins, took it back to core Django + Django Rest Framework, sprinkled on some Angular, then overrode that puppy till it was half dog, half machine. My productivity increased after 2 months, I took the defect rate way down, and I didn't have to spend ages doing some basic stuff, allowing me to get the UI to an acceptable state of usability. I definitely solved some problems in a creative way, using lesser worn paths or Django development.
Nice article :)
(why do I need your e-mail?)
It would be nice if you left your e-mail address. Sometimes I want to send a private message, or just thank for the great comment. Having your e-mail really helps.
I will never ever spam you.
(Your twitter handle, if you have one.)
* use <pre>...</pre> to insert a plain code snippet.
* use <pre lang="lang">...</pre> to insert a syntax highlighted code snippet.
For example, <pre lang="python">...</pre> will insert Python highlighted code.
* use <code>...</code> to highlight a variable or a single shell command.
* use <a href="url" nospam>title</a> to insert links.
<a href="url" nospam>title</a>
* use other HTML tags, such as, <b>, <i>, <blockquote>, <sup>, <sub> for text formatting.
Type the word "sandbox_508": (just to make sure you're a human)
Please preview the comment before submitting to make sure it's OK.
Peter Krumins' blog about programming, hacking, software reuse, software ideas, computer security, browserling, google and technology.
Reach me at:
Or meet me on:
Subscribe through an RSS feed:
Subscribe through email:
Enter your email address:
Delivered by FeedBurner
See all top articles
See all downloads
See more detailed list of recent articles
See more detailed category information
See more detailed list of all articles