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