eric's archived thoughts: framework fix

eric's archived thoughts: framework fix meyerweb.com exploration powered by google skip to: site navigation/presentation skip to: thoughts from eric framework fix thu 11 may 2006 1837 tech 18 responses “you know,” i said to the guys at the car lot, “i just don’t understand the deal with this car here.” “oh, it’s absolutely worth it!” they exclaimed. for the next half-hour, they extolled the power of the engine, the smooth handling, the tight cornering, the rakish styling, and all manner of other wonderful features of the car. “wow,” i said. “thanks! but it turns out that what i didn’t understand was how that steering wheel thingy and the foot pedals worked.” that, in a nutshell, is what happened with the frameworks post. predictably, it drew a large number of detractors and supporters of various frameworks, and of the whole concept of frameworks. since i focused a good deal on how the tutorials and other materials (yes, including the effin’ manuals) confused me, it should have been no surprise that there’d be a whole lot of debate about the “hype” surrounding frameworks. but here’s the thing: i didn’t get what frameworks really were. i wasn’t complaining about the hype. i was complaining about my lack of understanding, and to a large degree how little help i’d found in correcting that problem. this is, as it turns out, because my problem was such an elementary misconception that no framework documentarian would think to address it. how elementary? my perception was that frameworks were ways of putting a simpler (or perhaps just different) syntactical front end on a language. my belief about ruby on rails, for example, was that the rails part was almost like a new interpreter that hid ruby from the programmer. i didn’t grasp that it was ruby. i thought it was a simplified or more elegant or somehow different language that generated actual ruby on the back end, the same way ruby or any other language interpreter eventually generates assembly language (or, if you like, a lot of ones and zeroes). so that was the “very basic, fundamental, obvious thing” i was missing. hard to get much more basic than that, really. i’m entirely not sure how i formed that perception, but there you have it. my perception now, as i explained in a comment to my own post, is that frameworks are: a framework… can be thought of as a collection of libraries, though in actuality a good framework is both that and a formalization of best practices, condensed into an efficient syntax and approach. that may not be 100% accurate, but it’s a hell of a lot closer than before. as a result, i feel like i have a much better grasp on the situation and no real reason to worry, so thanks to everyone who commented. oh, and i swear that mr. snook and i had no idea we’d be publishing on the same topic at nearly the same time. at least, i had no idea. if he did, then i’d like to talk to either his fortune teller or his server access logs. 18 responses» trackback url comments rss feed #1 comment thu 11 may 2006 2020 dotone wrote in to say... i’m still not clear on one thing, are we on a “framework hype”? man it’s all pr. we’ve had frameworks since day one, yes for web! i guess it’s all after 37signals release of ruby on rails this whole thing started to get known by web-designers. c’mon man, .net, j2ee, pear, mojavi, zope, horde, and all the other valuble frameworks…??? looking for definition? ;) wikipedia to rescue but again i don’t think a framework can make a designer a developer, maybe it’s just my opinion. and before i forget to mention adobe’s new ajax framework. #2 comment thu 11 may 2006 2315 ismael wrote in to say... actually snook published this mini post about your post (yes, i commented on that one too, sory) before, i got here through that link. #3 comment fri 12 may 2006 0020 aristotle pagaltzis wrote in to say... yes, a framework is very much like a library. there is just one important distinction: with a library, you control the flow of execution. you write the main program and call out to the library to do bits of the work as you see fit. with a framework, it controls the flow of execution itself. you write the bits that differentiate your application from others that are similar, and the framework calls your code as it sees fit. in a way, it is an inside-out library. #4 comment fri 12 may 2006 0050 sam kaufman wrote in to say... it sounds like you’ve got it right. i like aristotle pagaltzis’ definition, but the term ‘framework’ has been so overused and (often) misused that you’re best thinking of a framework as a really big set of libraries. generally, this means it is intended to tackle a very broad problem. ruby on rails, for instance, is tackling the difficulty of web development. the .net framework tackles the difficulty of general programming. see? broad. it’s not too rare for frameworks to even venture beyond simply being a collection of libraries. the .net framework also contains an entire new programming language and development tools. so your confusion with ruby and ror is far from being blameworthy. sorry i’m late. :-) #5 comment fri 12 may 2006 0309 aristotle pagaltzis wrote in to say... sam: yeah, in general, your comments about the vagueness of the term are true. when it comes to web frameworks, though, the narrower (and thus also more userful) definition i gave is really quite close to reality. it is certainly true for rails and catalyst, and from what i know about it, i’d be surprised if it wasn’t true for cakephp. #6 comment fri 12 may 2006 1152 dustin diaz wrote in to say... this is yet another reason why the y!ui team has refrained from calling our utilities a “framework” #7 comment fri 12 may 2006 1231 ismael wrote in to say... aristotle, that’s an excellent definition. #8 comment fri 12 may 2006 1535 anotherguest. wrote in to say... well, a framework is supposed to do some of your programming for you. in reality, you usually have to build your whole program around the thing. generally, you either have to use the whole framework or none of it. and it locks you in. does this simplify your programming? maybe, maybe not. some people claim spectacular success. some of them are bloody awful, and the learning curve is usually a major career move. #9 comment fri 12 may 2006 1708 isaac lin wrote in to say... a framework could also be a new front end or “little language” — movable type templates or even php from a certain point of view puts a new front end on html. some languages like lisp and i believe ruby make it easy to create little languages that can be parsed within the language interpreter/compiler itself, so you can freely mix in code from the original language with the little language. (people do this in perl, too, though implementing the little language is trickier.) #10 comment fri 12 may 2006 1822 aristotle pagaltzis wrote in to say... anotherguest: it depends on how well the framework’s flow of execution matches the flow of execution of your specific app. if it’s close, then a framework will do a major amount of your work for free. if your app diverges too much from the kind of thing that the framework was designed for, though, then you’ll spend more time working against than with the framework. there are no silver bullets, but there are tools, and tools can be spectacularly useful if used in the right circumstances. you can’t even open a can with your bare hands, f.ex., but look how easy it is with a can opener. that sure doesn’t make the can opener an übertool capable of doing any job at any place in anyone’s hands. so it is with web frameworks. for some things, they are spectacularly useful; but the solution to every problem they aren’t. no surprises there. #11 comment fri 12 may 2006 2025 rollercoaster375 wrote in to say... i’m just popping in here to thank you… your last post brought out a bunch of *great* comments for those of us involved in framework projects. #12 comment sun 14 may 2006 0051 daniel higginbotham wrote in to say... in response to dotone’s comment, “i guess it’s all after 37signals release of ruby on rails this whole thing started to get known by web-designers.” and it’s about time! there is so much sloppy, ugly code out there (and i’ve made some of it), and it’s nice that methods for organizing and structuring that code are gaining exposure. overall, it seems like the majority of web sites and web programmers are about 8 years behind the rest of the software development world. for example, it’s only been within the last year or two that design patterns have started to receive attention in the php world. ask most php’ers if they know what test-driven development is, and you’ll get a blank look. anyway - the expanded definition given by aristotle really is great, as is mr. meyer’s :) i would add, then, that frameworks are designed to meet some specialized need. in the case of ruby on rails, the need is building web apps. last thing- mr. meyer is actually a bit accurate in his conception of ror as hiding actual code, only it often hides javascript and not ruby. #13 pingback sun 14 may 2006 0846 received from script artists » archiv » frameworks? […] das auch gefragt und verucht, antworten zu finden: eric meyer: flummoxed by frameworks und framework fix jonathan snook: why frameworks suck und why frameworks suck (redux) und […] #14 comment mon 15 may 2006 1159 chris wrote in to say... the value of a framework is that it standardizes and simplifies the process for incorporating more sophisticated programming into (for instance) web applications. if you spend all day every day writing programs, and that’s it, a web development framework would be irrelevent. if, on the other hand, you spend your day designing and building databases, building the application to run it, and building a web interface to the entire thing, or if you’re responsible for integrating the database, application, and interface built by others into a working app, then a framework (such as rails) can be a big help. so in the case of rails, i don’t see it as something that makes programming easier…i see it as something that makes it easier to talk to the web with ruby…and to integrate ruby with html, javascript, etc. more smoothly. sure, you could do it without the framework…just like you could buy the parts and build your own blender from scratch. #15 pingback tue 16 may 2006 0243 received from mostly random […] django and their brethren. especially recently, with eric meyer’s flumoxing (and its subsequent fix) and jeff croft’s amazing reboot. but i have been wanting to j […] #16 comment mon 22 may 2006 0429 tim almond wrote in to say... it can be more than just a collection of libraries. they actually manage what you are doing. for instance, in asp.net, managing what access users have to what pages is very simple. you define the roles for a folder, and use either windows or your own custom security handler. asp.net just does it for you. you don’t have to tell it to call a subroutine in each page, it’s done for you. a framework should be another level of abstraction, not just a bunch of libraries, but a whole way of working. when you wrote basic, you didn’t have to worry about pointers. it was hidden from you. you could just get on with the problem that was one level higher. #17 comment fri 26 may 2006 0059 dan blake wrote in to say... i’m not against doing anything that makes my life easier but how many times have you been on a site where the author attaches a framework/library that contains 10, 20, 30 functions and they are using 2? talk about bloat. the problem with frameworks is that people are using them who don’t understand the coding behind them. it is like a doctor with a shiny new scalpel who doesn’t know where to make the incision. they have the tools but not the knowledge to use them correctly. #18 comment sat 1 jul 2006 2026 dan wrote in to say... ijust stopped by to thank you.i’m involved in framework projects and i’ve read a lot of comments on the blog that have really stimulated the creative juices. leave a comment name e-mail uri line and paragraph breaks automatic, e-mail address required but never displayed, html allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> your comment remember to encode character entities if you're posting markup examples! management reserves the right to edit or remove any comment—especially those that are abusive, irrelevant to the topic at hand, or made by anonymous posters—although honestly, most edits are a matter of fixing mangled markup. thus the note about encoding your entities. if you're satisfied with what you've written, then go ahead... ← flummoxed by frameworks main spoken words → may 2006 smtwtfs april june  123456 78910111213 14151617181920 21222324252627 28293031   sidestep next entry:spoken words previous entry:flummoxed by frameworks search eric's archived thoughts feeds posts: rss 2.0 rss 0.92 atom comments: rss 2.0 extras feeds • faq • family navigation archives css toolbox writing speaking leftovers about this site all contents of this site, unless otherwise noted, are ©1995-2007 eric a. and kathryn s. meyer. all rights reserved. "thoughts from eric" is powered by the übercool wordpress 1.5.

