This is for lionb who hates religion topics.
What is your favorite programming language and/or programming tool/package/library/language feature? Put simply, what do you enjoy using when you are programming? Do you have any pet projects you're tinkering with?
My favorite language is Python. There are tons of modules available for it, many of which are simply amazing. PIL (image manipulation), cx_Oracle (Oracle database connectivity), ReportLab (PDF generation), pyRXP (XML to Python native datatype converter) are among my favorites to work with.
Some of the best features of Python, IMO, are dynamic introspection (looking up members/methods at runtime), iterators (make any class act as an array in a "for each" style loop), and generators (make any class act as an iterator where the elements aren't generated until they are needed).
I really like the look of the Eclipse IDE from IBM, but the plugins available for Python are in very minimal early stages right now.
I've been hacking a module together in Python for working with Oracle databases. It uses cx_Oracle (mentioned above) for connections and cursors and that, but adds flexibility and object-oriented syntax to data manipulation. It uses the features I mentioned above to, for example, look up table names at runtime when they are referred to. Let's say my Oracle database has a table named EMPLOYEES in a schema named HR. You could get all the employee data like this using my module:
>>> import ORADB
>>> db = ORADB.Database("userid/password@database")
>>> for employee in db.hr.employees:
... print employee.id, employee.last_name + ', ' + employee.first_name
That's it! The module knows nothing about the database structure until you ask for things using dot-notation.