Linux Apache MySQL Python (LAMP)ΒΆ

The O’Reilly-sponsored ON-LAMP (Linux, Apache, MySQL, Python/PHP/Perl) is an acknowledgement of the power of open-source applications and tools.

While I know Tcl and PERL quite well, Python has advantages over both of these. First, Python is object-oriented. Of course, this can be bypassed through bad design. However, Tcl requires some serious work to be made object-oriented. Perl can be object-oriented, but it is difficult to get past the syntax. Perl suffers from an extreme case of MTOWTDI (“More Than One Way To Do It”), where there are not only several alternatives, but none that can be definitely called “the right way.”

Additionally, Python has advantages over Java and C++. The most notable advantage is the freedom from static bindings. Many people assert that compile-time static binding is the only thing that prevents total anarchy in the software engineering world. I think this is not completely true, my experience is that some programmers are stumped by static binding and work around it with simple-minded type casting where an overloaded function declaration would have been more appropriate. Also, the prevalent use of RTTI (Run Time Type Identification) indicates that not everyone can design static type bindings that cover the necessary cases.

I was a big fan of the ZOPE content management product. This is almost entirely written in Python, and demonstrates the strength of the language very elengantly. I don’t use this anymore, however.

I’m an even bigger fan of Django. This is an elegant, sophisticated do-everything web framework.

version:2
date:5/3/08

Previous topic

Professional Organizations

Next topic

Date Algorithms