Apple’s “App Store”. Google’s “Chrome Extensions”. Firefox’s “Add-ons” and “Plugins”. The galaxy of technical terminology for internet users grows on, and I increasingly find myself much behind the times as I struggle to follow friends’ discussions on the latest, newest, best, and most awesome gadgets and their tech specs. Admittedly, there’s a kind of beauty to these new words. Many of them aren’t very old, and owe their beginnings to the advent of the explosion in technology that has brought us programming languages, the computer, and the internet browser.

In my own browsing experience, three words are used almost interchangeably all across the web: application, extension, and plug-in. Their definitions and correct usage have kept me wondering for much, much too long.

By definition, the term “extension” can refer to the optional addition to a file name, typically some kind of suffix in the form “.xxx”, where “xxx” represent some combination of alphanumeric characters. This is typically dependent on the operating system of whatever you’re using—for example, Windows 3.1 could only handle file extensions with no more than three characters, though Windows 95 and later additions can handle more. This kind of extension allows the computer to describe and recognize the format of any file relatively quickly. File extensions also help applications decipher whether they can work with a certain file.

Alternatively, an extension can also refer to a file containing programming (i.e., instructions for the computer), that serves to extend the capabilities of or data available to a program. Sometimes, these extensions are stored in separate files for easy access by the programs, and a user is prompted to involve him/herself in the installation of these software-augmentations.

An application program (often simply called an “application”) is a program designed to perform a specific function directly for an end user or another application program. Common examples include word processors, database programs, development tools, image editing programs, and communication programs (think M.S.N., or Skype). They use the services of a computer’s operating program, sometimes in conjunction with other supporting programs to complete the tasks determined by their user.

A “plug-in” can refer to either a piece of hardware, or software that adds a specific feature or service to a larger system. Ideally, this new component simply plugs in to the existing system to enable additional, specific features that otherwise would not be available to a user, such as processing a special type of data. In fact, in the earliest days of the World Wide Web, plug-ins were invented to augment the capabilities of early HTML (stands for “Hyper Text Markup Language”; used to write web pages) to deliver more interactive content. Today, plug-ins continue to enhance the online experience for users by allowing video, or interactive content. Think of plug-ins as toppings on the system-pizza. Without toppings, this pizza would be bland, and unappetizing. But with some mushroom, grilled chicken, and green pepper-plugins, the otherwise insipid pizza is magically transformed into a scrumptious array of delectable tastes and smells, easily customized for any palate.

**To clarify, a program is a list of instructions that, upon execution, causes the computer to behave in a predetermined manner. Much like a recipe, a program contains “ingredients” (called variables), and lists of directions (called statements) that instruct a computer what to do with which pieces of in formation. Programs can be written in different “languages” (called programming languages) such as C, BASIC, COBOL, FORTRAN, LISP, and Pascal. Programming languages are further broken down into “low-level languages” (languages consisting mostly of numbers, and generally difficult/unreadable to a typical human), and “high-level languages” (languages slightly closer in resemblance to human tongues).