Programming Tools

We have diligently chosen the programming tools to complete our tasks in the most efficient and reliable manner. For our development, we use Eclipse PDT as our coding tool, which enhances our productivity. We rely on debugging tools such as XDebug and Firebug to quickly identify and eliminate errors in our code. We version control our work using source code version control platforms such as Subversion and Git, which enable collaborative and iterative development, while facilitating easy updates of websites as well.

Eclipse: The Eclipse Platform is the foundation for constructing and running integrated end-to-end software development tools. It is an Integrated Development Environment (IDE) which offers various features such as color-coding, code hints, error check, intelligent re-factoring, flexibility to organise codes and so on.

Xdebug: Xdebug is a graphical debugger which can index and browse code, readily display complex data structures in human-readable form, and simultaneously display program state, such as the call stack, intermediate output, and the values of all variables. Using Xdebug, we can setup breakpoints in the code and step thru those breakpoints while the code executes in debug mode. This way, we can identify the exact location where the code starts to deviate from expected behavior, and apply our corrections to that location.

Firebug: Firebug is free and open source web development tool that facilitates debugging, editing and monitoring of any website's CSS, HTML, DOM and JavaScript. Its Javascript console helps in monitoring the ajax requests and responses, as well as to manually invoke a test code.

Subversion / Git: These are version control platforms that rely on code repositories to maintain various versions of a fileset. The development team members update a common repository with their changes, and also update their working versions using the common repository. This way, the code is synchronized between all members of a team. Conflicts, if any, are auto-merged on most occassions, failing which, we do manual conflict resolutions. These tools also enable us to update websites with the latest changes, by running just a few terminal commands.

We have standardized on Ubuntu (Linux) operating system for all our development workstations in view of its security, developer-friendliess and the extensive online information available on it. Also, our comfort on the Linux shell comes handy while administering web hosts, which are mostly based on Linux.