<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Framework Fix</title>
	<atom:link href="http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/feed/" rel="self" type="application/rss+xml" />
	<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/</link>
	<description>Things that Eric A. Meyer, CSS expert, writes about on his personal Web site; it&#039;s largely Web standards and Web technology, but also various bits of culture, politics, personal observations, and other miscellaneous stuff</description>
	<lastBuildDate>Fri, 19 Mar 2010 00:27:46 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: outbreak &#187; Frameworks in the future.. (written on May 14th, 2006 by Marko Mrdjenovic)</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-319993</link>
		<dc:creator>outbreak &#187; Frameworks in the future.. (written on May 14th, 2006 by Marko Mrdjenovic)</dc:creator>
		<pubDate>Thu, 14 Feb 2008 11:54:14 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-319993</guid>
		<description>[...] Eric posted Flummoxed by frameworks that started a huge debate about it (he also posted a later explanation). Yesterday I was also listening to Dustin&#8217;s episode 12: YUI Library Discussion about the [...]</description>
		<content:encoded><![CDATA[<p>[...] Eric posted Flummoxed by frameworks that started a huge debate about it (he also posted a later explanation). Yesterday I was also listening to Dustin&#8217;s episode 12: YUI Library Discussion about the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-38289</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Sun, 02 Jul 2006 00:26:23 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-38289</guid>
		<description>Ijust stopped by to thank you.I&#039;m involved in framework projects and i&#039;ve read a lot of comments on the blog that have really stimulated the creative juices.</description>
		<content:encoded><![CDATA[<p>Ijust stopped by to thank you.I&#8217;m involved in framework projects and i&#8217;ve read a lot of comments on the blog that have really stimulated the creative juices.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan Blake</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-34087</link>
		<dc:creator>Dan Blake</dc:creator>
		<pubDate>Fri, 26 May 2006 04:59:08 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-34087</guid>
		<description>I&#039;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&quot;t understand the coding behind them.  It is like a doctor with a shiny new scalpel who doesn&quot;t know where to make the incision.  They have the tools but not the knowledge to use them correctly.</description>
		<content:encoded><![CDATA[<p>I&#8217;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&#8221;t understand the coding behind them.  It is like a doctor with a shiny new scalpel who doesn&#8221;t know where to make the incision.  They have the tools but not the knowledge to use them correctly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim Almond</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-32599</link>
		<dc:creator>Tim Almond</dc:creator>
		<pubDate>Mon, 22 May 2006 08:29:40 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-32599</guid>
		<description>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&#039;t have to tell it to call a subroutine in each page, it&#039;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&#039;t have to worry about pointers. It was hidden from you. You could just get on with the problem that was one level higher.</description>
		<content:encoded><![CDATA[<p>It can be more than just a collection of libraries. They actually manage what you are doing.</p>
<p>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&#8217;t have to tell it to call a subroutine in each page, it&#8217;s done for you.</p>
<p>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&#8217;t have to worry about pointers. It was hidden from you. You could just get on with the problem that was one level higher.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mostly Random</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-29072</link>
		<dc:creator>Mostly Random</dc:creator>
		<pubDate>Tue, 16 May 2006 06:43:49 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-29072</guid>
		<description>[...] Django and their brethren. Especially recently, with Eric Meyer&#8217;s flumoxing (and its subsequent fix) and Jeff Croft&#8217;s amazing reboot.  	But I have been wanting to j [...]</description>
		<content:encoded><![CDATA[<p>[...] Django and their brethren. Especially recently, with Eric Meyer&#8217;s flumoxing (and its subsequent fix) and Jeff Croft&#8217;s amazing reboot.  	But I have been wanting to j [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-29016</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Mon, 15 May 2006 15:59:38 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-29016</guid>
		<description>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&#039;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&#039;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&#039;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. </description>
		<content:encoded><![CDATA[<p>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&#8217;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&#8217;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. </p>
<p>So in the case of Rails, I don&#8217;t see it as something that makes programming easier&#8230;I see it as something that makes it easier to talk to the web with Ruby&#8230;and to integrate Ruby with html, javascript, etc. more smoothly.</p>
<p>Sure, you could do it without the framework&#8230;just like you could buy the parts and build your own blender from scratch.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Script Artists  &#187; Archiv   &#187; Frameworks?</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28705</link>
		<dc:creator>Script Artists  &#187; Archiv   &#187; Frameworks?</dc:creator>
		<pubDate>Sun, 14 May 2006 12:46:35 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28705</guid>
		<description>[...] 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 [...]</description>
		<content:encoded><![CDATA[<p>[...] 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 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Higginbotham</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28679</link>
		<dc:creator>Daniel Higginbotham</dc:creator>
		<pubDate>Sun, 14 May 2006 04:51:31 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28679</guid>
		<description>In response to dotone&#039;s comment, &quot;I guess it&quot;s all after 37Signals release of Ruby on Rails this whole thing started to get known by web-designers.&quot;

And it&#039;s about time! There is so much sloppy, ugly code out there (and I&#039;ve made some of it), and it&#039;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&#039;s only been within the last year or two that design patterns have started to receive attention in the PHP world. Ask most PHP&#039;ers if they know what test-driven development is, and you&#039;ll get a blank look.

Anyway - the expanded definition given by Aristotle really is great, as is Mr. Meyer&#039;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.</description>
		<content:encoded><![CDATA[<p>In response to dotone&#8217;s comment, &#8220;I guess it&#8221;s all after 37Signals release of Ruby on Rails this whole thing started to get known by web-designers.&#8221;</p>
<p>And it&#8217;s about time! There is so much sloppy, ugly code out there (and I&#8217;ve made some of it), and it&#8217;s nice that methods for organizing and structuring that code are gaining exposure.</p>
<p>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&#8217;s only been within the last year or two that design patterns have started to receive attention in the PHP world. Ask most PHP&#8217;ers if they know what test-driven development is, and you&#8217;ll get a blank look.</p>
<p>Anyway &#8211; the expanded definition given by Aristotle really is great, as is Mr. Meyer&#8217;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.</p>
<p>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.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rollercoaster375</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28197</link>
		<dc:creator>rollercoaster375</dc:creator>
		<pubDate>Sat, 13 May 2006 00:25:42 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28197</guid>
		<description>I&#039;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.</description>
		<content:encoded><![CDATA[<p>I&#8217;m just popping in here to thank you&#8230; Your last post brought out a bunch of *great* comments for those of us involved in Framework projects.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aristotle Pagaltzis</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28187</link>
		<dc:creator>Aristotle Pagaltzis</dc:creator>
		<pubDate>Fri, 12 May 2006 22:22:58 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28187</guid>
		<description>AnotherGuest: it depends on how well the framework&quot;s flow of execution matches the flow of execution of your specific app. If it&quot;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&quot;ll spend more time working against than with the framework.

There are no silver bullets, but there &lt;em&gt;are&lt;/em&gt; tools, and tools can be spectacularly useful if used in the right circumstances. You can&quot;t even open a can with your bare hands, f.ex., but look how easy it is with a can opener. That sure doesn&quot;t make the can opener an übertool capable of doing any job at any place in anyone&quot;s hands.

So it is with web frameworks. For some things, they are spectacularly useful; but the solution to every problem they aren&quot;t. No surprises there.</description>
		<content:encoded><![CDATA[<p>AnotherGuest: it depends on how well the framework&#8221;s flow of execution matches the flow of execution of your specific app. If it&#8221;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&#8221;ll spend more time working against than with the framework.</p>
<p>There are no silver bullets, but there <em>are</em> tools, and tools can be spectacularly useful if used in the right circumstances. You can&#8221;t even open a can with your bare hands, f.ex., but look how easy it is with a can opener. That sure doesn&#8221;t make the can opener an übertool capable of doing any job at any place in anyone&#8221;s hands.</p>
<p>So it is with web frameworks. For some things, they are spectacularly useful; but the solution to every problem they aren&#8221;t. No surprises there.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Isaac Lin</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28160</link>
		<dc:creator>Isaac Lin</dc:creator>
		<pubDate>Fri, 12 May 2006 21:08:54 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28160</guid>
		<description>A framework could also be a new front end or &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Little_language&quot; rel=&quot;nofollow&quot;&gt;little language&lt;/a&gt;&quot; -- 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.)</description>
		<content:encoded><![CDATA[<p>A framework could also be a new front end or &#8220;<a href="http://en.wikipedia.org/wiki/Little_language" rel="nofollow">little language</a>&#8221; &#8212; Movable Type templates or even PHP from a certain point of view puts a new front end on HTML.</p>
<p>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.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AnotherGuest.</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28132</link>
		<dc:creator>AnotherGuest.</dc:creator>
		<pubDate>Fri, 12 May 2006 19:35:02 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28132</guid>
		<description>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.</description>
		<content:encoded><![CDATA[<p>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.</p>
<p>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.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ismael</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28117</link>
		<dc:creator>ismael</dc:creator>
		<pubDate>Fri, 12 May 2006 16:31:00 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28117</guid>
		<description>Aristotle, that&#039;s an excellent definition.</description>
		<content:encoded><![CDATA[<p>Aristotle, that&#8217;s an excellent definition.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dustin Diaz</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28114</link>
		<dc:creator>Dustin Diaz</dc:creator>
		<pubDate>Fri, 12 May 2006 15:52:44 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28114</guid>
		<description>This is yet another reason why the Y!UI team has refrained from calling our utilities a &quot;Framework&quot;</description>
		<content:encoded><![CDATA[<p>This is yet another reason why the Y!UI team has refrained from calling our utilities a &#8220;Framework&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aristotle Pagaltzis</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28080</link>
		<dc:creator>Aristotle Pagaltzis</dc:creator>
		<pubDate>Fri, 12 May 2006 07:09:23 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comment-28080</guid>
		<description>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&quot;d be surprised if it wasn&quot;t true for CakePHP.</description>
		<content:encoded><![CDATA[<p>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.</p>
<p>It is certainly true for Rails and Catalyst, and from what I know about it, I&#8221;d be surprised if it wasn&#8221;t true for CakePHP.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head profile="http://gmpg.org/xfn/1">
<title>meyerweb.com</title>
<link rel="openid.server" href="http://www.myopenid.com/server">
<link rel="openid.delegate" href="http://emeyer.myopenid.com/">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link rel="shortcut icon" href="/favicon.ico"><link rel="home" href="http://meyerweb.com/" title="Home" ><link rel="stylesheet" href="http://meyerweb.com/ui/meyerweb.css" type="text/css" media="screen, projection"><link rel="stylesheet" href="http://meyerweb.com/ui/theme.css" type="text/css" media="screen, projection" id="themeLink"><link rel="stylesheet" href="http://meyerweb.com/ui/print.css" type="text/css" media="print"><script src="http://meyerweb.com/ui/addresses.js" type="text/javascript"></script><link rel="stylesheet" href="/ui/wordpress.css" type="text/css" media="screen">
<link rel="stylesheet" href="/ui/tfe.css" type="text/css" media="screen">
<link rel="stylesheet" href="/ui/home.css" type="text/css" media="screen">
<link rel="alternate" type="application/rss+xml" title="Thoughts From Eric" href="/eric/thoughts/rss2/full" />
<link rel="alternate" type="application/rss+xml" title="Thoughts From Eric (only technical posts)" href="/eric/thoughts/category/tech/rss2/full" />
<link rel="alternate" type="application/rss+xml" title="Thoughts From Eric (only personal posts)" href="/eric/thoughts/category/personal/rss2/full" />
<link rel="alternate" type="application/rss+xml" title="Distractions" href="/eric/thoughts/recent-links/rss2" />
<link rel="alternate" type="application/rss+xml" title="Excuse of the Day" href="/feeds/excuse/rss20.xml" />
</head>
<body id="www-meyerweb-com" class="hpg">

<div id="sitemast"><h1><a href="/"><span>meyerweb</span>.com</a></h1></div><div id="search"><h4>Exploration</h4><!-- SiteSearch Google --><form method="get" action="http://www.google.com/custom" target="_top"><div><input type="hidden" name="domains" value="meyerweb.com"></input><label for="sbb" style="display: none">Submit search form</label><input type="submit" name="sa" value="Google Search" id="sbb"></input><label for="sbi" style="display: none">Enter your search terms</label><input type="text" name="q" size="31" maxlength="255" value="" id="sbi"></input><p><input type="radio" name="sitesearch" value="meyerweb.com" checked id="ss1"></input><label for="ss1" title="Search meyerweb.com">meyerweb.com</label><input type="radio" name="sitesearch" value="" id="ss0"></input><label for="ss0" title="Search the Web">Web</label></p><input type="hidden" name="client" value="pub-3772084027748653"></input><input type="hidden" name="forid" value="1"></input><input type="hidden" name="ie" value="ISO-8859-1"></input><input type="hidden" name="oe" value="ISO-8859-1"></input><input type="hidden" name="safe" value="active"></input><input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1"></input><input type="hidden" name="hl" value="en"></input></div></form><!-- SiteSearch Google --><!-- <form method="get" action="http://www.google.com/custom"><div><input type="submit" name="sa" value="Search"><input type="text" name="q" size="20" maxlength="255" value=""><input type="hidden" name="sitesearch" value="meyerweb.com"></div></form><small><a href="http://www.google.com/search">Powered by Google</a></small> --></div><div id="main"><div class="skipper">Skip to: <a href="#extra">site navigation/presentation</a></div><div class="skipper">Skip to: <a href="#thoughts">Thoughts From Eric</a></div>
<div id="thoughts">


<div class="entry">
<h3><a href="http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/" rel="bookmark" title="Permanent Link: Framework Fix">Framework Fix</a></h3>
<ul class="meta">
<li class="date">Thu 11 May 2006</li>
<li class="time">1837</li>
<li class="cat"><a href="http://meyerweb.com/eric/thoughts/category/tech/" title="View all posts in Tech" rel="category tag">Tech</a></li>
<li class="cmt"><a href="http://meyerweb.com/eric/thoughts/2006/05/11/framework-fix/#comments">19 responses</a></li>
<li></li><li></li></ul>

<div class="text">
<p>
&#8220;You know,&#8221; I said to the guys at the car lot, &#8220;I just don&#8217;t understand the deal with this car here.&#8221;
</p>
<p>
&#8220;Oh, it&#8217;s absolutely worth it!&#8221; 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.
</p>
<p>
&#8220;Wow,&#8221; I said.  &#8220;Thanks!  But it turns out that what I didn&#8217;t understand was how that steering wheel thingy and the foot pedals worked.&#8221;
</p>
<p>
That, in a nutshell, is what happened with <a href="http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/">the frameworks post</a>.  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, <em>including</em> the effin&#8217; manuals) confused me, it should have been no surprise that there&#8217;d be a whole lot of debate about the &#8220;hype&#8221; surrounding frameworks.
</p>
<p>
But here&#8217;s the thing: <em>I didn&#8217;t get what frameworks really were</em>.  I wasn&#8217;t complaining about the hype.  I was complaining about my lack of understanding, and to a large degree how little help I&#8217;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.
</p>
<p>
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&#8217;t grasp that it <em>was</em> 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).
</p>
<p>
So that was the &#8220;very basic, fundamental, obvious thing&#8221; I was missing.   Hard to get much more basic than that, really.  I&#8217;m entirely not sure <em>how</em> I formed that perception, but there you have it.
</p>
<p>
My perception now, as I explained in a comment to my own post, is that frameworks are:
</p>
<blockquote>
<p>
A framework&#8230; 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.
</p>
</blockquote>
<p>
That may not be 100% accurate, but it&#8217;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.
</p>
<p>
Oh, and I swear that <a href="http://www.snook.ca/jonathan/">Mr. Snook</a> and I had no idea we&#8217;d be <a href="http://www.snook.ca/archives/building_a_web_application/why_frameworks_1/">publishing on the same topic</a> at nearly the same time.  At least, <em>I</em> had no idea.  If he did, then I&#8217;d like to talk to either his fortune teller or his server access logs.
</p>
</div>

</div>

</div>
<p style="font-size: 90%; text-align: right; margin-top: 0.5em; padding-top: 0;">(If you care, there's even an <a href="/eric/thoughts/page/2/">archive of previous thoughts</a>...)</p>

</div><div id="extra"><div class="panel" id="archipelago"><h4>Identity Archipelago</h4><ul><li><a href="http://flickr.com/photos/meyerweb/" rel="me">Flickr</a></li><li><a href="http://twitter.com/meyerweb/" rel="me">Twitter</a></li><li><a href="http://dopplr.com/traveller/meyerweb">Dopplr</a></li><li><a href="http://www.linkedin.com/in/meyerweb" rel="me">LinkedIn</a></li><li><a href="http://technorati.com/profile/emeyer" rel="me">Technorati</a></li></ul></div><div class="panel" id="pointers"><h4>Projects Elsewhere</h4><ul><li><a href="http://aneventapart.com/">An Event Apart</a></li><li><a href="http://complexspiral.com/">Complex Spiral Consulting</a></li><li><a href="http://www.webassist.com/go/css/emeyer/">CSS Sculptor</a></li><li><a href="http://css-discuss.org/">css-discuss</a></li><li><a href="http://microformats.org/">Microformats</a></li><li><a href="http://s5project.org/">S5</a></li></ul></div><div class="panel" id="tour"><ul><li><a href="http://fray.com/issue3/"><img src="http://fray.com/images/i3c.gif" alt="Fray Contributor (Issue 3: Sex &amp; Death)" /></a></li><!-- <li><a href="http://www.webassist.com/go/css/emeyer/"><img src="/pix/CS_ad_180x109.jpg" alt="CSS Sculptor for Dreamweaver" style="max-width: 100%;" /></a></li> --></ul></div><div class="panel">
<h4>Recently Tweeted</h4>
<p class="more"><a href="http://twitter.com/meyerweb">see more</a></p>
<p>Spent the afternoon manhandling a rototiller whose clutch design was exactly the inverse of anything resembling reasonable or safe. <small>&#8211;tweeted 6 hours, 5 minutes ago</small></p>
</div><div id="sideblog" class="panel">
<h4>Distractions</h4>
<p class="more">
<a href="/eric/thoughts/recent-links/">archive</a>
</p>
<ul>
<li><a href="http://tweetagewasteland.com/2010/03/my-head-is-in-the-cloud/" title="March 18 | &#8220;I sense that my addiction to the realtime stream is only making room for the consumption of a faster stream.&#8221;">My Head is in the Cloud</a> <small>[via <a href="http://daringfireball.net/">John</a>]</small></li>
<li><a href="http://8bitnyc.com/" title="March 17 | All of a sudden I want to establish a mission in Central Park and negotiate with the natives for gold and food.">8-Bit NYC</a></li>
<li><a href="http://www.youtube.com/watch?v=nFicqklGuB0&amp;feature=player_embedded" title="March 12 | Wry comment expressing my appreciation of the creative derivativeness of this video and its uncanny accuracy in mocking common tropes.">Academy Award Winning Movie Trailer</a></li>
<li><a href="http://www.youtube.com/watch?v=414TmP12WAU" title="March 9 | &#8220;Apple juice&#8230; for half price!&#8221;  More like twice PRICELESS.  (Note: If you&#8217;re at work, don your headphones.)">Happy in Paraguay</a> <small>[via <a href="http://unstoppablerobotninja.com/">Ethan</a>]</small></li>
<li><a href="http://www.youtube.com/watch?v=9V5ubAOeOBk&amp;feature=player_embedded" title="February 10 | This is approximately the best thing ever.">U900 -Walk Don&#8217;t Run (Isogabamaware)</a></li>
<li><a href="http://www.456bereastreet.com/archive/201002/sifr_default_css_hides_content_from_at_least_one_screen_reader/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A 456bereastreet %28456 Berea Street%29" title="February 8 | -9999px comes through again, but I really wish we were beyond that kind of thing.">sIFR default CSS hides content from at least one screen reader</a></li>
<li><a href="http://www.macosxhints.com/article.php?story=20100117064356428" title="February 8 | Storing this for future use.">Take a picture with the iSight camera when a folder is opened</a></li>
<li><a href="http://mingle2.com/blog/view/web-developer-mind" title="February 4 | Mostly valid.  (SEE WHAT I DID THERE?)">The Mind of a Web Developer: An Illustrated Diagram</a></li>
<li><a href="http://www.theonion.com/content/news/science_channel_refuses_to_dumb" title="January 28 | &#8220;Punkin Chunkin, for Christ&#8217;s sake&#8230; What more do you people want?&#8221;">Science Channel Refuses To Dumb Down Science Any Further</a></li>
<li><a href="http://www.mailchimp.com/blog/project-omnivore-declassified/" title="January 27 | Sounds like quite a feat.  But I wonder how we&#8217;d feel if Microsoft or Google announced the same kind of thing on their e-mail services.">MailChimp&#8217;s Project Omnivore: Declassified</a></li>
<li><a href="http://www.politifact.com/truth-o-meter/statements/2010/jan/25/carolyn-maloney/congresswoman-says-democratic-presidents-create-mo/" title="January 26 | &#8220;Obviously, luck matters a lot, but when there is a consistent pattern over more than 60 years, it starts to look like more than just luck.&#8221;">Congresswoman says Democratic presidents create more private-sector jobs</a></li>
<li><a href="http://www.ted.com/talks/taylor_mali_what_teachers_make.html" title="January 25 | Truth.">Taylor Mali: What teachers make</a></li>
<li><a href="http://notebook.johnmartz.com/how-websites-work?c=1" title="January 22 | At last, the truth is out and I can stop pretending:  beatific monkeys are what makes it all go.">How websites work</a></li>
</ul>
</div>
<div class="panel" id="advisory">
<div class="guarded">
<a href="http://blogadvisorysystem.com/"><img src="/pix/bas/guarded.png" alt="Blog Advisory System Alert Level: Guarded"></a>
</div>
</div>

<div class="panel" id="excuse">
<h4>The <a href="/feeds/excuse/">excuse of the day</a> is</h4>
<p>Internet 1 traffic is being routed onto Internet 2</p>
</div>

<div class="panel" id="extras">
<h4>Extras</h4>
<ul>
<li><a href="/feeds/">Feeds</a> &#8226;</li>
<li><a href="/eric/faq.html">FAQ</a> &#8226;</li>
<li><a href="/family.html">Family</a></li>
</ul>
</div>

</div>

<div id="navigate">
<h4>Navigation</h4>
<ul id="navlinks">
<li id="archLink"><a href="/eric/thoughts/">Archives</a></li>
<li id="cssLink"><a href="/eric/css/">CSS</a></li>
<li id="toolsLink"><a href="/eric/tools/">Toolbox</a></li>
<li id="writeLink"><a href="/eric/writing.html">Writing</a></li>
<li id="speakLink"><a href="/eric/talks/">Speaking</a></li>
<li id="otherLink"><a href="/other/">Leftovers</a></li>
<li id="aboutsite"><a href="/ui/about.html">About this site</a></li>
</ul>
</div>

<div id="footer">
<p class="sosumi">All contents of this site, unless otherwise noted, are &copy;1995-2008 <strong>Eric A. and Kathryn S. Meyer</strong>.  All Rights Reserved.</p>
<p>"<a href="/eric/thoughts/">Thoughts From Eric</a>" is powered by the &uuml;bercool <a href="http://wordpress.org/">WordPress</a></p>
</div>
</body>
</html>
