<?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: Flummoxed By Frameworks</title>
	<atom:link href="http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/feed/" rel="self" type="application/rss+xml" />
	<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/</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>Sat, 13 Mar 2010 01:09:04 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Friday on Rails &#124; Creativity, cooking and a bit of politics: Jamie Rothwell's blog</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-334379</link>
		<dc:creator>Friday on Rails &#124; Creativity, cooking and a bit of politics: Jamie Rothwell's blog</dc:creator>
		<pubDate>Mon, 10 Mar 2008 05:05:37 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-334379</guid>
		<description>[...] http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/ [...]</description>
		<content:encoded><![CDATA[<p>[...] <a href="http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/" rel="nofollow">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Script Artists &#124; Was sind Frameworks?</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-195649</link>
		<dc:creator>Script Artists &#124; Was sind Frameworks?</dc:creator>
		<pubDate>Wed, 04 Jul 2007 21:07:13 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-195649</guid>
		<description>[...] Flummoxed By Frameworks von Eric Meyer und Framework fanatics von Wilson Miner        &#171; Ajax-Tutorial [...]</description>
		<content:encoded><![CDATA[<p>[...] Flummoxed By Frameworks von Eric Meyer und Framework fanatics von Wilson Miner        &laquo; Ajax-Tutorial [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-74498</link>
		<dc:creator>Andy</dc:creator>
		<pubDate>Tue, 05 Dec 2006 14:06:43 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-74498</guid>
		<description>Add my name to the loooong list of me-too&#039;s here.

I love Spyce ( http://spyce.sourceforge.net ), it gives you the rapid development advantages of a very high level scripting language, but still retains the full control that comes with using a programming langauge and not a framework.

Used wisely, custom tags should give you a lot of the same rapid development speed of frameworks but without compromising control.</description>
		<content:encoded><![CDATA[<p>Add my name to the loooong list of me-too&#8217;s here.</p>
<p>I love Spyce ( <a href="http://spyce.sourceforge.net" rel="nofollow">http://spyce.sourceforge.net</a> ), it gives you the rapid development advantages of a very high level scripting language, but still retains the full control that comes with using a programming langauge and not a framework.</p>
<p>Used wisely, custom tags should give you a lot of the same rapid development speed of frameworks but without compromising control.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Guerin</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-47491</link>
		<dc:creator>Eric Guerin</dc:creator>
		<pubDate>Fri, 01 Sep 2006 04:46:25 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-47491</guid>
		<description>Josh wrote...
&lt;blockquote&gt;
As for Cake? PHP is awful for anything large-scale (or of nearly any scale, really) and I wouldn&quot;t even bother trying to understand it.&lt;/blockquote&gt;

If it&#039;s such a bad language for large-scale applications, why is it, Yahoo, IBM and many other companies use it.  When a major myspace style app went from JAVA to PHP, they fixed the scalability issues they couldn&#039;t seem to get right with Java.  

Since you&#039;re a JAVA guy, you shouldn&#039;t obviously be posting about how bad PHP is, since you&#039;re not using the language and tend to be biased.</description>
		<content:encoded><![CDATA[<p>Josh wrote&#8230;</p>
<blockquote><p>
As for Cake? PHP is awful for anything large-scale (or of nearly any scale, really) and I wouldn&#8221;t even bother trying to understand it.</p></blockquote>
<p>If it&#8217;s such a bad language for large-scale applications, why is it, Yahoo, IBM and many other companies use it.  When a major myspace style app went from JAVA to PHP, they fixed the scalability issues they couldn&#8217;t seem to get right with Java.  </p>
<p>Since you&#8217;re a JAVA guy, you shouldn&#8217;t obviously be posting about how bad PHP is, since you&#8217;re not using the language and tend to be biased.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SyntheticRabbit: Blog &#62; Rabbit on Rails</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-38286</link>
		<dc:creator>SyntheticRabbit: Blog &#62; Rabbit on Rails</dc:creator>
		<pubDate>Sat, 01 Jul 2006 23:24:07 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-38286</guid>
		<description>[...] I think that having these things forced on me will help me in my mindset for programming in other languages as well. I&#8217;m still in the process of learning the most basic CRUD tasks in Rails, and I definitely share Eric&#8217;s feelings on the matter. [...]</description>
		<content:encoded><![CDATA[<p>[...] I think that having these things forced on me will help me in my mindset for programming in other languages as well. I&#8217;m still in the process of learning the most basic CRUD tasks in Rails, and I definitely share Eric&#8217;s feelings on the matter. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-35775</link>
		<dc:creator>Mike</dc:creator>
		<pubDate>Thu, 08 Jun 2006 00:16:20 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-35775</guid>
		<description>I take my hat off to &lt;a href=&quot;#comment-28449&quot; rel=&quot;nofollow&quot;&gt;Ben&lt;/a&gt; fro hitting the nail on the head. I&#039;m a PHP programmer (whose first love is Python BTW) and I&#039;m tired of re-jigging the same old apps in ever-so-slightly different ways to suit the needs of customers. I don&#039;t neccessarily want frameworks, but I &lt;em&gt;need&lt;/em&gt; them to stop me going completely mad.

A nod also to &lt;a href=&quot;#comment-27309&quot; rel=&quot;nofollow&quot;&gt;James Bennett&lt;/a&gt; for commentary on Django and it&#039;s documentation (yes, I &lt;em&gt;might&lt;/em&gt; just go with with Django over all of the other frameworks). 

In response to James&#039; &lt;blockquote cite=&quot;James Bennet&quot;&gt;What is new, what&quot;s driving all this sudden interest...&lt;/blockquote&gt; I think the answer is Web2.0, or more precisely (and without the cruft), that web programming is struggling towards it&#039;s second generation. Maybe the pundits think that we&#039;re somewhere beyond Web2G already, but that&#039;s simply not true. Developing for the web demands that we integrate the needs of graphic designers (with little or no knowledge of &lt;em&gt;web&lt;/em&gt; design), as well as end users and clients across multiple platforms and programming languages; to a degree not seen in traditional software development. Our customers need it now. They need it to meet their expectations. But more importantly they need it delivered to a timescale and cost budget that competes in the same market as their web-host (all you can host for £0.33 per month).

Getting the job done does, or very shortly will, demand that you deliver cleaner, more secure code, on tighter deadlines, and at lower cost than ever before. The payoff for coders, if they pick the right tools for the job, are more time spent on &lt;em&gt;really&lt;/em&gt; developing instead of re-hashing the same code over and over.

Frameworks are, in my view, the (sometimes painful) attempts of the coder-designer-customer triangle to evolve into a second-generation of web-development.

Realistically we&#039;re not quite there yet, but I have a feeling that in a couple of years frameworks will become the next generation of web coding. Ubiquitous. Removing the need to generate all code manually, and with much more flexibility than we see now.

Maybe this is pure BS, but it might happen. That&#039;s the joy of being a programmer - what comes next!</description>
		<content:encoded><![CDATA[<p>I take my hat off to <a href="#comment-28449" rel="nofollow">Ben</a> fro hitting the nail on the head. I&#8217;m a PHP programmer (whose first love is Python BTW) and I&#8217;m tired of re-jigging the same old apps in ever-so-slightly different ways to suit the needs of customers. I don&#8217;t neccessarily want frameworks, but I <em>need</em> them to stop me going completely mad.</p>
<p>A nod also to <a href="#comment-27309" rel="nofollow">James Bennett</a> for commentary on Django and it&#8217;s documentation (yes, I <em>might</em> just go with with Django over all of the other frameworks). </p>
<p>In response to James&#8217;<br />
<blockquote cite="James Bennet">What is new, what&#8221;s driving all this sudden interest&#8230;</p></blockquote>
<p> I think the answer is Web2.0, or more precisely (and without the cruft), that web programming is struggling towards it&#8217;s second generation. Maybe the pundits think that we&#8217;re somewhere beyond Web2G already, but that&#8217;s simply not true. Developing for the web demands that we integrate the needs of graphic designers (with little or no knowledge of <em>web</em> design), as well as end users and clients across multiple platforms and programming languages; to a degree not seen in traditional software development. Our customers need it now. They need it to meet their expectations. But more importantly they need it delivered to a timescale and cost budget that competes in the same market as their web-host (all you can host for £0.33 per month).</p>
<p>Getting the job done does, or very shortly will, demand that you deliver cleaner, more secure code, on tighter deadlines, and at lower cost than ever before. The payoff for coders, if they pick the right tools for the job, are more time spent on <em>really</em> developing instead of re-hashing the same code over and over.</p>
<p>Frameworks are, in my view, the (sometimes painful) attempts of the coder-designer-customer triangle to evolve into a second-generation of web-development.</p>
<p>Realistically we&#8217;re not quite there yet, but I have a feeling that in a couple of years frameworks will become the next generation of web coding. Ubiquitous. Removing the need to generate all code manually, and with much more flexibility than we see now.</p>
<p>Maybe this is pure BS, but it might happen. That&#8217;s the joy of being a programmer &#8211; what comes next!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: WD Milner</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-35419</link>
		<dc:creator>WD Milner</dc:creator>
		<pubDate>Mon, 05 Jun 2006 00:02:25 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-35419</guid>
		<description>Clipper - blast from the past. It sure beat straight dBase :) How about Clarion? and Prolog? :)

Seriously I have some of the same complaints with frameworks. The thing is that, at least in my case, it really isn&#039;t a problem with the frameworks themselves so much, as it is with their accompanying documentation which is written to a large extent as if you already know  1) how to use it, 2) its inner workings and 3) oh yes you need t do &lt;i&gt;this&lt;/i&gt; first, etc. I have found this to be increasingly the case since (and call me old fashioned if you will) the demise of printed documentation and manuals. For example the last incarnation of Borland&#039;s PASCAL product came with about 10 printed manuals. It was easy to find things, they were readily cross referenced and could be plunked (several if necessary) open on a desk for easy reference. They disappeared to reduce costs/price (though notice prices didn&#039;t decrease)

Then again the first programming language I learned over thirty years ago was Ten Statement FORTRAN. :) And as I once had the indescribable experience of having to learn and spend a year using APL via a DECWriter terminal I am in some circles now considered beyond hope. :) And to clinch it I actually LIKE using ADA :)</description>
		<content:encoded><![CDATA[<p>Clipper &#8211; blast from the past. It sure beat straight dBase :) How about Clarion? and Prolog? :)</p>
<p>Seriously I have some of the same complaints with frameworks. The thing is that, at least in my case, it really isn&#8217;t a problem with the frameworks themselves so much, as it is with their accompanying documentation which is written to a large extent as if you already know  1) how to use it, 2) its inner workings and 3) oh yes you need t do <i>this</i> first, etc. I have found this to be increasingly the case since (and call me old fashioned if you will) the demise of printed documentation and manuals. For example the last incarnation of Borland&#8217;s PASCAL product came with about 10 printed manuals. It was easy to find things, they were readily cross referenced and could be plunked (several if necessary) open on a desk for easy reference. They disappeared to reduce costs/price (though notice prices didn&#8217;t decrease)</p>
<p>Then again the first programming language I learned over thirty years ago was Ten Statement FORTRAN. :) And as I once had the indescribable experience of having to learn and spend a year using APL via a DECWriter terminal I am in some circles now considered beyond hope. :) And to clinch it I actually LIKE using ADA :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: XiAP GUI Studio</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-34012</link>
		<dc:creator>XiAP GUI Studio</dc:creator>
		<pubDate>Thu, 25 May 2006 11:46:41 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-34012</guid>
		<description>[...] he online store of my wife is officially opened! Now go buy some teeshirts for your kids ;)Flummoxed By Frameworks Where Eric Meyers has the guts to say outl [...]</description>
		<content:encoded><![CDATA[<p>[...] he online store of my wife is officially opened! Now go buy some teeshirts for your kids ;)Flummoxed By Frameworks Where Eric Meyers has the guts to say outl [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: l i b b y :: m o l i n a</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-30835</link>
		<dc:creator>l i b b y :: m o l i n a</dc:creator>
		<pubDate>Fri, 19 May 2006 22:09:55 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-30835</guid>
		<description>[...] en I get the time. The prevalence of frameworks out there has started some  interesting debate.  	 					 				 					 						This entry was posted 	 [...]</description>
		<content:encoded><![CDATA[<p>[...] en I get the time. The prevalence of frameworks out there has started some  interesting debate.  	</p>
<p> 						This entry was posted<br />
 	 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: l i b b y :: m o l i n a</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-30834</link>
		<dc:creator>l i b b y :: m o l i n a</dc:creator>
		<pubDate>Fri, 19 May 2006 22:08:21 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-30834</guid>
		<description>[...] e.  But my feeling about it, and the prevalence of Frameworks out there has started some  interesting debate.  	 					 				 					 						This ent [...]</description>
		<content:encoded><![CDATA[<p>[...] e.  But my feeling about it, and the prevalence of Frameworks out there has started some  interesting debate.  	</p>
<p> 						This ent [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-30821</link>
		<dc:creator>Paul</dc:creator>
		<pubDate>Fri, 19 May 2006 21:50:56 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-30821</guid>
		<description>Just wanted to pile on to say that #9 expresses it well.

Eric, you mention that you &quot;wrote all of An Event Apart&quot;s registration stuff using PHP and MySQL.&quot; I take this to mean that you did it once. Imagine if you did it three times, or five times, or fifty times -- for different clients, with minor variations. Imagne how sick you&#039;d be of re-implementing the same core features over and over. Your approach would change a little bit with each job, as you discovered better ways to implement certain features. Imagine the nightmare of trying to support all those clients -- each one using a slightly  different snapshot of your learning process.

Now imagine how much you&#039;d appreciate pre-written software that took care of the common pieces for you, allowing you to focus on the variations. That&#039;s what frameworks are about. 
</description>
		<content:encoded><![CDATA[<p>Just wanted to pile on to say that #9 expresses it well.</p>
<p>Eric, you mention that you &#8220;wrote all of An Event Apart&#8221;s registration stuff using PHP and MySQL.&#8221; I take this to mean that you did it once. Imagine if you did it three times, or five times, or fifty times &#8212; for different clients, with minor variations. Imagne how sick you&#8217;d be of re-implementing the same core features over and over. Your approach would change a little bit with each job, as you discovered better ways to implement certain features. Imagine the nightmare of trying to support all those clients &#8212; each one using a slightly  different snapshot of your learning process.</p>
<p>Now imagine how much you&#8217;d appreciate pre-written software that took care of the common pieces for you, allowing you to focus on the variations. That&#8217;s what frameworks are about.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: g.wp.com  &#187; Blog Archive   &#187; Frameworks</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-29097</link>
		<dc:creator>g.wp.com  &#187; Blog Archive   &#187; Frameworks</dc:creator>
		<pubDate>Tue, 16 May 2006 11:43:13 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-29097</guid>
		<description>[...] ndom shit is posted. 		 	 	 	 		 						 				Frameworks 				Eric Meyer has done a brilliant post on frameworks, which I agree with completely.  			 			 			 				About t [...]</description>
		<content:encoded><![CDATA[<p>[...] ndom shit is posted. 		 	 	 	 		 						 				Frameworks 				Eric Meyer has done a brilliant post on frameworks, which I agree with completely.  			 			 			 				About t [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SyntheticRabbit: Blog &#62; Hanso lo (Newsthings 9)</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-29069</link>
		<dc:creator>SyntheticRabbit: Blog &#62; Hanso lo (Newsthings 9)</dc:creator>
		<pubDate>Tue, 16 May 2006 05:55:36 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-29069</guid>
		<description>[...] n to watch Lost anymore. Django gets some love from an otherwise Rails-centric community.  Eric isn&#8217;t convinced. New Superman Returns trailer It turns out that  [...]</description>
		<content:encoded><![CDATA[<p>[...] n to watch Lost anymore. Django gets some love from an otherwise Rails-centric community.  Eric isn&#8217;t convinced. New Superman Returns trailer It turns out that  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mostly Random</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-29056</link>
		<dc:creator>Mostly Random</dc:creator>
		<pubDate>Tue, 16 May 2006 00:27:39 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-29056</guid>
		<description>[...] b apps&#8212;you know, Ruby on Rails, Django and their brethren. Especially recently, with Eric Meyer&#8217;s flumoxing (and it&#8217;s subsequent fix) and Jeff Croft [...]</description>
		<content:encoded><![CDATA[<p>[...] b apps&#8212;you know, Ruby on Rails, Django and their brethren. Especially recently, with Eric Meyer&#8217;s flumoxing (and it&#8217;s subsequent fix) and Jeff Croft [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mel</title>
		<link>http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-29047</link>
		<dc:creator>Mel</dc:creator>
		<pubDate>Mon, 15 May 2006 22:27:36 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/eric/thoughts/2006/05/08/flummoxed-by-frameworks/#comment-29047</guid>
		<description>I don&#039;t know why all these programmers under 62 think they need anythin other than assembler. i mean, what good is a what&#039;s it called -- &quot;WINDOW&quot; -- or a &quot;TEXT BOX&quot; if I don&#039;t know how it painted to the screen? I mean, what if I need to make every other pixel in the title bar a different color?

These people that use &quot;OPERATIN SYSTUMS&quot; er &quot;GOOEY TOOLKITS&quot; are too slimy by half. Give me an awl and some cardboard and I&#039;ll give you a calculator program that&#039;ll outperform his GOOEY web based spreadsheet ANY TIME OF THE DAY.

Byte Me,
Mel (you should read my story)</description>
		<content:encoded><![CDATA[<p>I don&#8217;t know why all these programmers under 62 think they need anythin other than assembler. i mean, what good is a what&#8217;s it called &#8212; &#8220;WINDOW&#8221; &#8212; or a &#8220;TEXT BOX&#8221; if I don&#8217;t know how it painted to the screen? I mean, what if I need to make every other pixel in the title bar a different color?</p>
<p>These people that use &#8220;OPERATIN SYSTUMS&#8221; er &#8220;GOOEY TOOLKITS&#8221; are too slimy by half. Give me an awl and some cardboard and I&#8217;ll give you a calculator program that&#8217;ll outperform his GOOEY web based spreadsheet ANY TIME OF THE DAY.</p>
<p>Byte Me,<br />
Mel (you should read my story)</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/08/flummoxed-by-frameworks/" rel="bookmark" title="Permanent Link: Flummoxed By Frameworks">Flummoxed By Frameworks</a></h3>
<ul class="meta">
<li class="date">Mon 8 May 2006</li>
<li class="time">0805</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/08/flummoxed-by-frameworks/#comments">117 responses</a></li>
<li></li><li></li></ul>

<div class="text">
<p>
I used to be a programmer.  Way back in the day, I wrote great big heaps of BASIC and Turbo PASCAL 4.5 and worked in a few other languages of that era (I may be one of the few people left who remembers Clipper).  At one point, a high school friend and I worked on creating our own command-line environment for the <abbr title="Commodore 64">C64</abbr>, for no other reason than it seemed like a fun challenge.  I&#8217;ve written quite a bit of JavaScript&#8212;not like a wizard, but well enough to get some things done&#8212;and a fair amount of PHP.  These are languages that I understand, that make sense to me.  I can make them do what I want to do.
</p>
<p>
But I just don&#8217;t get all these new-fangled programming frameworks.  Is something wrong with me?  Seriously.  I have this grumpy, churlish feeling that I suspect is rather similar to the way SGML experts felt when they saw HTML becoming so popular, and that scares me.
</p>
<p>
People who&#8217;ve drunk the various kinds of framework kool-aid don&#8217;t make it any easier, though.  &#8220;Oh&#8221;, they gush, &#8220;you should absolutely try Ruby on Rails!  It&#8217;s so easy!  It&#8217;s almost like writing regular English!&#8221;  Which means they&#8217;re clearly on crack, because Ruby on Rails is so very different from a human-written language that the few ways in which it sort of resembles prose, assuming you look at it under a dim light through a heavily fractured fresnel lens, serve only to confuse me further.  I have many of the same problems with MySQL, actually:  by dint of its being sort of human-like in its syntax, I&#8217;m led into all kinds of incorrect assumptions about what I can do.  Thus I spend a lot more time screaming at opaque error messages than seems necessary, just because I thought a comma made sense when the language didn&#8217;t.
</p>
<p>
I&#8217;ve looked at all kinds of different intros and tutorials and &#8220;for regular folks&#8221; resources, most of which I get from <a href="http://simon.incutio.com/" rel="acquaintance colleague met">Simon</a>&#8217;s linkblog, for a number of different frameworks.  They serve only to confuse me.  The <a href="http://manual.cakephp.org/chapter/17">CakePHP 15-minute blog tutorial</a>?  Didn&#8217;t get it, and remember, I can write PHP relatively well (I wrote all of <a href="http://aneventapart.com/">An Event Apart</a>&#8217;s registration stuff using PHP and MySQL, for example).  The oft-recommended <a href="http://wiki.rubyonrails.com/rails/pages/Tutorial">Tutorial in Ruby on Rails</a>?  Lost me, Coach.  Even Jeff Croft&#8217;s <a href="http://www2.jeffcroft.com/2006/may/02/django-non-programmers/">Django for Non-Programmers</a> left me in the dust.
</p>
<p>
All these frameworks&#8217; proponents say &#8220;Just write in this totally simple and obvious way and the messy details will be magically handled for you!&#8221; but that&#8217;s just not how it works.  You have to write in a very specific and unintuitive way, and unless you know specific magic words and what roles they can take then nothing will happen except the return of an error message.  This is no different than any computer language, of course.  What I think bothers me is that the cheerleaders always seem to believe, or at least pretend, otherwise.
</p>
<p>
Maybe it&#8217;s just that the tutorials never seem to clearly state what&#8217;s a piece of built-in magic that I&#8217;ll learn about later, what&#8217;s something that I&#8217;m building myself, or whatever.  I mean, look partway through Jeff&#8217;s Django piece.  I don&#8217;t mean to pick on Jeff, because he&#8217;s not doing anything worse or even different from the other stuff I&#8217;ve read; it&#8217;s just the one I happened to read most recently.  Anyway, he says, and I quote:
</p>
<blockquote>
<p>
These four lines create a very pretty admin area&#8230;. with appropriate entry fields for all of your fields.  The &#8220;pub_date&#8221; field will automatically get a pop-up calendar for choosing a date. The &#8220;enable_comments&#8221; field automatically knows to use radio buttons for its interface. The &#8220;lead_image&#8221; field will be a browser-based upload tool. Et-cetera. Without doing a thing, you&#8217;ll get an admin interface the likes of this&#8230;
</p>
</blockquote>
<p>
That whole interface just magically happens?  How and why?  Is it part of the Django core?  Why?  Is it useful for other stuff besides what we&#8217;re doing here?  How?  Did all this happen based on the class I created, or the variables I defined, or the values I gave them?  How can I tell?  Where can I find a list of the magic things?  How can I re-use them; or, put another way, how far will the magic things stretch?
</p>
<p>
I feel like there&#8217;s some very basic, fundamental, obvious thing that I&#8217;m missing, but I don&#8217;t even have the necessary level of knowledge to frame the right question.  Or questions.  See?  I don&#8217;t even know how little I know.  Is it that I spent too much time doing old-style programming, and so I&#8217;m too suspicious of anything I didn&#8217;t write myself?  (In which case you&#8217;d think I&#8217;d be an assembly-language kind of guy, but I&#8217;m not.  At <em>all</em>.)  Is it that for years I taught myself programming languages using reference manuals, so I need that kind of function listing before my mind will start to absorb a new language?  Is it just that I&#8217;m too old now and my mind isn&#8217;t sufficiently elastic to take in radically new concepts?
</p>
<p>
Basically, my nose is telling me that I&#8217;m up a putrescent watercourse and I lack a means of locomotion.  Maybe I&#8217;m not alone there, but sometimes it sure seems like it.
</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>Looks like CNN has decided to keep up with the Foxes by trying to adopt its own pet political third party. <small>&#8211;tweeted 6 hours, 35 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://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>
<li><a href="http://morsecode.scphillips.com/jtranslator.html" title="January 22 | &#8211; &#8230;. .. &#8230; / .. &#8230; / .- .&#8211; . &#8230; &#8212; &#8212; . / -. &#8212; / &#8230; . .-. .. &#8212; ..- &#8230; .-.. -.&#8211;">Morse Code Translator</a></li>
<li><a href="http://bengoldacre.posterous.com/did-aliens-play-a-role-in-woolworths" title="January 19 | I think the answer is clear to any who have the courage to see it.">Did aliens play a role in Woolworths?</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>seasonal packet migrations</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>
