I've been programming professionally since 1997 and I've used a wide variety of languages in a wide variety of contexts.
I seem to use new languages all of the time and what's key in becoming productive as fast as possible is mapping the new language onto my considerable expertise. This allows me to decide where to find additional information and how to apply that information. Here are a few examples:
- Should a given system be refactored, discarded, or grafted onto a new system?
- Is this software written properly? Is the code of good quality? Does documentation need to be improved? Is it using industry standard practices?
- Is code performance a problem? Is this a problem inherent in the language? Can this code be profiled to improve performance?
- I've been using PHP for years and I have about 2000 hours direct experience writing and modifying PHP for use in the Drupal Content Management System.
- An example of my work drives the website I use for my Ironman training (http://ironman.teamchad.ca). If you want to know about a person, see what they code in their spare time.
- The core of this work (6000 lines of PHP, CSS, and JS) was peer-reviewed and approved as a full Drupal project called Garmin Connector.
JavaIt's been several years since I've used Java but when I did I used the following technologies:
- Enterprise Java Beans using the JBoss Application Server
- The NetBeans IDE
- Automation and scripting using Apache Ant