I think the significant attributes of most programming languages are adequately summarized here: http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html ________________________________________ From: Code for Libraries [[log in to unmask]] on behalf of William Sexton [[log in to unmask]] Sent: Friday, October 29, 2010 7:24 AM To: [log in to unmask] Subject: Re: [CODE4LIB] PHP vs. Python [was: Re: Django] I use Python and Django extensively, and think they're both great. That said, also great is the very funny keynote by former flickr engineer Cal Henderson at DjangoCon 2008, titled "Why I Hate Django," which is on YouTube: http://www.youtube.com/watch?v=i6Fr65PFqfk When he showed the slide I had to admit that the statement "-".join(array) is kind of a goofy way to do that, though maybe not "unforgivable." Whenever I use join() now I chuckle a little in my mind. It's good to step back and re-evaluate your favorite tools from time-to-time. If nothing else, the ability to analyze a platform for its suitability to a need is key. Will On Oct 28, 2010, at 9:38 AM, Thomas Bennett wrote: > Having used Zope (python based) as our WEB server of choice since 1998 I am > urged to express my opinion that if you do choose to use python in your > projects then use a service designed for python use such as Zope, Django, et > al. Zope is normally run in front of Apache as a virtual host. > > If you are going to use python then Zope is an excellent choice for > interacting with databases and using python to massage/manipulate results if > you need complex results from the database data. I like that you can write > sql queries just like you might use on the command line and save it as an > individual object for use by any number of other objects. > > What may be a simple example to some is a tutorial quiz I wrote for the WEB. > There are categories and each category has any number of questions along with > the answers in the database. In the management portion, the administrator can > choose which categories are active and how many questions out of the total > available to pull from each category individually. When the quiz page is > generated the correct number of questions are pulled randomly from the total > active questions for each category, some questions can be set as inactive. > > There are "database connectors" for PostgreSQL, MySQL, Oracle, odbc, and > others so you can choose any popular db or write your own connector. And > there are python libraries written for these databases which prove very > useful. > > The main thing I like about python is that the syntax pretty much forces your > code to be readable by others because indention is part of the syntax rather > than semicolons, parens, etc. > > I don't know PHP in detail but am learning more quickly because the University > is "forcing" all departments to move to Drupal and we will be running our site > on Drupal within a year probably although some administrative tasks will still > be running on our Zope server. > > Thomas > > ps: remember my point is that "IF" you choose to use python this supports its > use with databases and scripting. > > > > > > On Wednesday 27 October 2010 20:49:06 you wrote: >> Olá, como vai? >> >> Luciano Ramalho <[log in to unmask]> wrote: >>> Actually, Python is a general purpose programming language. It was not >>> created specifically for server side scripting like PHP was. But it is >>> very suitable to that task. >> >> I'm not sure talking about what something used to be is as interesting >> as talking about what it is. Both Pyhton and PHP can share whatever >> moniker we choose (scripting-language, programming language, >> real-time, half-time, bytecoded, virtual, etc.). >> >>>> Not seen any scientific packages, but I've seen a few ray-tracers, >>>> although they're all demo apps and fun toys (although I think that >>>> applies to Python, too). >>> >>> No, that does not apply to Python. Python is widely used for hardcore >>> scientific computing. >> >> I was referring to the ray-tracing part. >> >>> It is also the most important scripting language in large scale CGI >>> settings >> >> Yes, Python is widely used for scripting up interfaces into other more >> complex systems. But rarely is the core of the thing written entirely >> in Python. >> >>>> Maybe your Google-foo is weak. :) >>> >>> Or maybe he's just realizing that outside of server side web >>> scripting, PHP is just not so widely used. >> >> Absolutely, and fair enough. >> >>> Having used both languages, I discovered that Python is easier for >>> most tasks, and one reason is that the libraries that come with Python >>> are extremely robust, well tested and consistent. >> >> Hmm. PHP is extremely robust and well-tested, but yes, it's not all >> that consistent, especially not before version 5.2+. However, things >> have moved on, and with release 6 around the corner things will be >> tighter still. Just like the first versions of Python were >> interesting, so was PHP's, but where the biggest problem with the >> evolution of PHP was the very fact that it was the most popular >> language for rapid web development by far. >> >>> PHP is very >>> practical for server-side web scripting, but it's libraries are >>> unfortunately full of gotchas, traps and unexpected behaviour. >> >> There's gotchas in every language, even Python. >> >>> A key reason for that is the fact that Python has always had an >>> exception-handling mechanism while PHP has grown something like that >>> only a few years ago >> >> True enough. But earlier versions of any language are less desirable >> than the latest versions, so I'm not sure this is a prevailing >> argument for the horribleness of PHP or any language. These things >> evolve. PHP 5.3+ and soon 6 are looking very good, indeed, but yes, we >> will just have to live with a poor reputation brought on by the big >> number of users and the pre 5.2+ era. >> >>> So, I my opinion, PHP is great at what it does best: enabling quick >>> server-side Web scripting on almost any hosting service on Earth. >> >> I'm fairly sure you can say that because you haven't done much other >> kind of PHP work. :) >> >>> For everything else, it is very worthwhile to learn and use a general >>> purpose dynamic language such as Python, Ruby or Perl. >> >> Of course. Developers should learn many of languages, and choose >> wisely the language best suited to the problem at hand. >> >>> Sorry for the rant. I must confess I am a founder of the Brazilian >>> Python Association and was its first president, so you can call me a >>> Python advocate. >> >> No bias at all, really. :) >> >> >> Kind regards, >> >> Alex >> > > -- > ========================================== > Thomas McMillan Grant Bennett Appalachian State University > Operations & Systems Analyst P O Box 32026 > University Library Boone, North Carolina 28608 > (828) 262 6587 > > Library Systems Help Desk: https://www.library.appstate.edu/help/ > ==========================================