Recreating work from six months ago without
some source code control can be quite difficult. Source code
control, which should be part of any professional programming shop,
provides several important functions: concurrent updates, history,
source code archives, history, and versioning.

Concurrent updates mean that more than one
programmer can work on a code module at a time. When all of the
changes are made, the source code control tool can combine the
changes into the original code.

Source code archiving means that you won’t lose
your code. All of your code for all of your applications is stored
in a central location. If you back up this central location, then
your source code is safe—or at least safer if it’s distributed ad
hoc amongst all of your developers’ workstations.

History refers to the ability of your source
code control to take you back in time in your code. You’ll be able
to see which changes were made by whom and when. This is extremely
helpful if you deploy changes that you need to take out for some

Versioning, which is another form of the
history function, allows you to capture a snapshot in time of all
the code for a specific application or module and give it a name.
You would normally do this when the application is in a working
state, so that you could easily extract a working version of the
application without knowing what changes have been made since

There are plenty of source code control
programs, though CVS is probably the most well known. You can also
find free versions for Windows and *nix systems. Subversion is an
up and coming open source version control system. There are even
commercial options like BitKeeper.

Delivered each Thursday, our free Java newsletter provides insight and hands-on tips you need to unlock the full potential of this programming language. Automatically sign up today!