Thursday, August 2, 2012

ircmaxell: Framework Fixation - An Anti Pattern

ircmaxell: Framework Fixation - An Anti Pattern, short summary:
  • delegation of architecture decisions to frameworks may not be optimal or even wrong
  • only use frameworks when doing prototypes or projects you don't need to maintain
  • frameworks don't save time/money in the long term
  • frameworks don't make it easier to hire good programmers
  • using a framework prevents developers from understanding backgrounds
  • not all framework developers are super heroes (look at the bug trackers ...)
  • favor libraries over frameworks
Quotes:
  • Most of the monolithic frameworks are red herrings...solving problems of yesterday
  • The typical mantra of "just let a framework do it for you" helps nothing except creating brainless code monkeys. (source)
My opinion:
  • frameworks are not so bad, but you need to evaluate them very carefully before using
  • evaluation means checking code quality, features AND performance matching the specific problems of your business
  • choosing the wrong framework throws your business back for years
  • make sure that you can maintain the framework yourself without the maintainers
  • make sure how to upgrade to new versions of the framework
  • only use a framework if your code size gets smaller
  • writing your own framework to solve only your problems can be quite good
  • frameworks can be used very well to find solutions for problems in your own code

No comments:

Post a Comment

Labels

performance (23) benchmark (6) MySQL (5) architecture (5) coding style (5) memory usage (5) HHVM (4) C++ (3) Java (3) Javascript (3) MVC (3) SQL (3) abstraction layer (3) framework (3) maintenance (3) Go (2) Golang (2) HTML5 (2) ORM (2) PDF (2) Slim (2) Symfony (2) Zend Framework (2) Zephir (2) firewall (2) log files (2) loops (2) quality (2) real-time (2) scrum (2) streaming (2) AOP (1) Apache (1) Arrays (1) C (1) DDoS (1) Deployment (1) DoS (1) Dropbox (1) HTML to PDF (1) HipHop (1) OCR (1) OOP (1) Objects (1) PDO (1) PHP extension (1) PhantomJS (1) SPL (1) SQLite (1) Server-Sent Events (1) Silex (1) Smarty (1) SplFixedArray (1) Unicode (1) V8 (1) analytics (1) annotations (1) apc (1) archiving (1) autoloading (1) awk (1) caching (1) code quality (1) column store (1) common mistakes (1) configuration (1) controller (1) decisions (1) design patterns (1) disk space (1) dynamic routing (1) file cache (1) garbage collector (1) good developer (1) html2pdf (1) internationalization (1) invoice (1) just-in-time compiler (1) kiss (1) knockd (1) legacy code (1) legacy systems (1) logtop (1) memcache (1) memcached (1) micro framework (1) ncat (1) node.js (1) openssh (1) pfff (1) php7 (1) phpng (1) procedure models (1) ramdisk (1) recursion (1) refactoring (1) references (1) regular expressions (1) search (1) security (1) sgrep (1) shm (1) sorting (1) spatch (1) ssh (1) strange behavior (1) swig (1) template engine (1) threads (1) translation (1) ubuntu (1) ufw (1) web server (1) whois (1)