<story><title>Why PHP Is Fun and Easy But Python Is Marriage Material</title><url>http://onstartups.com/tabid/3339/bid/20493/Why-PHP-Is-Fun-and-Easy-But-Python-Is-Marriage-Material.aspx</url></story><parent_chain><item><author>rick888</author><text>&quot;The learning curve these days is not a new language (it takes a proficient programmer just a few days to get her arms around the basics of a new language).  The learning curve is with the framework.&quot;&lt;p&gt;This is my main problem with this line of thinking.  Developers aren&apos;t actually developing anymore.  They are mashing together frameworks.&lt;p&gt;I&apos;ve looked into frameworks like Django.  It&apos;s not good because it abstracts away the functionality of the database.  It&apos;s nice that everything is an object, but if you want to do something more complex and go around the framework, things get messy and start to feel hackish.&lt;p&gt;I am a PHP developer and I generally don&apos;t use a PHP framework.  I have my own set of classes that I wrote (and improve on).  I have also used the smarty template engine in the past, which works really well for keeping HTML separated from the actual code (and it has built-in caching).  Jquery is also great for the front-end.&lt;p&gt;I started development with pascal, then moved to c/c++, and finally PHP.  I like PHP because it is a high-level enough language that makes development easy, yet it&apos;s still powerful enough to allow for complexity and lower-level functionality.  The c-style syntax doesn&apos;t hurt either.&lt;p&gt;PHP 4 and below had many security issues (what were they thinking with register_globals?), but 5.1+ has made some major changes.</text></item></parent_chain><comment><author>dasil003</author><text>&amp;#62; &lt;i&gt;This is my main problem with this line of thinking. Developers aren&apos;t actually developing anymore. They are mashing together frameworks.&lt;/i&gt;&lt;p&gt;Usually you have one framework and then you mash together a bunch of libraries.  The framework exists as a way to abstract the most common functionality of your chosen platform.  A good framework eliminates a lot of boilerplate without getting in your way when you need to go beyond the common functionality.&lt;p&gt;The ironic thing about your post is that PHP itself has a bit of a nascent framework quality to it.  It was developed before web frameworks of course, at a time when everyone was writing Perl CGI scripts using a bunch of libraries.  The revolutionary aspect of PHP and mod_php in particular, was that it had automatic hooks into all the common aspects of the HTTP cycle, including the page metaphor, which meant you could change a static page into a dynamic page with no effort. PHP was state of the art when websites were mostly still just pages.  Serious programmers laughed of course, how could you build a serious application in this glorified templating language?  So they continued to develop their &quot;proper&quot; frameworks like Struts, Zope and countless others rooted in the experience of GUI developers from ages past.&lt;p&gt;However as web development experience and understanding matured, there was a widening gap between PHP and the enterprise frameworks.  And this gap is squarely where Rails was dropped in 2004.  There are so many things that are common to all web applications that PHP doesn&apos;t handle.  DHH&apos;s brilliance was not so much in the details of the original Rails code, but in picking and choosing best practices and unifying them in one package in a minimal way.  I think this was instrumental in web framework developers from all languages re-evaluating what was really necessary and what cruft could be eliminated.&lt;p&gt;Nowadays Rails is pretty enterprisey in capability, but it still avoids most of the overhead present in enterprise frameworks of 10 years ago.  The minimalist torch has been carried forward by upstarts such as Merb and now Sinatra.&lt;p&gt;The strength of these various frameworks is that they do things that tens of thousands of developers need to do every day in a standardized way that&apos;s had massive input and refinement over time.  When you use these frameworks you can hire people and they hit the ground running.  When you use your own personal library then every new developer has to get up to speed on your dime, and you foot the bill of maintenance yourself rather than gaining the advantage of a large open-source community.</text></comment>
<story><title>Why PHP Is Fun and Easy But Python Is Marriage Material</title><url>http://onstartups.com/tabid/3339/bid/20493/Why-PHP-Is-Fun-and-Easy-But-Python-Is-Marriage-Material.aspx</url></story><parent_chain><item><author>rick888</author><text>&quot;The learning curve these days is not a new language (it takes a proficient programmer just a few days to get her arms around the basics of a new language).  The learning curve is with the framework.&quot;&lt;p&gt;This is my main problem with this line of thinking.  Developers aren&apos;t actually developing anymore.  They are mashing together frameworks.&lt;p&gt;I&apos;ve looked into frameworks like Django.  It&apos;s not good because it abstracts away the functionality of the database.  It&apos;s nice that everything is an object, but if you want to do something more complex and go around the framework, things get messy and start to feel hackish.&lt;p&gt;I am a PHP developer and I generally don&apos;t use a PHP framework.  I have my own set of classes that I wrote (and improve on).  I have also used the smarty template engine in the past, which works really well for keeping HTML separated from the actual code (and it has built-in caching).  Jquery is also great for the front-end.&lt;p&gt;I started development with pascal, then moved to c/c++, and finally PHP.  I like PHP because it is a high-level enough language that makes development easy, yet it&apos;s still powerful enough to allow for complexity and lower-level functionality.  The c-style syntax doesn&apos;t hurt either.&lt;p&gt;PHP 4 and below had many security issues (what were they thinking with register_globals?), but 5.1+ has made some major changes.</text></item></parent_chain><comment><author>commanda</author><text>You say you don&apos;t believe that mashing together frameworks is actual development, yet you recommend the jQuery framework for front-end coding.  Do you draw a distinction between front-end and back-end - is front-end work not really development?&lt;p&gt;In my experience, the time it takes to become proficient with an existing framework is generally a lot shorter than writing a framework yourself. And, generally, the existing one will have been vetted by thousands of people before me.</text></comment>