Over the my years as a systems administrator, engineer and architect, I have run into may situations where scripting a solution to a problem was necessary. The majority of the time, I turn to Python to get things done. I have been using Python for as long as I can remember, and since it is a multi-platform tool, it really helps me by consolidating my effort to one language that will work across all of the operating systems that I work with. Python is a very powerful and flexible language, and I highly recommend it to anyone who is a novice to programming or veterans who want to extend their skill set and develop more rapidly. You can find out more about Python by visiting http://www.python.org
Recently, I came across a project that involved some web development, and being the Python user that I am, I wanted to see if I could use Python instead of PHP or Perl. I was elated to find out that there were indeed some nice frameworks available for web development using Python.
I have been involved in the 'web' part of IT for longer than a decade now, and I almost always used LAMP (Linux Apache MySQL PHP) to bring dynamic websites online. As much as I like PHP, I wanted to develop more rapidly, and I knew a few colleagues who were using Ruby via Ruby on Rails to rapidly develop large scalable websites and web-based applications. After reading through some Ruby documentation, I saw many similarities between Ruby and Python. This led me to search for a Python based web framework similar to Rails.
I found two frameworks that seem to be vying for the top spot - TurboGears and Django. Each have their advantages and disadvantages, but after all was said and done, I decided to go with Django. Django has more documentation readily available, and it seems like the Django project is moving along quite well. This was important to me because I did not want to implement a project on a framework that would become obsolete next month. This is not to detract anything from TurboGears, I just felt that Django fit my style better.
I have been using Python/Django now for a few weeks and I am really impressed with it. I love how all of the SQL calls and mundane coding tasks that I had to do with PHP have been abstracted away, leaving the 'fun' part of development all to me. I highly recommend the Python/Django stack to anyone who wants to rapidly develop web applications. You can find out more about Django at http://www.djangoproject.com/
Being that Python and Django are both cross-platform and that Apache and MySQL are also cross-platform, everyone can use these tools, regardless of operating system. True multi-platform availability is the greatest advantage of any development framework as far as I am concerned. Being that I work with Linux and Windows environments most of the time, I am glad that I can apply solutions across each without worrying about compatibility.
After talking to my colleagues about Ruby on Rails, I will probably be tinkering around with RoR over the next few weeks. I'll be sure to talk about my experiences with RoR on here as soon as I get a chance. If you have any information that may be helpful to others regarding Python/Django, please leave comments.