Acceuil

suivante

eric's archived thoughts: framework fix  REGO-FIX® - Swiss Precision Tools - collets, toolholders, nuts ...  Fix Brothers Fruit Farm  How to Change the World: The Entrepreneur's New Year's Resolution ...  Session Fix :: Firefox Add-ons  This Global Warming Fix Stinks  [s1] Episode 13 - The Fix (Le Remède)  Trev’s Travels » Blog » Word Fix Plugin  Téléchargement NOD32.FiX.v2.1-nsane.exe  SPACE.com -- NASA Reveals Plan to Fix Solar Wing  OE-QuoteFix  Django security fix released  M700 Glofiish GPS SiRF III instant fix intégré Smartphone ETEN  Technology News: Space: ISS Astronaut to Perform Perilous ...  Garbage - Fix Me Now – Musique sur Last.fm  Chez Fix   MG WinSock XP Fix 1.2  Inventgeek.com - LCD Backlight Fix - Overview  Orna Cohen-Fix, Ph.D. : Faculty : NIDDK Laboratories  Polident Languettes Fix Confort - 40 languettes  Vichy Thermal Fix Yeux - 15 ml  Alpinisme -- Petites annonces - Re: vends chaussures neuves et fix ...  MIST & FIX - Brume Fixatrice de Maquillage - Fixateur de ...  LUX ELEMENTS®- FIX - Jeux de fixation  Active Content Developer Center  Resize or Convert Images online  [adult swim] Fix Schedule  3 Ways to Fix Citigroup  CTV.ca Astronauts embark on risk spacewalk to fix sail  Fix your mom's computer for mother's day - Joel on Software  Welcome to Gia's Fix  Dent Fix Equipment  IEFix Utility - Description  Recette Cocktail Whisky Fix ¤ 1001 Cocktails  The Denver Post - Shopping for Rox tix fix  Prim'X Technologies - Fix Notes du logiciel de chiffrement ZoneCentral  Object Fix Zip, pour réparer les fichiers ZIP endommagés ...  fix - definition of fix by the Free Online Dictionary, Thesaurus ...  Tidy Up iTunes MP3 Collection - Fix ID3 Tags And More Connected ...  HEDGE FUNDS ->> FIX ASSET MANAGEMENT ->> FAM  91.3 .:: Today's Christian Radio ::.. The FIX!  Jouet Animo Fix sur king-jouet.com  Forum Auto - Contestation:abscence "fix" ou "mobile" + "non ...  Bob le Bricoleur : Fix it Fun !  Q-fix - home computer support  Übersetzungsdienst in Hamburg- Fix-Sprachen  Tendeur Fix pour altoMaison Tasset-Magasin de musique  Tendeur Fix pour violoncelleMaison Tasset-Magasin de musique  Escalade -- Petites annonces - vends chaussures neuves et fix ...  FREE Microwave Oven Repair and Fix Finder  must fix  should fix  Historical Gold Charts and Data - London Fix  Laptops: easy fix for global education? csmonitor.com  株式会社フィクス トップページ  Local News Human stem cells fix heart damage in lab rats ...  Portail de l'Autoproduction de Musique Francophone : ID-FIX  fix - Wiktionnaire  Canon has fix for high-end SLR autofocus Underexposed - CNET ...  mental_floss magazine - Where Knowledge Junkies Get Their Fix  IBM - DB2 Version 9.1 fix packs and clients